On Tue, Feb 16, 2021 at 3:45 AM Axel Braun
Hi,
I'm not sure how this dependency generator sets dependencies for subpackages.
I have a package FOO with a subpackage FOO-Special FOO-Special adds some functionality and requires some additional pacakges, that most users of FOO will not need. So it would be a waste of resources if all the additional packages from FOO- Special would be installed with FOO as well.
So do I need to call the macro in each sub-package, or is a single call sufficient?
How can I make sure that all dependencies are detected? From a first test I found at least one that is not fulflled....
Only a single call is required, since it just configures RPM to load the generator for generating Requires. The dependency generator works by locating the Python metadata (dist-info, egg-info, etc.) and reading the dependencies set in there. Those are converted back into pythonX.Ydist(M) dependencies where X.Y represents the Python version it was built against and M is the dependency name. This does not cover non-Python dependencies (which you'd still need to manually specify). Thus, it will generate dependencies on the package that contains the egg-info/dist-info data. In the case where FOO has the metadata and the metadata only specifies the required dependencies, those will be generated there, and FOO-Special will need to have dependencies manually specified. As for identifying which ones are or are not fulfilled, I guess you'd check in the OBS package detail page to see whether the generated names have matching packages that provide those names. -- 真実はいつも一つ!/ Always, there's only one truth!