Automate the process to keep current OpenBSD ports up to date.

Markus Hennecke 955c9ee91d Target show-indexed is not available in 6.4 5 anni fa
README 2791979530 Handle ports that require the in-tree libtool without having to patch the 15 anni fa
autoupdate.pl 955c9ee91d Target show-indexed is not available in 6.4 5 anni fa
autoupdaterc f9934b4263 Determine if a build can be done in parallel 7 anni fa
cleanup_packages.pl aea004aaa9 Use a script to clean up old packages from the ports directory. 13 anni fa

README

This is a script to automatically update installed ports via source from
the ports tree. It uses the out-of-date script, provided by the ports tree
in the infrastructure/build directory to pick all outdated ports. This
means that all cases of outdated ports should be covered like
- library version changes in the base system
- dependend ports updated
- new version of ports

The script has a few drawbacks:

1. There are some ports that ship a broken libtool implementation. That
libtool will pull in libs from already installed software, because the
search path is not ordered correctly. glib2, gnash and cairo are among
those ports I am currently aware of, but I guess that the list will grow
in the future.

Some ports can be build via using the systems own libtool, for these ports
patches for the Makefile are in the patches subdirectory. With the current
version of the script, those ports may be added to the variable
"libtool_ports" in the rc file, if a port is listed there the LIBTOOL
environment variable will be set while the script is running, no need to
patch the Makefile of the port any more.

2. It is not yet finished. There are major parts missing like command line
handling and handling of some of the problems described above automatically.
I have installed a limited set of packages, so some corner cases may
require a different handling or an altered regex for parsing the output from
the out-of-date script. Feel free to report those things to me.

3. Some ports are updated and get another dependency list. These dependencies
may not be installed yet, so they are silently build by the updated port.