Debian

Dpkg dh_install:從建構目錄而不是 debian/tmp 目錄複製文件?

  • September 17, 2019

假設我有一個 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在安裝查找命令中添加前綴../..

  1. dh_install採用相對於目前目錄的路徑,目前目錄通常是包的頂級目錄。在你的情況下project_0.0-1,所以你的find呼叫應該輸出project/path/to/...
  2. 是的,那也行。我知道我推薦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 {} + \;
  1. 我認為那行不通。

(在大多數情況下,我希望您的主建構能夠將二進製文件安裝到給定目標,但這是另一個討論。)

引用自:https://unix.stackexchange.com/questions/542305