![](https://seccdn.libravatar.org/avatar/a4139df10120ce151e457fd1faff018d.jpg?s=120&d=mm&r=g)
On 8/28/19 5:50 AM, Martin Wilck wrote:
On Tue, 2019-08-27 at 16:43 +0200, Fabian Vogt wrote:
We need to make a better distinction between run-time and build- time dependencies, so that during build we pull only those dependencies that are really required for building. We mostly create "Requires:" dependencies from the end-user point of view (e.g. user needs audio support when surfing the web, as simotek argued). For the build system, that may lead to exaggerated dependencies. So we'd need something like "Requires(runtimeonly): ...".
All %{name}-devel packages usually require %{name}, so runtime deps are pulled in as dependencies of buildtime deps.
Yes, and this quasi-automatism is perhaps part of the problem? Is it really always necessary that %{name}-devel depends on %{name}?
In C/C++ packages generally its necessary for %{name}-devel to at least require lib%{name} for linking, in the case of python it may not be necessary, however many python packages (and other libraries) provide some unit testing that gets run in the %check stage, to run the unit tests it is likely that many of the %name packages will be required alongside the %name-devel packages. python-qt5 is probably a case where no other packages using python-qt5-devel will be running unit checks that require %name-devel, however, many using UI forms may require libqt5-qttools which requires much of Qt but not webengine. More generally dropping Requires: ${name} from %{name}-devel broadly will probably break a bunch of things, but would also make builds more efficient. -- Simon Lees (Simotek) http://simotek.net Emergency Update Team keybase.io/simotek SUSE Linux Adelaide Australia, UTC+10:30 GPG Fingerprint: 5B87 DB9D 88DC F606 E489 CEC5 0922 C246 02F0 014B -- To unsubscribe, e-mail: opensuse-factory+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-factory+owner@opensuse.org