开发者

debian package creating needed directories in preinst

I have the following debian structure:

  • debian/usr/share/test
  • debian/usr/share/test/test
  • debian/usr/shar开发者_开发技巧e/test/test/a
  • debian/usr/share/test/test/b

After building the package using dpkg-deb --build and installing it using dpkg -i, it doesn't seem to create the folders test automatically if they don't exist. Do I need to create them manually in preinst script?

UPDATE: Issue was because preinst had an error so unpacking didn't get a chance to happen.

Laurent


Look at an example of mine here.

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

You have a couple of choices:

  1. Populate the directories with the files before generating the package (binary package)
  2. Build a source package where MAKE will be called to build the package and install it.

In the first case, you don't need to create the directories through a preinst script: the folder hierarchy will be created if necessary by the package manager when the package is installed.

In the second case, you will need to use mkdir -p to create the folder hierarchy during the install phase.


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.


You need those in package named either tmp or the same as your first package listed in debian/control, depending on which version of the debhelper compat mode you choose.

E.g. a call from one of the debhelper example files:

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

You are missing that one level of indirection here.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜