[PATCH] debianize: set DEBIAN_RULES_REQUIRES_ROOT default to "no"

25 views
Skip to first unread message

Badrikesh Prusty

unread,
Oct 25, 2025, 12:58:11 PM (10 days ago) Oct 25
to isar-...@googlegroups.com, badrikesh prusty
From: badrikesh prusty <badrikes...@siemens.com>

With DEBIAN_RULES_REQUIRES_ROOT set to "no" by default, building Debian
packages no longer requires root privileges.

In dpkg version ≥ 1.22.13 (present in Debian Trixie), the default value
is "no". In earlier dpkg versions (used in Debian Bookworm and before)
the default value of Rules-Requires-Root was "binary-targets".

This ensures modern dpkg compatibility and safe, non-root builds for
older Debian versions, unless explicitly overridden.

Fixes: https://github.com/ilbers/isar/issues/113
Signed-off-by: badrikesh prusty <badrikes...@siemens.com>
---
meta/classes/debianize.bbclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/classes/debianize.bbclass b/meta/classes/debianize.bbclass
index 1f54e8f9..ad9e1a0d 100644
--- a/meta/classes/debianize.bbclass
+++ b/meta/classes/debianize.bbclass
@@ -18,7 +18,7 @@ DEBIAN_BUILT_USING ??= ""
DEBIAN_MULTI_ARCH ??= "no"
DEBIAN_COMPAT ??= "10"
DEBIAN_CHANGELOG_TIMESTAMP ??= "3600"
-DEBIAN_RULES_REQUIRES_ROOT ??= ""
+DEBIAN_RULES_REQUIRES_ROOT ??= "no"
DESCRIPTION ??= "must not be empty"
MAINTAINER ??= "Unknown maintainer <unk...@example.com>"

--
2.47.3

Jan Kiszka

unread,
Oct 27, 2025, 12:07:31 PM (8 days ago) Oct 27
to Badrikesh Prusty, isar-...@googlegroups.com
On 25.10.25 18:57, 'Badrikesh Prusty' via isar-users wrote:
> From: badrikesh prusty <badrikes...@siemens.com>
>
> With DEBIAN_RULES_REQUIRES_ROOT set to "no" by default, building Debian
> packages no longer requires root privileges.
>
> In dpkg version ≥ 1.22.13 (present in Debian Trixie), the default value
> is "no". In earlier dpkg versions (used in Debian Bookworm and before)
> the default value of Rules-Requires-Root was "binary-targets".

...but your change now sets it to no by default for all Debian releases,
not just trixie.

Jan

>
> This ensures modern dpkg compatibility and safe, non-root builds for
> older Debian versions, unless explicitly overridden.
>
> Fixes: https://github.com/ilbers/isar/issues/113
> Signed-off-by: badrikesh prusty <badrikes...@siemens.com>
> ---
> meta/classes/debianize.bbclass | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/meta/classes/debianize.bbclass b/meta/classes/debianize.bbclass
> index 1f54e8f9..ad9e1a0d 100644
> --- a/meta/classes/debianize.bbclass
> +++ b/meta/classes/debianize.bbclass
> @@ -18,7 +18,7 @@ DEBIAN_BUILT_USING ??= ""
> DEBIAN_MULTI_ARCH ??= "no"
> DEBIAN_COMPAT ??= "10"
> DEBIAN_CHANGELOG_TIMESTAMP ??= "3600"
> -DEBIAN_RULES_REQUIRES_ROOT ??= ""
> +DEBIAN_RULES_REQUIRES_ROOT ??= "no"
> DESCRIPTION ??= "must not be empty"
> MAINTAINER ??= "Unknown maintainer <unk...@example.com>"
>

--
Siemens AG, Foundational Technologies
Linux Expert Center

Badrikesh Prusty

unread,
Nov 1, 2025, 4:06:31 PM (3 days ago) Nov 1
to isar-users
> ...but your change now sets it to no by default for all Debian releases,
> not just trixie.

Yes, this change sets "no" for all releases, making older Debian versions consistent with the modern dpkg default on Trixie and later, non-root builds across all releases.  I’ll send patch v2 with an improved commit description.

Thanks,
Badrikesh

Badrikesh Prusty

unread,
Nov 1, 2025, 4:07:54 PM (3 days ago) Nov 1
to isar-...@googlegroups.com, badrikesh prusty
From: badrikesh prusty <badrikes...@siemens.com>

Set DEBIAN_RULES_REQUIRES_ROOT to "no" by default to disable the need for
root privileges during package builds on Debian releases before Trixie.

Since dpkg 1.22.13 (Debian Trixie and later), the default value is "no".
In earlier dpkg versions (Debian Bookworm and before), the default was
"binary-targets".

Debian recommends not using root during builds whenever possible. It may
make builds faster by skipping unnecessary root or fakeroot operations.
Recipes that require root privileges can override this by setting
DEBIAN_RULES_REQUIRES_ROOT accordingly.

This also fixes hangs observed during fakeroot calls in
dpkg-buildpackage. References:
https://github.com/ilbers/isar/issues/113
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1114644
https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1072521

Signed-off-by: badrikesh prusty <badrikes...@siemens.com>
---
meta/classes/debianize.bbclass | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/meta/classes/debianize.bbclass b/meta/classes/debianize.bbclass
index 1f54e8f9..ad9e1a0d 100644
--- a/meta/classes/debianize.bbclass
+++ b/meta/classes/debianize.bbclass
@@ -18,7 +18,7 @@ DEBIAN_BUILT_USING ??= ""
DEBIAN_MULTI_ARCH ??= "no"
DEBIAN_COMPAT ??= "10"
DEBIAN_CHANGELOG_TIMESTAMP ??= "3600"
-DEBIAN_RULES_REQUIRES_ROOT ??= ""
+DEBIAN_RULES_REQUIRES_ROOT ??= "no"
DESCRIPTION ??= "must not be empty"
MAINTAINER ??= "Unknown maintainer <unk...@example.com>"

--
2.47.3

Jan Kiszka

unread,
Nov 3, 2025, 1:04:05 AM (yesterday) Nov 3
to Badrikesh Prusty, isar-users
But you don't explain why this should be correct. Bookworm and older
should be be built with its past defaults. If the defaults should
actually depend on the host's sbuild version (waiting for a proof), then
you need to take that one as decision input. Unconditionally flipping
defaults is very very likely just wrong.

Jan
Reply all
Reply to author
Forward
0 new messages