From: Andre Noll Date: Mon, 9 Dec 2024 18:29:01 +0000 (+0100) Subject: debian: Enable `Rules-Requires-Root: no`. X-Git-Url: http://git.tue.mpg.de/?a=commitdiff_plain;h=8c31cdf4e9866ab39a5a7da637269cbded023af7;p=lopsub.git debian: Enable `Rules-Requires-Root: no`. During a test rebuild for building packages with `Rules-Requires-Root: no` as the default in `dpkg`, liblopsub failed to rebuild. The problem is the rule of the `binary` target in `debian/rules` which runs `install(1)` with -o root -g root to set the owner and group ID of the files and directories being installed. With `Rules-Requires-Root: no`, this fails due to insufficient permissions. This commit removes the problematic options in favor of running `dh_fixperms(1)` just before `dh_makeshlibs(1)`. With these changes in place, the build no longer requires any form of root during the `binary` target. Consequently, we may enable rootless builds in `debian/control`. Reported-by: Niels Thykier Suggested-by: Niels Thykier Reviewed--by: Niels Thykier --- diff --git a/debian/changelog b/debian/changelog index dc53520..eb0f917 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,9 @@ +liblopsub (1.0.5-3) experimental; urgency=low + + * Support rootless builds. Closes: #1089365 + + -- Andre Noll Tue, 10 Dec 2024 18:40:23 +0100 + liblopsub (1.0.5-2) experimental; urgency=medium [ Helmut Grohne ] diff --git a/debian/control b/debian/control index 668fbd9..b349eba 100644 --- a/debian/control +++ b/debian/control @@ -7,6 +7,7 @@ Standards-Version: 4.6.2 Homepage: https://people.tuebingen.mpg.de/maan/lopsub Vcs-Browser: https://git.tuebingen.mpg.de/lopsub.git Vcs-Git: https://git.tuebingen.mpg.de/lopsub.git +Rules-Requires-Root: no Package: liblopsub1t64 Section: libs diff --git a/debian/rules b/debian/rules index 4f5f5ca..9801fe6 100755 --- a/debian/rules +++ b/debian/rules @@ -36,9 +36,8 @@ clean: $(MAKE) distclean dh_clean -INST_OWN = -o root -g root -MAKE_DIR = install -p -d $(INST_OWN) -m 755 -INST_FILE = install -c $(INST_OWN) -m 644 +MAKE_DIR = install -p -d -m 755 +INST_FILE = install -c -m 644 binary: build $(checkdir) @@ -59,6 +58,7 @@ binary: build $(INST_FILE) debian/changelog $(DEVDOCS_DIR)/changelog.Debian gzip -fn9 $(DOCS_DIR)/changelog.Debian gzip -fn9 $(DEVDOCS_DIR)/changelog.Debian + dh_fixperms dh_makeshlibs dh_shlibdeps dh_strip