On 02/03/2023 19:56, Konstantin Kletschke wrote:
Dear debian-user Folks, i am trying to build a binary debian package consisting of a python script, shell scripts and a config file as daemon with either init.d or systemd start. The init.d script gets installed also the systemd file, but both are not enabled. I made a directory loqitmon-1.0 and in there are python script, shellscripts and config file. In debian/control is: Source: loqitmon Section: base Priority: optional Maintainer: Konstantin Kletschke <konstantin.kletschke@inside-m2m.de> Build-Depends: debhelper (>=9.0.0), dh-virtualenv (>= 0.8) Standards-Version: 4.5.1 Package: loqitmon Architecture: any Pre-Depends: dpkg (>= 1.16.1), python3, init-system-helpers (>= 1.51~) Depends: ${misc:Depends} Description: LoQiT monitoring daemon This daemon monitors /var/log/syslog for device removal of card reader and removal of display and restarts either the X server or the entire system accordingly Derived from https://github.com/yxiao168/logmonitor.git In debian/rules is: #!/usr/bin/make -f DH_VERBOSE=1 %: dh $@ clean: @# Do nothing build: @# Do nothing binary: mkdir -p debian/loqitmon mkdir -p debian/loqitmon/usr/ mkdir -p debian/loqitmon/usr/bin cp loqitmon.py debian/loqitmon/usr/bin/loqitmon mkdir -p debian/loqitmon/etc cp loqitmon.ini debian/loqitmon/etc cp loqitmonaction1 debian/loqitmon/usr/bin cp loqitmonaction2 debian/loqitmon/usr/bin cp loqitmonaction3 debian/loqitmon/usr/bin cp loqitmonstep1 debian/loqitmon/usr/bin cp loqitmonstep2 debian/loqitmon/usr/bin cp loqitmonstep3 debian/loqitmon/usr/bin dh_installinit dh_installsystemd
This looks relevant, have you read it's manpage?
dh_gencontrol dh_install dh_auto_install dh_builddeb When I run # > debuild -b -us -uc this is the output: dpkg-buildpackage -us -uc -ui -b dpkg-buildpackage: info: source package loqitmon dpkg-buildpackage: info: source version 1.0-1 dpkg-buildpackage: info: source distribution unstable dpkg-buildpackage: info: source changed by Konstantin Kletschke <konstantin.kletschke@inside-m2m.de> dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 fakeroot debian/rules clean debian/rules build fakeroot debian/rules binary mkdir -p debian/loqitmon mkdir -p debian/loqitmon/usr/ mkdir -p debian/loqitmon/usr/bin cp loqitmon.py debian/loqitmon/usr/bin/loqitmon mkdir -p debian/loqitmon/etc cp loqitmon.ini debian/loqitmon/etc cp loqitmonaction1 debian/loqitmon/usr/bin cp loqitmonaction2 debian/loqitmon/usr/bin cp loqitmonaction3 debian/loqitmon/usr/bin cp loqitmonstep1 debian/loqitmon/usr/bin cp loqitmonstep2 debian/loqitmon/usr/bin cp loqitmonstep3 debian/loqitmon/usr/bin dh_installinit dh_installsystemd dh_gencontrol dpkg-gencontrol: warning: package loqitmon: substitution variable ${misc:Pre-Depends} unused, but is defined dh_install dh_auto_install dh_builddeb dpkg-deb: building package 'loqitmon' in '../loqitmon_1.0-1_amd64.deb'. dpkg-genbuildinfo --build=binary -O../loqitmon_1.0-1_amd64.buildinfo dpkg-genchanges --build=binary -O../loqitmon_1.0-1_amd64.changes dpkg-genchanges: info: binary-only upload (no source code included) dpkg-source --after-build . dpkg-buildpackage: info: binary-only upload (no source included) Now running lintian loqitmon_1.0-1_amd64.changes ... E: loqitmon changes: bad-distribution-in-changes-file unstable E: loqitmon: file-in-etc-not-marked-as-conffile etc/init.d/loqitmon E: loqitmon: file-in-etc-not-marked-as-conffile etc/loqitmon.ini E: loqitmon: no-changelog usr/share/doc/loqitmon/changelog.Debian.gz (non-native package) E: loqitmon: no-copyright-file W: loqitmon: no-manual-page usr/bin/loqitmon W: loqitmon: no-manual-page usr/bin/loqitmonaction1 W: loqitmon: no-manual-page usr/bin/loqitmonaction2 W: loqitmon: no-manual-page usr/bin/loqitmonaction3 W: loqitmon: no-manual-page usr/bin/loqitmonstep1 W: loqitmon: no-manual-page usr/bin/loqitmonstep2 W: loqitmon: no-manual-page usr/bin/loqitmonstep3 W: loqitmon: script-in-etc-init.d-not-registered-via-update-rc.d etc/init.d/loqitmon W: loqitmon: unknown-section base Finished running lintian.
You probably want to investigate these lintian warnings, at some point.
The manpage for dh_installsystemd suggests these files should be under debian/. Are they, or are they in etc/init.d and lib/systemd/system?The files /etc/init.d/loqitmon /lib/systemd/system/loqitmon.service
are in the package, but they are are not enabled. I have the strange feeling the entire postinstall stuff is missing. Is there a significant typo somewhere so obvious I am to stupid to see? If there is a distribution like Mint Tessa for example, how does the system decide which startmethod to choose, if init.d and systemd are enabled successfully? I see a mix of init.d and systemd there regading starting stuff. Kind Regards Konstantin
Attachment:
OpenPGP_signature
Description: OpenPGP digital signature