Search code examples
debianpackagedpkg

debian package creating needed directories in preinst


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


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.