Bug#840425: mkosi: FTBFS when built with dpkg-buildpackage -A (debian/mkosi.1: No such file or directory)

Santiago Vila sanvila at debian.org
Tue Oct 11 14:29:06 BST 2016


Package: src:mkosi
Version: 0~20161004-1
Severity: serious
Tags: patch

Dear maintainer:

I tried to build this package in stretch with "dpkg-buildpackage -A"
(which is what the "Arch: all" autobuilder would do to build it)
but it failed:

--------------------------------------------------------------------------------
[...]
 debian/rules build-indep
dh build-indep --with python3 --buildsystem=pybuild
   dh_testdir -i -O--buildsystem=pybuild
   dh_update_autotools_config -i -O--buildsystem=pybuild
   dh_autoreconf -i -O--buildsystem=pybuild
   dh_auto_configure -i -O--buildsystem=pybuild
I: pybuild base:184: python3.5 setup.py config 
running config
   dh_auto_build -i -O--buildsystem=pybuild
I: pybuild base:184: /usr/bin/python3 setup.py build 
running build
running build_scripts
creating build
creating build/scripts-3.5
copying and adjusting mkosi -> build/scripts-3.5
changing mode of build/scripts-3.5/mkosi from 664 to 775
   dh_auto_test -i -O--buildsystem=pybuild
I: pybuild base:184: cd '/<<PKGBUILDDIR>>/.pybuild/pythonX.Y_3.5/build'; python3.5 -m unittest discover -v 

----------------------------------------------------------------------
Ran 0 tests in 0.000s

OK
 fakeroot debian/rules binary-indep
dh binary-indep --with python3 --buildsystem=pybuild
   dh_testroot -i -O--buildsystem=pybuild
   dh_prep -i -O--buildsystem=pybuild
   dh_auto_install -i -O--buildsystem=pybuild
I: pybuild base:184: /usr/bin/python3 setup.py install --root '/<<PKGBUILDDIR>>/debian/mkosi' 
running install
running build
running build_scripts
running install_egg_info
running egg_info
creating mkosi.egg-info
writing mkosi.egg-info/PKG-INFO
writing dependency_links to mkosi.egg-info/dependency_links.txt
writing top-level names to mkosi.egg-info/top_level.txt
writing manifest file 'mkosi.egg-info/SOURCES.txt'
reading manifest file 'mkosi.egg-info/SOURCES.txt'
writing manifest file 'mkosi.egg-info/SOURCES.txt'
Copying mkosi.egg-info to /<<PKGBUILDDIR>>/debian/mkosi/usr/lib/python3.5/dist-packages/mkosi-1.egg-info
Skipping SOURCES.txt
running install_scripts
creating /<<PKGBUILDDIR>>/debian/mkosi/usr/bin
copying build/scripts-3.5/mkosi -> /<<PKGBUILDDIR>>/debian/mkosi/usr/bin
changing mode of /<<PKGBUILDDIR>>/debian/mkosi/usr/bin/mkosi to 775
   dh_installdocs -i -O--buildsystem=pybuild
   dh_installchangelogs -i -O--buildsystem=pybuild
   dh_installman -i -O--buildsystem=pybuild
debian/mkosi.1: No such file or directory at /usr/bin/dh_installman line 131.
debian/rules:10: recipe for target 'binary-indep' failed
make: *** [binary-indep] Error 2
dpkg-buildpackage: error: fakeroot debian/rules binary-indep gave error exit status 2
--------------------------------------------------------------------------------

This happens because there is a "build" target but there is not a "build-indep" target,
so the build paths for "dpkg-buildpackage" and "dpkg-buildpackage -A" are different.

I suggest the patch below to fix this. It makes debian/rules a little bit shorter
and maybe a little bit more dh-style.

I would also suggest that you try source-only uploads (even for
Arch:all packages like this one). That way, we would get pretty
official build logs here:

https://buildd.debian.org/status/package.php?p=mkosi

and we would also detect bugs like this one before they propagate to testing.

Thanks.

--- a/debian/rules
+++ b/debian/rules
@@ -9,15 +9,10 @@ export PYBUILD_NAME=mkosi
 %:
 	dh $@ --with python3 --buildsystem=pybuild
 
-# need explicit target to be able to mark as phony
-build: debian/mkosi.1
-	dh $@ --with python3 --buildsystem=pybuild
-
-debian/mkosi.1:
+override_dh_auto_build:
+	dh_auto_build
 	help2man --name "Create legacy-free OS images" \
 		--version-string "mkosi $(DEB_VERSION_UPSTREAM)" \
 		--no-info \
 		-o debian/mkosi.1 \
 		./mkosi
-
-.PHONY: build



More information about the Pkg-systemd-maintainers mailing list