Debian DH-exec install 會產生額外的目錄



我正在构建一个 debian 软件包,它将多个配置文件安装到具有其他名称的不同位置。为此,我想使用dh-exec安装重命名功能。

控制文件中,我dh-exec声明为构建依赖项

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-执行 0.22
  • 德贝希尔弗 9.20160115乌班图
  • 优麒麟 16.04.1 LTS

>package.install文件必须是可执行的。

否则dh-exec将无法运行,它将用作常规的.install文件。 对于常规的.install文件,=>找不到文件,因此被忽略,正确的成员是要创建的目录,而不是目标文件。

通过检查其他使用dh-exec的项目,我终于自己弄清楚了这一点。

就我而言,直到我将debian/compat更新到级别9之前它才起作用。

相关内容

  • 没有找到相关文章

最新更新