Debian 软件包规则文件:debhelper 似乎没有按预期被调用

Debian 软件包规则文件:debhelper 似乎没有按预期被调用

我想使用 debhelper 和 dh_installsystemd 安装 systemd 单元。

我的控制文件:

Package: prometheus-wireguard-exporter
Version: 3.6.3-###CI_JOB_ID###
Maintainer: Ronny Forberger
Architecture: amd64
Build-Depends: debhelper, dh-systemd (>= 1.5)
Description: Prometheus Wireguard Exporter

我的规则文件:

#!/usr/bin/make -f
export DH_VERBOSE = 1

%:
        dh $@ --with systemd

override_dh_installsystemd:
        dh_installsystemd --name=prometheus-wireguard-exporter

目录树:

prometheus_wireguard_exporter_amd64
├── debian -> DEBIAN
└── DEBIAN
    ├── control
    ├── postinst
    ├── prometheus-wireguard-exporter.prometheus-wireguard-exporter.service -> prometheus-wireguard-exporter.service
    ├── prometheus-wireguard-exporter.service
    └── rules

2 directories, 5 files

我的postinst脚本:

#!/bin/sh
set -e

# source debconf library
. /usr/share/debconf/confmodule

# dh_installdeb will replace this with shell code automatically
# generated by other debhelper scripts.

#DEBHELPER#

db_stop

exit 0

我用以下命令构建包dpkg-deb --build --root-owner-group -v prometheus_wireguard_exporter_amd64

postinst 脚本运行,但似乎没有调用 debhelper。

任何人都知道出了什么问题吗?

答案1

如果你想受益于debhelper,你需要从源码包构建,而不是直接构建二进制包:

  • debian符号链接拖放到DEBIAN
  • 重命名DEBIANdebian
  • 重命名prometheus_wireguard_exporter_amd64prometheus-wireguard-exporter
  • 添加debian/changelog文件 ( dch --create)
  • dpkg-buildpackage使用( dpkg-buildpackage -us -uc)构建你的包

相关内容