Tazpkg - Package manager
SliTaz provides a tiny package manager which can easily install more software on the system. Tazpkg is a lightweight package manager for .tazpkg files. Completely written in SHell script, it works well with Busybox ash shell and bash. Tazpkg lets you list, install, remove, download, extract, pack, search, or get information about available or installed packages. You can also repack an installed package and automatically upgrade all installed packages. On SliTaz you can type tazpkg usage in a terminal to get a list of all the commands with a short description in English.
List of packages
Tazpkg lets you list all installed packages, installed packages by category or it can display the list of available packages on the mirror. To display a single list of all installed packages on the system, just type:
$ tazpkg list
To display all categories or packages sorted by category, you must specify cat or category. Examples:
$ tazpkg list cat $ tazpkg list base-system
Tazpkg can also generate a xHTML list (default: installed-packages.html) in the local directory of all installed packages on the system:
$ tazpkg xhtml-list
To get a single list of all available packages on the mirror you can use the command list-mirror. You can then examine the list in your favorite editor or use the Web site interface.
To install some new applications such as The Gimp, AbiWord, ePDFView, Perl or Python, you first need to recharge the list of available packages on the mirror and then install. If the package dependencies are not installed, Tazpkg will install them for you. For example, the installation of Gparted (a GTK+ partition editor using GNU parted):
# tazpkg recharge # tazpkg get-install gparted
The 'get' Packages
There are a few packages that are prefixed with get-. These are not packages per-sé but contain only a script. This script provides binary software by:
- downloading the program
- creating a Tazpkg from it
- installing the generated Tazpkg
This means that the actual program is not contained within the get package, but that generated by it.
To manage this style of software:
- install the latest version using the get script in the get package;
- remove it by using tazpkg on the generated package.
# tazpkg get-install get-OpenOffice3 # get-OpenOffice3
Upgrade installed packages
To keep your system up-to-date and secure after recharging the packages list, you can automatically install all new versions and security updates from the mirror with the command:
# tazpkg up
The Tazpkg Manual contains a lot more useful information.
Cookutils & the wok
All SliTaz packages are built with a tool named Cookutils and a receipt found in the wok. The receipt provides all the necessary information to build a suitable package for Tazpkg including variables to give us the package name, source tarball format, download URL, etc. Given a receipt, the compile_rules function has all of the necessary commands to configure, make, and install the package in a specific directory. After compilation, Cookutils will execute the function genpkg_rules to pick up only the needed/wanted files and generate a pkg.tazpkg (cpio archive). On SliTaz you will find all installed package receipts in the directory /var/lib/tazpkg/installed, feel free to examine them or even use one as an example.
Cookutils will search by default for a wok in /home/slitaz/wok and put generated packages in /home/slitaz/packages. These paths are set by a Cookutils configuration file which can be located in /etc/slitaz/cook.conf or in the current directory, which is useful if you want to work with multiple woks. Now, if the Cookutils are setup (# cook setup) and the slitaz-toolchain is installed, you can start to create and build a package which doesn't need many dependencies. Small example:
# cook new pkgname --interactive
When a new package tree and receipt has been created in the wok, you can edit the receipt with your favorite editor (Geany provides nicely colored code), modify the rules, functions, add dependencies to the DEPENDS variable if needed and try a first cook:
# cook pkgname
Note that you can now browse the generated files, modify the cooking receipt again or just rebuild the package. When you are happy with your work you can install the package with tazpkg install and then test the application or library.