I'm trying to build https://github.com/wallix/redemption on Ubuntu 20.04.
The compilation actually succeeded, and then I realized they have a python script that would create a .deb file, tools/packager.py. It uses dh_install
(tools that are in sudo apt install debhelper
), and apparently refers to the files packaging/template/debian/rules - and packaging/template/debian/redemption.install, which contains just this:
%ETC_PREFIX%/*
%PREFIX%/bin/*
%PREFIX%/share/rdpproxy/*
%LIB_PREFIX%/libredrec.so
Ok, so I run the script like this, and it fails:
$ ./tools/packager.py --build-package --force-build
...
dh_installdocs: warning: Compatibility levels before 9 are deprecated (level 7 in use)
install -d debian/.debhelper/generated/redemption
install -p -m0644 debian/copyright debian/redemption/usr/share/doc/redemption/copyright
# install files into package build directories
# debian/redemption.install list the files to install into each package
# and the directory they should be installed to. It destination directory
# is missing dh_install guess for destination.
#--list-missing or --fail-missing
# This option makes dh_install keep track of the files it installs, and
# then at the end, compare that list with the files in the source directory.
# If any of the files (and symlinks) in the source directory were not
# installed to somewhere, it will warn on stderr about that (or fail).
# --sourcedir=dir
# Look in the specified directory for files to be installed.
# default is to look in debian/tmp
dh_install --sourcedir=debian/buildtmp --list-missing
dh_install: warning: Compatibility levels before 9 are deprecated (level 7 in use)
dh_install: warning: Please use dh_missing --list-missing/--fail-missing instead
dh_install: warning: This feature will be removed in compat 12.
dh_install: warning: Cannot find (any matches for) "etc/rdpproxy/*" (tried in debian/buildtmp, debian/tmp)
dh_install: warning: redemption missing files: etc/rdpproxy/*
dh_install: warning: Cannot find (any matches for) "usr/local/bin/*" (tried in debian/buildtmp, debian/tmp)
dh_install: warning: redemption missing files: usr/local/bin/*
dh_install: warning: Cannot find (any matches for) "usr/local/share/rdpproxy/*" (tried in debian/buildtmp, debian/tmp)
dh_install: warning: redemption missing files: usr/local/share/rdpproxy/*
dh_install: warning: Cannot find (any matches for) "/libredrec.so" (tried in debian/buildtmp, debian/tmp)
dh_install: warning: redemption missing files: /libredrec.so
dh_install: error: missing files, aborting
make: *** [debian/rules:66: binary-arch] Error 255
dpkg-buildpackage: error: fakeroot debian/rules binary subprocess returned exit status 2
Build failed: system fail with code 512: dpkg-buildpackage -b -tc -us -uc -r
ERROR:root:Traceback (most recent call last):
File "./tools/packager.py", line 497, in <module>
try_system("dpkg-buildpackage -b -tc -us -uc -r")
File "./tools/packager.py", line 40, in try_system
raise Exception("system fail with code %d: %s" % (status, cmd))
Exception: system fail with code 512: dpkg-buildpackage -b -tc -us -uc -r
Ok, so it says "*Cannot find (any matches for) "/libredrec.so
" (tried in debian/buildtmp
"; however, if I search, I get:
$ find . -name libredrec.so
./bin/gcc-9/release/libredrec.so
./debian/buildtmpusr/local/lib/libredrec.so
So, there is a libredrec.so
in ./debian/buildtmpusr/local/lib/
- but that path does not match debian/buildtmp
, I guess.
What can I do/change to have this script complete?
debian/buildtmp
”, with no*
. This feels like a missing slash problem (the files should be installed indebian/buildtmp/usr/…
). – Stephen Kitt Feb 03 '23 at 13:51*
, but I just re-ran the process, and you're absolutely right, no*
in the mentions ofdebian/buildtmp
- so I've edited the post ... Any suggestions where I could try adding a missing slash? – sdbbs Feb 03 '23 at 14:02