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 <niels@thykier.net>
Suggested-by: Niels Thykier <niels@thykier.net>
Reviewed--by: Niels Thykier <niels@thykier.net>
+liblopsub (1.0.5-3) experimental; urgency=low
+
+ * Support rootless builds. Closes: #1089365
+
+ -- Andre Noll <maan@tuebingen.mpg.de> Tue, 10 Dec 2024 18:40:23 +0100
+
liblopsub (1.0.5-2) experimental; urgency=medium
[ Helmut Grohne ]
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
$(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)
$(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