我正在构建一个 debian 软件包,它将多个配置文件以其他名称安装到不同的位置。为此,我想使用dh-exec安装重命名功能。
在控制文件中我声明dh-exec为Build-Dependency:
Build-Depends: debhelper (>= 9), dh-exec
Run Code Online (Sandbox Code Playgroud)
该package.install文件如下所示:
#! /usr/bin/dh-exec
default.pdns.conf => /etc/powerdns/pdns.conf
default.uwsgi.ini => /etc/resolver/uwsgi.ini
default.config.toml => /etc/resolver/config.toml
default.nginx.conf => /etc/nginx/sites-available/resolver.conf
Run Code Online (Sandbox Code Playgroud)
我希望这会在具有该名称的位置部署现有default.*文件,但会创建一个包含该文件的父目录:
/etc/resolver/
|-- config.toml
| `-- default.config.toml
`-- uwsgi.ini
`-- default.uwsgi.ini
Run Code Online (Sandbox Code Playgroud)
所有声明的文件都会发生同样的情况。
文件中没有debian/rules可能干扰此操作的覆盖:
#!/usr/bin/make -f
export DH_VERBOSE=1
%:
dh $@ --with systemd,python-virtualenv
override_dh_virtualenv:
dh_virtualenv --package resolver --python /usr/bin/python3
Run Code Online (Sandbox Code Playgroud)
设置时,助手会执行DH_VERBOSE=1以下操作dh_install:
dh_install
install -d debian/resolver//etc/powerdns/pdns.conf
cp --reflink=auto -a ./default.pdns.conf debian/resolver//etc/powerdns/pdns.conf/ …Run Code Online (Sandbox Code Playgroud)