===== The DeLi Linux ports system =====
== ** Warning : this is NOT valid for Deli 0.8.x ** ==
Deli 0.8.x uses pacman for the updates and makepkg (instead of pkgmk) for getting the sources;
you find the PKGBUILD files you need therefore in
[[http://www.delilinux.org/ports]]
==== What is it? ====
In the BSD Unix World a ports system means a directory hierarchy (ususally under ''/usr/ports'') where you can automatically build your own binary packages from source. The advantage of a ports system is, that the built packages are optimized for your computer. Second advantage is: ports are faster available than binary packages.
In the last years ports systems became popular on Linux, too. A well-known Linux distro with a ports system is [[http://www.gentoo.org|Gentoo]], another one is [[http://www.crux.nu|Crux]].
To integrate new software in DeLi Linux easier and to put more efficiency in creating the distro, DeLi Linux has adopted the Crux ports system.
==== Using the ports system ====
=== Installing the ports tree ===
* First download a ports tree from http://www.delilinux.org/misc/
* Extract it under ''/usr'' with
cd /usr
tar xvzf $DOWNLOADDIR/ports-XXXXXXXX.tar.gz
where XXXXXXXX is the release of the ports tree and $DOWNLOADDIR is the directory where you downloaded the ports tree
If you want to build a package, go the a package directory and build it with ''pkgmk'' - see example below.
=== Using the tools ===
== ports ==
usage: ports [options] [collection ...]
options:
-u, --update update ports
-l, --list list available ports
-d, --diff list differences between installed packages and availabe ports
-v, --version print version and exit
-h, --help print help and exit
== pkgmk ==
usage: pkgmk [options]
options:
-i, --install build and install package
-u, --upgrade build and install package (as upgrade)
-r, --recursive search for and build packages recursively
-d, --download download missing source file(s)
-do, --download-only do not build, only download missing source file(s)
-utd, --up-to-date do not build, only check if package is up to date
-um, --update-md5sum update md5sum
-im, --ignore-md5sum build package without checking md5sum
-cm, --check-md5sum do not build, only check md5sum
-ns, --no-strip do not strip executable binaries or libraries
-f, --force build package even if it appears to be up to date
-c, --clean remove package and downloaded files
-kw, --keep-work keep temporary working directory
-cf, --config-file use alternative configuration file
-v, --version print version and exit
-h, --help print help and exit
== Example for building and installing a package ==
cd /usr/ports/xap/iv
pkgmk -i