From: Isaac True <itrue@emlix.com>
To: Jan Kiszka <jan.kiszka@siemens.com>, isar-users@googlegroups.com
Subject: Re: [PATCH] debianize: set Rules-Requires-Root in debian/control
Date: Fri, 15 Aug 2025 15:09:18 +0200 [thread overview]
Message-ID: <13722340-f9b2-4bb0-ae49-90156c7e7087@emlix.com> (raw)
In-Reply-To: <df5ab881-2c77-4409-8544-f2c0154b62fb@siemens.com>
>
> Hmm, but the Policy says it's default-no anyway:
>
>
https://www.debian.org/doc/debian-policy/ch-controlfields.html#rules-requires-root
>
> Did that default change recently?
According to the deb-src-control man page
(https://www.man7.org/linux/man-pages/man5/deb-src-control.5.html) this
only became the default with dpkg >= 1.22.13, which is relatively
recent. Anything with a dpkg version earlier than that (which includes
Ubuntu Jammy and Noble) uses `binary-targets` as the default, which
calls fakeroot.
> This is a change that first of all requires an entry in
> RECIPE-API-CHANGELOG.md. But you also need to explain if this is fine
> down to buster (we still support building for it, yes, it's ELTS). And
> you need to ensure that it will not change anything for existing layers
> - which is in conflict with the expressed intention of this change.
Understood. Would you prefer that it doesn't add the field by default in
order to maintain backwards-compatibility, and instead only add the
field when the value is set?
Cheers,
Isaac
On 15/08/25 15:01, Jan Kiszka wrote:
> On 14.08.25 16:34, Isaac True wrote:
>> Setting "Rules-Requires-Root: no" in the debian/control file avoids
>> unnecessarily calling fakeroot in the build environment. Packages which
>> require root can override the new "DEBIAN_RULES_REQUIRES_ROOT" variable
>> with the desired value.
>
> Hmm, but the Policy says it's default-no anyway:
>
> https://www.debian.org/doc/debian-policy/ch-controlfields.html#rules-requires-root
>
> Did that default change recently?
>
>>
>> This is specifically useful when using dpkg-raw, as it no longer needs
>> fakeroot to create the packages. This provides a considerable speedup in
>> some environments (e.g. systems with very high open file descriptor
>> limits and specific versions of fakeroot).
>>
>> Signed-off-by: Isaac True <itrue@emlix.com>
>> ---
>> meta/classes/debianize.bbclass | 5 ++++-
>> 1 file changed, 4 insertions(+), 1 deletion(-)
>>
>> diff --git a/meta/classes/debianize.bbclass b/meta/classes/debianize.bbclass
>> index 4989c601..eeebea69 100644
>> --- a/meta/classes/debianize.bbclass
>> +++ b/meta/classes/debianize.bbclass
>> @@ -16,6 +16,7 @@ DEBIAN_BREAKS ??= ""
>> DEBIAN_MULTI_ARCH ??= "no"
>> DEBIAN_COMPAT ??= "10"
>> DEBIAN_CHANGELOG_TIMESTAMP ??= "3600"
>> +DEBIAN_RULES_REQUIRES_ROOT ??= "no"
>> DESCRIPTION ??= "must not be empty"
>> MAINTAINER ??= "Unknown maintainer <unknown@example.com>"
>>
>> @@ -74,7 +75,8 @@ deb_create_control[vardeps] += "DEBIANIZE_BUILD_DEPENDS \
>> DEBIAN_PROVIDES \
>> DEBIAN_REPLACES \
>> DEBIAN_BREAKS \
>> - DEBIAN_CONFLICTS"
>> + DEBIAN_CONFLICTS \
>> + DEBIAN_RULES_REQUIRES_ROOT"
>> deb_create_control() {
>> cat << EOF > ${S}/debian/control
>> Source: ${BPN}
>> @@ -83,6 +85,7 @@ Priority: optional
>> Standards-Version: 3.9.6
>> Maintainer: ${MAINTAINER}
>> Build-Depends: ${@ deb_list_beautify(d, 'DEBIANIZE_BUILD_DEPENDS')}
>> +Rules-Requires-Root: ${DEBIAN_RULES_REQUIRES_ROOT}
>>
>> Package: ${BPN}
>> Architecture: ${DPKG_ARCH}
>>
>
> This is a change that first of all requires an entry in
> RECIPE-API-CHANGELOG.md. But you also need to explain if this is fine
> down to buster (we still support building for it, yes, it's ELTS). And
> you need to ensure that it will not change anything for existing layers
> - which is in conflict with the expressed intention of this change.
>
> Jan
>
--
Isaac True
emlix GmbH, https://www.emlix.com
Fon +49 228 94 77 96 94
Bachstraße 6, 53115 Bonn, Germany
Sitz der Gesellschaft: Göttingen, Amtsgericht Göttingen HR B 3160
Geschäftsfuehrung: Heike Jordan, Dr. Uwe Kracke
Ust-IdNr.: DE 205 198 055
emlix - smart embedded open source
--
You received this message because you are subscribed to the Google Groups "isar-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to isar-users+unsubscribe@googlegroups.com.
To view this discussion visit https://groups.google.com/d/msgid/isar-users/13722340-f9b2-4bb0-ae49-90156c7e7087%40emlix.com.
next prev parent reply other threads:[~2025-08-19 13:27 UTC|newest]
Thread overview: 9+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-08-14 14:34 Isaac True
2025-08-15 13:01 ` 'Jan Kiszka' via isar-users
2025-08-15 13:09 ` Isaac True [this message]
2025-08-15 13:39 ` 'Jan Kiszka' via isar-users
-- strict thread matches above, loose matches on Subject: below --
2025-08-13 8:48 Isaac True
2025-08-15 13:07 ` 'Prusty, Badrikesh' via isar-users
2025-08-15 13:44 ` 'Jan Kiszka' via isar-users
2025-08-15 13:49 ` 'Prusty, Badrikesh' via isar-users
2025-08-15 14:15 ` 'Prusty, Badrikesh' via isar-users
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=13722340-f9b2-4bb0-ae49-90156c7e7087@emlix.com \
--to=itrue@emlix.com \
--cc=isar-users@googlegroups.com \
--cc=jan.kiszka@siemens.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox