On 04/04/2016 09:46 AM, Petr Pisar wrote:
On Fri, Apr 01, 2016 at 05:00:14PM +0200, Ralf Corsepius wrote:
> On 04/01/2016 03:46 PM, Petr Pisar wrote:
>> On Fri, Apr 01, 2016 at 12:14:43PM +0200, Petr Pisar wrote:
>>> On Thu, Mar 31, 2016 at 02:43:41PM +0100, Paul Howarth wrote:
>>>> Requires: (perl-generators if perl-libs)
>>>>
>>> That's interesting idea. I only worry there could be cases when the
>>> perl-generators were unnecessarily installed. E.g. you install vim-enhanced,
>>> thus you have perl-libs, and you install rpm-build for building non-perl
>>> packages. Then you will have perl-generators. I'm not sure how much it
>>> would bother people.
>>>
>> One more issue. It would not work if you had a spec file that does not need
>> a perl for building. Spec that only installs a perl script into /usr/bin.
>> I know there are some.
>
> These package should be considered broken.
>
> We require run-time deps to be present as build-deps to make sure these
> packages actually are runable and installable.
>
Oh, really?
Yes.
I know it's good to run tests, but still there are plenty of
packages without tests (covering the perl scipts), so besides knowing we had
all run-time dependencies on build-time, build-requiring them does not have
other benefits.
I wasn't referring to tests in particular.
I was talking about run-time deps, which are required for proper
run-time operation, which are not used at build time and therefore not
explicitly BuildRequired.
Classical example would be a package which installs a perl-script which
is using some arbitrary perl modules to /usr/bin, but doesn't carry
explicit checks for this scripts' requirements nor does a testsuite to
exercise this scripts.
Such kind of run-time package's deps silently (and often unnoticed) get
added additional deps, which either add deps to nonexisting packages or
break if a package is removed from Fedora.
We've had quite a few such cases in Fedora's history. Most common case
is perl packages, which after an package update require further
perl-modules.
Ralf