Am 05.11.20 um 15:55 schrieb Alex Nelson:
Hmm, if I could have 2 rules files, I would have one saying "--with systemd" and the other would not say "--with systemd".
I think you are asking so what?

Here is my rules file:

*#!/usr/bin/make -f
# -*- makefile -*-

# Uncomment this to turn on verbose mode.
export DH_VERBOSE=1

%:
         dh $@ --with python3,systemd --buildsystem=pybuild

# Until debhelper compat 11, you need to explicitly indicate there are no
# SysV .init files.  We are using compat 9 for now.
override_dh_installinit:
         dh_installinit -n --name=package_two

override_dh_systemd_enable:
         dh_systemd_enable --name=package_two

override_dh_systemd_start:
         dh_systemd_start --restart-after-upgrade package_two*
*
*
*
*
setup.py finds the two packages (package_one and package_two).
After building, as expected, I get 2 debian packages.
I did not expect to see any references to systemd in package_one.
Before I starting hacking around, the rules line looked like this:

*dh $@ --with python3 --buildsystem=pybuild
*
*
*
and generated no references to anything systemd in debian package_one.

After adding "systemd" to the Makefile line, my package one debian package generates all kinds of unwanted systemd references. For example, the debian package for my *package_one *has systemd references to *package_two*.

Here is the postint  that now lives in debian package_one:

*#!/bin/sh
set -e
# Automatically added by dh_systemd_enable
# This will only remove masks created by d-s-h on package removal.
deb-systemd-helper unmask package_two.service >/dev/null || true

# was-enabled defaults to true, so new installations run enable.
if deb-systemd-helper --quiet was-enabled editshare-reindexer.service; then
# Enables the unit on first installation, creates new
# symlinks on upgrades if the unit file has changed.
deb-systemd-helper enable package_two.service >/dev/null || true
else
# Update the statefile to add new symlinks (if any), which need to be
# cleaned up on purge. Also remove old symlinks.
deb-systemd-helper update-state editshare-reindexer.service >/dev/null || true
fi
# End automatically added section
# Automatically added by dh_systemd_start
if [ -d /run/systemd/system ]; then
systemctl --system daemon-reload >/dev/null || true
if [ -n "$2" ]; then
_dh_action=try-restart
else
_dh_action=start
fi
deb-systemd-invoke $_dh_action package_two.service >/dev/null || true
fi
# End automatically added section*


Why is that unwanted (and problematic)?
If package one *does* ship a service you really want those postinst code.
If package one is not supposed to ship a .service file, don't install it (via debian/package_one.install).

What are the contents of package_one.deb? Can you past the dpkg -c output of the individual packages.


Attachment: OpenPGP_signature
Description: OpenPGP digital signature

Reply via email to