void-packages/doc/BINPKG_INFO
Juan RP 6c252d43d4 Split installation/removal parts in prepost-action scripts.
There are two scripts that can be used now:
	- prepost-inst: for pre/post actions at installation.
	- prepost-rm: for pre/post actions at removal.

--HG--
extra : convert_revision : 5e054758f549f5c81693b825795fbb36e2d5513a
2009-02-03 17:32:51 +01:00

65 lines
1.7 KiB
Text

A binary package built with xbps is a normal tar(1) archive, compressed
with bzip2 and has the following structure:
/
/usr ------|
/var ------| => Package structure that will be installed.
/etc ------|
...
/var/cache/xbps/metadata/$pkgname
/var/cache/xbps/metadata/$pkgname/flist
/var/cache/xbps/metadata/$pkgname/props.plist
/var/cache/xbps/metadata/$pkgname/prepost-inst
/var/cache/xbps/metadata/$pkgname/prepost-rm
Metadata info is stored in the "/var/cache/xbps/metadata/$pkgname"
directory and two files will be always be present: flist and props.plist.
The flist file contains the list of files that the package will
install. The props.plist file is a proplib(3) property list and
has the following structure:
<dict>
<key>pkgname</key>
<string>foo</string>
<key>version</key>
<string>3.40</string>
<key>maintainer</key>
<string>The Master BOFH <bofh@baobab.org> </string>
<key>short_desc</key>
<string>Foo is a virtual package</string>
<key>long_desc</key>
<string>
Foo is a virtual package to show how the metadata props.plist file works
with xbps handling binary packages.</string>
<key>architecture</key>
<string>x86_64</string>
<key>installed_size</key>
<integer>500000</integer>
<key>configuration_files</key>
<array>
<string>/etc/foo.conf</string>
...
</array>
<key>run_depends</key>
<array>
<string>bofh-2.0</string>
<string>blab-1.1</string>
...
</array>
...
</dict>
The prepost-* executables allows you to trigger any action
at pre/post installation/removal of the binary package.
The package's dictionary will also be written into the repository's package
index file, that describes information about a binary package on it.
See the BINPKG_REPOSITORY file for more info about repositories.