Question

I have the following debian structure:

  • debian/usr/share/test
  • debian/usr/share/test/test
  • debian/usr/share/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

Was it helpful?

Solution

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.

OTHER TIPS

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.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top