gpt4 book ai didi

debian dh-exec install 创建额外的目录

转载 作者:行者123 更新时间:2023-12-04 02:04:32 26 4
gpt4 key购买 nike

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

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

最佳答案

package.install 文件需要可执行

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

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

关于debian dh-exec install 创建额外的目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44497329/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com