The following tests are performed by the lint
command, and by the
build
, rebuild
and update
commands if the --lint
control argument is specified.
When any tests fail, warnings are displayed and logged, but building continues.
prgnam.SlackBuild
- Should exist
slack-desc
- Should exist
- Should have between 1 and 14 lines that start with
prgnam:
- If the handy-ruler exists, it must be aligned correctly and have the correct format
- No trailing spaces on
prgnam:
lines, i.e. no lines should match^prgnam:<sp><sp>*$
- No
prgnam:
lines should have more than 73 chars of description - All other lines must be prefixed by
#
, or completely empty
prgnam.info
- Optional; its existence indicates an SBo-style SlackBuild
- Should define PRGNAM, VERSION, HOMEPAGE, DOWNLOAD(_arch), MD5SUM(_arch), REQUIRES, MAINTAINER, EMAIL
- Download URLs should work; to test this, the header is retrieved
- PRGNAM should be the same as the .info file's name and the .SlackBuild file's name
- Each item defined in REQUIRES should exist in the repo
README
- Optional; if prgnam.info exists, README should exist
- Should not contain long lines >= 80 chars
Package name
- Package name should be in form $PRGNAM-$VERSION-$ARCH-$BUILD$TAG.$PKGTYPE
- If the slackbuild produces one package, PRGNAM should be the same as the slackbuild's name and should be the same as PRGNAM in the .info file
- VERSION should be the same as VERSION in the .info file
- ARCH should be i?86 or x86_64 (optionally suffixed with _KNLVER, _LOCALE etc), or noarch
- BUILD should be numeric
- TAG should be same as the repo's TAG
- PKGTYPE should be tgz, txz, tbz or tlz (and should be as set by the caller)
Package contents
- Should be tar-1.13 compatible (path prefix should not start with
./
) - Compression type should correspond to package type suffix
- Should only install to (bin)|(boot)|(dev)|(etc)|(lib)|(opt)|(sbin)|(srv)|(usr)|(var)|(install)
- should contain install/slack-desc
- nothing installed to usr/local
- nothing installed to usr/share/man
- all manpages gz compressed
- should install without error