iibless, perl script to turn directory into valid i-Package
Given a directory with package contents (which can be anything), iibless will create the necessary extra contents that turns the directory into a valid i-package bundle. This documentation has been created automatically from the script itself.
The i-Package format is a directory (bundle) containing a set of files and no subdirectories.
The name of the bundle should end on ``.ii2''. For the remainder of this description, a package name of ``foo.ii2'' will be used.
The following files are required to exist inside the bundle to make a valid i-Package and these are generated by iibless:
The following files are standard files of an i-Package. Each is optional, but their availability define the functionality of the i-Package:
For al scripts/programs above holds that their function is not guarantueed. It is only convention to let the foo.remove script or program do an uninstall of the i-Package. It could do quite other things if the i-Package maker decides to.
The file foo.plist contains the Table of Contents for the package. This is a Mac OS X format property list with the following entries:
iiversion
timestamp
name
default_url
install_location
relocatable
install_location
.
adminrequired
install_location
directory) is required.
interactive
files
file
size
executable
md5
sig
(optional)dependencies
(optional)pkgdependencies
include
optional
reason
set
displayname
installlocation
relocatable
installlocation
will be used. Example, if texbinaries and texbinaries-experimental are packages that exclude the other (they each have a NOT for the other) but they are relocatable, they may only not be installed at the same install location. If ghostscript-6 and ghostscript-7 are likewise mutually exclusive but they both have a fixed and nonrelocatable install location, they should not be installed together on the system at all, even if their respective install locations would differ.
Usage:
iibless --man
iibless --htmlman
iibless [--verbose[=i]] [--keyid=s] [--keyserver=s] [--preparedep=s] [--removedep=s] [--configuredep=s] [--pkgdependencies=s] pkgname iidirname installlocation url adminrequired relocatable interactive
Arguments
name
in the ``Table of Contents''
install_location
in the ``Table of Contents''
default_url
in the ``Table of Contents''
adminrequired
in the ``Table of Contents''
relocatable
in the ``Table of Contents''
interactive
in the ``Table of Contents''
Options:
Example:
iibless --keyid=iinstaller@rna.nl --verbose=2 \ --pkgdependencies=bzip.dependencies.plist \ 'BZIP2 Library and Tools' bzip2.ii2 \ /usr/local http://tug.org/i-packages/bzip2.ii2 \ YES NO YES
This will bless the directory bzip2.ii2, give the package the name BZIP2 Library and Tools set it to authentication required, relocation not allowed and with interaction enabled. It will sign the package files with GPG key iinstaller@rna.nl and produce quite a bit of progress output.
{ "iiversion" = "2"; "timestamp" = "1038872467"; "name" = "wvWare (Word Conversion Tools)"; "default_url" = "http://tug.org/i-packages/wvWare.ii2"; "install_location" = "/usr/local"; "relocatable" = "NO"; "adminrequired" = "YES"; "interactive" = "YES"; "files" = { "wvWare.dependencies.plist" = { "file" = "wvWare.dependencies.plist"; "size" = "1373"; "executable" = ""; "md5" = "MD5(wvWare.dependencies.plist)= 4da8bb786dbc2b92ddbdc07c7002e8f4"; "sig" = "-----BEGIN PGP SIGNATURE-----\nVersion: GnuPG v1.0.7 (Darwin)\n\niD8DBQA96++TnQPbcMh6tfwRAgA5AKCA/xXlL7KC+JslAahZ5Tf4LKnDvQCeNQHH\ndt69CtV+YQlL5XqXLFlv83s=\n=ttJC\n-----END PGP SIGNATURE-----\n"; }; "wvWare.tar.bz2" = { "file" = "wvWare.tar.bz2"; "size" = "2433687"; "executable" = ""; "md5" = "MD5(wvWare.tar.bz2)= e8924138f91314ba72bfa7d4c1ba212a"; "sig" = "-----BEGIN PGP SIGNATURE-----\nVersion: GnuPG v1.0.7 (Darwin)\n\niD8DBQA96++UnQPbcMh6tfwRAhO9AJ9FvLXK8/p1RyMkgZbbNcenodfyDACgu4ha\nXLgNM1JplxCqqA9pJLJRqM8=\n=52D5\n-----END PGP SIGNATURE-----\n"; }; "wvWare.rtf" = { "file" = "wvWare.rtf"; "size" = "1694"; "executable" = ""; "md5" = "MD5(wvWare.rtf)= 14d058b6fe98a0b2333ab533e1f90d04"; "sig" = "-----BEGIN PGP SIGNATURE-----\nVersion: GnuPG v1.0.7 (Darwin)\n\niD8DBQA96++UnQPbcMh6tfwRAm3LAJ9ajp5TVNevUOdi8GxmMOfcO3VkjgCfQYWS\nRdH32rpCG2zhpTac5m6UcIY=\n=I9tp\n-----END PGP SIGNATURE-----\n"; }; "wvWare.prepare" = { "file" = "wvWare.prepare"; "size" = "1919"; "executable" = "1"; "md5" = "MD5(wvWare.prepare)= aa9c46e8ed9163f399aa1488ac4ee35c"; "sig" = "-----BEGIN PGP SIGNATURE-----\nVersion: GnuPG v1.0.7 (Darwin)\n\niD8DBQA96++UnQPbcMh6tfwRAnssAJ9TiFmHkmewvjfHwhgaQzDPY00SzwCgoiY7\nySsjSM0U81xYJrjaX941w2Q=\n=QbY/\n-----END PGP SIGNATURE-----\n"; }; "wvWare.stamp" = { "file" = "wvWare.stamp"; "size" = "11"; "executable" = ""; "md5" = "MD5(wvWare.stamp)= b6ca20739833c2d94838aade10fec778"; "sig" = "-----BEGIN PGP SIGNATURE-----\nVersion: GnuPG v1.0.7 (Darwin)\n\niD8DBQA96++UnQPbcMh6tfwRAhaLAKCL7LHNDog5UHeQ/Q8OcoTxQ74ZxACfSn85\nd3AFctC3qZ9+oUQnLpMptao=\n=LfRk\n-----END PGP SIGNATURE-----\n"; }; "wvWare.l.bz2" = { "file" = "wvWare.l.bz2"; "size" = "1988"; "executable" = ""; "md5" = "MD5(wvWare.l.bz2)= cacf8bb5877395e184c65ba305e52a7b"; "sig" = "-----BEGIN PGP SIGNATURE-----\nVersion: GnuPG v1.0.7 (Darwin)\n\niD8DBQA96++UnQPbcMh6tfwRAuetAJ99xKglIyXhUKSb/tDVs8q2XLUP4QCeJn79\nt1WcdeM2gMOsEafaWZvQNg8=\n=KM8B\n-----END PGP SIGNATURE-----\n"; }; "wvWare.remove" = { "file" = "wvWare.remove"; "size" = "1862"; "executable" = "1"; "md5" = "MD5(wvWare.remove)= 3553b67f98fd732d5f922249cb9a185e"; "sig" = "-----BEGIN PGP SIGNATURE-----\nVersion: GnuPG v1.0.7 (Darwin)\n\niD8DBQA96++UnQPbcMh6tfwRAh5fAJ9corhKdqeCphcmfIdhyq4U0cBKKQCguDAq\nYXfafuUlhRg7V22D2EZi8nU=\n=OiZx\n-----END PGP SIGNATURE-----\n"; }; }; "pkgdependencies" = ( { optional = NO; include = "AND"; reason = "wvWare has been linked dynamically against libwmf+iconv"; set = { libwmf = { displayname = "libwmf + iconv conversion library"; installlocation = "/usr/local"; relocatable = NO; }; }; }, { optional = YES; include = "AND"; reason = "wvWare cannot function properly without TeX"; set = { "texbinaries" = { displayname = "TeX Programs"; installlocation = "/usr/local/teTeX"; relocatable = YES; }; "texmf" = { displayname = "TeX Foundation"; installlocation = "/usr/local/teTeX"; relocatable = YES; }; }; }, { optional = YES; include = "XOR"; reason = "wvWare cannot convert to PostScript or PDF without Ghostscript"; set = { "ghostscript-6" = { displayname = "Ghostscript 6 Interpreter"; installlocation = "/usr/local"; relocatable = NO; }; "ghostscript-7" = { displayname = "Ghostscript 7 Interpreter"; installlocation = "/usr/local"; relocatable = NO; }; }; } ); }