假设我有一个 debian 包,如下所示:
project_pkg/
.git
project_0.0-1/
debian/
install
...
project (git submodule with tagged commit)
使用以下安装文件:
// .../debian/install
#!/usr/bin/env bash
find $(pwd)/project/path/to/binaries -type f -executable -printf "$(pwd)/project/path/to/binaries/%f usr/bin\n"
并且项目有一个make
入口点,make -C project build
例如生成我需要打包的所有必要文件。
整个打包过程的制作/构建组件现在可以工作。但是,理想情况下,我会从安装文件夹中找到我需要安装的所有必要文件。
我现在有一个解决方案,这将涉及将项目中的二进制文件debian/tmp/
从外部/debian
或从/debian/rules
.
但是我可以很容易地设置dh_install
从项目中获取文件,如果有办法这样做的话..
A)有没有办法dh_install
从项目中获取文件,
B)只是运行两个find
命令并将二进制文件复制到debian/tmp
目录中吗?
printf
C)我是否应该破解它并在安装查找命令中添加前缀../..
dh_install
采用相对于当前目录的路径,当前目录通常是包的顶级目录。在你的情况下project_0.0-1
,所以你的find
调用应该输出project/path/to/...
。是的,那也行。我知道我推荐
dh_install
了 ,但第一条规则debhelper
仍然是它是为您服务的工具,如果您发现跳过它更容易,您不妨这样做:我认为那行不通。
(在大多数情况下,我希望您的主构建能够将二进制文件安装到给定目标,但这是另一个讨论。)