FreeBSD portupgrade packages with manual dependencies
FreeBSD portupgrade (aka pkgtools) is a tool set for working with ports and packages. It enhances abilities of system tools and adds many new ones. It is highly tunable via its configuration file and allows you to create individual svariable environment for every port you like, to define commands that will be executed before/after port upgrade stages.
pkgtools uses hash databases to keep information about available ports (in the ports tree), installed ports, dependencies, etc. So access to the information is fast. E.g. portversion(1) is much faster than pkg_version(1). (But note: you have to have a fresh INDEX file for relevant results).
If one of your ports uses manual dependencies and you usually rely on
portupgrade to maintain your installed ports up to date, then it's a good practice to let it know of these manual dependencies.
Fill ALT_PKGDEP section in pkgtools.conf file for portupgrade to be aware of alternative dependencies you use. Eg:
Code:
ALT_PKGDEP = {
'www/apache13' => 'www/apache13-modssl',
'print/ghostscript-gnu' => 'print/ghostscript-gpl',
}
Note also, portupgrade knows nothing how to handle ports with different suffixes (E.g. -nox11). So you should explicitly define variables (E.g. WITHOUT_X11=yes) for the ports in /etc/make.conf or pkgtools.conf (MAKE_ARGS section) files.pkgtools.conf file is usually found in
/usr/local/etc/pkgtools.conf.