Debian 软件包的临时安装目录是什么?

Debian 软件包的临时安装目录是什么?

我正在为 Meteor 应用程序编写 debian 包装。该命令将创建一个需要在其上运行的meteor build“包” (以解决其 node.js 依赖项);npm install然后我们就可以打包文件了。

在哪里创建捆绑包?

我决定在 debian/tmp 的子目录中创建它,如下所示(在规则文件中):

override_dh_auto_build:
    cd bigbluebutton-html5; meteor build --directory ../debian/tmp/bigbluebutton-html5
    cd debian/tmp/bigbluebutton-html5/bundle/programs/server; npm install

但是 debian/tmp 在二进制阶段开始时被删除dh_prep。我可以通过重写来解决这个问题dh_prep,如下所示:

# This is here to prevent removal of debian/tmp during the install step.
override_dh_prep:

但这似乎违反直觉。

有人能建议一个更好的地方来展示“捆绑包”吗?或者有更好的方式来打包 Meteor 项目?

答案1

这通常是在build项目顶层下的目录中或在debian/build.无论您选择哪一个,请确保将其添加到debian/clean,并带有尾部斜杠,以便在构建开始时将其删除。

使用会导致超出您遇到的问题的debian/tmp问题;dh_prep例如,dh_missing期望所有内容都debian/tmp安装在生成的包中的某个位置。

过去几个月,Debian 开发社区对此进行了一些讨论,请参阅这个线程最近试图提出一项更广泛的提案。

相关内容