【发布时间】:2017-06-12 10:34:43
【问题描述】:
我正在构建一个 debian 软件包,它将多个配置文件安装到具有其他名称的不同位置。为此,我想使用dh-exec install-rename 功能。
在 control 文件中,我将 dh-exec 声明为 Build-Dependency:
Build-Depends: debhelper (>= 9), dh-exec
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
我希望这会将现有的 default.* 文件部署在具有该名称的那些地方,但是创建了一个包含该文件的父目录:
/etc/resolver/
|-- config.toml
| `-- default.config.toml
`-- uwsgi.ini
`-- default.uwsgi.ini
所有声明的文件都会发生同样的情况。
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
设置 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/
install -d debian/resolver//etc/resolver/uwsgi.ini
cp --reflink=auto -a ./default.uwsgi.ini debian/resolver//etc/resolver/uwsgi.ini/
install -d debian/resolver//etc/resolver/config.toml
cp --reflink=auto -a ./default.config.toml debian/resolver//etc/resolver/config.toml/
install -d debian/resolver//etc/nginx/sites-available/resolver.conf
cp --reflink=auto -a ./default.nginx.conf debian/resolver//etc/nginx/sites-available/resolver.conf/
我觉得我在这里错过了一些非常愚蠢的东西。
在检查了dh-exec的文档和代码后,我认为dh-exec的输出和dh-install的运行之间一定有什么奇怪的地方。
如果有任何提示,我将不胜感激。
版本:
- dh-exec 0.22
- debhelper 9.20160115ubuntu
- Ubuntu 16.04.1 LTS
【问题讨论】: