===== 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