0

我使用 debhelper 和 python setuptools 来构建我的包。我最近将兼容级别 9 更新到了 11,以便使用 systemd 计时器。

从那一刻起,每次我升级包时,包含的服务都会重新启动。我尝试使用以下规则进行构建:

#! /usr/bin/make -f

#export DH_VERBOSE = 1
export PYBUILD_NAME=my_pkg
export DH_ALWAYS_EXCLUDE=CVS:.svn:.git:.vscode*
export PYBUILD_INTERPRETERS=python3

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

override_dh_installinit:
        dh_installinit --no-stop-on-upgrade --no-restart-on-upgrade --no-restart-after-upgrade --no-start

override_dh_systemd_enable:
        dh_systemd_enable --name=my_pkg

override_dh_systemd_start:
        dh_systemd_start --no-stop-on-upgrade --no-restart-on-upgrade --no-restart-after-upgrade --no-start
        python3 setup.py clean --all

根据文档,这些标签应该可以满足我的要求,但我可能缺少一些东西:

dh_systemd_start

dh_installinit

每次我更新它时,包含的服务都会重新启动。该服务正在运行更新本身,因此重新启动时更新未完成。

4

1 回答 1

0

正如预期的那样,我看错了方向。使用的正确选项是: dh_installsystemd

规则文件更改为:

#! /usr/bin/make -f

#export DH_VERBOSE = 1
export PYBUILD_NAME=my_pkg
export DH_ALWAYS_EXCLUDE=CVS:.svn:.git:.vscode*
export PYBUILD_INTERPRETERS=python3

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

override_dh_systemd_enable:
        dh_systemd_enable --name=my_pkg

override_dh_installsystemd:
        dh_installsystemd --no-restart-after-upgrade

override_dh_systemd_start:
        python3 setup.py clean --all

我希望这会帮助处于同样情况的其他人。

于 2021-02-22T11:54:50.013 回答