[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#793404: massive waste of CPU time in debian/rules by inline commands



Hideki Yamane:
> Hi,
> 
> On Thu, 03 Jan 2019 11:11:00 +0000
> Niels Thykier <niels@thykier.net> wrote:
>>  * Migrating to "Rules-Requires-Root: no" where possible.
> 
>  Is there any plan to set "Rules-Requires-Root: no" for default?
>  It seems that most of the packages doesn't require root privilege
>  to be built, so "default no" is better to reduce work, IMHO.
> 
> 

Hi,

I would love to make "Rules-Requires-Root: no" the default and I agree
with you that it is a better default, but I have no plans to
drag/spearhead this effort.


We are very far from being able to flip the default.  There are some
800+ packages that need to be updated to follow latest policy
requirements plus explicitly declare their need for (fake)root.

Known blockers include:

 *
https://lintian.debian.org/tags/debian-rules-missing-recommended-target.html

 * https://lintian.debian.org/tags/should-specify-rules-requires-root.html

... and my understanding is that it will require NMU'ing a large amount
of these 800 packages of the lot to get there (the
build-arch|build-indep transition has been going on for years and will
probably take 5-8 more years to completely finish if left on its own).
I ran out of gas on finishing build-arch+build-indep, so I am not really
feeling up for dragging that to the goal line.  I have been doing an NMU
here and there plus added MR requests on salsa for setting "R³:
binary-targets" to fix a few up them but this the level I can motivate
myself to do.

In case, you are wondering why build-arch/build-indep is related to this
problem: One of the reasons why Rules-Requires-Root can reduce the
number of debian/rules runs is because we 1) disable dpkg's probing for
build-arch and 2) we just call the binary target directly and let the
debian/rules file handle that gracefully.  Maybe older packages do not
do this and just fail to build properly (despite the policy requirement
that mandates otherwise) - among other dh before compat 9 (or 10?) does
not handle dependencies between rules targets correctly either.


In summary: I do not think we can flip the default before those two
lintian tags are close to zero and I am not up for that challenge (but I
hope someone is).

Thanks,
~Niels


Reply to: