2

我有以下debian结构:

  • debian/usr/共享/测试
  • debian/usr/share/test/test
  • debian/usr/share/test/test/a
  • debian/usr/share/test/test/b

在使用 dpkg-deb --build 构建软件包并使用 dpkg -i 安装它之后,如果文件夹不存在,它似乎不会自动创建文件夹 test。我需要在 preinst 脚本中手动创建它们吗?

更新:问题是因为 preinst 有一个错误,所以解包没有机会发生。

洛朗

4

2 回答 2

3

看看我这里的一个例子。

debian/DEBIAN 
debian/usr/bin
debian/usr/lib

你有几个选择:

  1. 在生成包(二进制包)之前使用文件填充目录
  2. 构建一个包,将调用MAKE来构建包并安装它。

在第一种情况下,您不需要通过preinst脚本创建目录:安装包时,如果需要,包管理器将创建文件夹层次结构。

在第二种情况下,您将需要在该阶段使用mkdir -p创建文件夹层次结构。install


I have been through 3 different ways of packaging for Debian repositories during the last year and believe me, the details to account for are numerous. One relief was to make the acquaintance of Launchpad and their PPA publishing process.

于 2009-12-01T01:07:55.003 回答
0

您需要与tmpdebian/control 中列出的第一个软件包命名或相同的软件包,具体取决于您选择的 debhelper 兼容模式的版本。

debhelper例如,来自示例文件之一的调用:

$(MAKE) prefix=`pwd`/debian/`dh_listpackages`/usr install

您在这里缺少一层间接性。

于 2009-11-30T23:51:27.607 回答