The perfect package

The reference document I used on the format of a Slackware package is LinuxPackages's The Perfect Package (TPP) . In this section, I will try to sum-up this document and explain how list2pkg support each important item.

The package's file name

According to TPP, the package's file name should be formatted in a very strict way. It should be made of several fields, including the program name, version number and architecture, all separated by dashes. List2pkg does not directly enforce this rule, because makepkg should output a warning if the name is not standard.

Install locations

A good Slackware packages has its files in LSB standard locations. For example, no files should be in /usr/local because this is reserved for files that do not come from a package.

List2pkg does not do anything to enforce this for the moment. However, the script which can be given using the --changetree option can do it. Maybe in the future there will be standard scripts that list2pkg will run by default, and which will take care of fixing install locations inside the package tree. If you wrote a script you think could be included as a default script, please send it to me (see Chapter 4, Contributing to list2pkg).

Similarly, you can also write scripts to strip executable or gzip manpages.

Permissions and Ownership

I have tried hard to make list2pkg keep all permissions of all files and directories given in the file list. This way if the permissions are correctly set on your system, then those in the package should also be correct. If you think permissions are mishandled in some way by list2pkg, it's worth reporting the bug to me.


list2pkg automatically creates a standard slack-desc file. However, it is unable to put useful content in it, so you might want to create your own and add it using the --slack-desc option.