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:
- Populate the directories with the files before generating the package (binary package)
- 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.
精彩评论