Debian
Dpkg dh_install:從建構目錄而不是 debian/tmp 目錄複製文件?
假設我有一個 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
目錄中嗎?C)我是否應該破解它並
printf
在安裝查找命令中添加前綴../..
dh_install
採用相對於目前目錄的路徑,目前目錄通常是包的頂級目錄。在你的情況下project_0.0-1
,所以你的find
呼叫應該輸出project/path/to/...
。- 是的,那也行。我知道我推薦
dh_install
了 ,但第一條規則debhelper
仍然是它是為您服務的工具,如果您發現跳過它更容易,您不妨這樣做:override_dh_install: install -d debian/package/usr/bin find project/path/to/binaries -type f -executable -exec install -t debian/package/usr/bin {} + \;
- 我認為那行不通。
(在大多數情況下,我希望您的主建構能夠將二進製文件安裝到給定目標,但這是另一個討論。)