Remove various pkgsrc remains. * Remove pkgsrcaudit periodic script. * Remove pkg_radd(1) and pkg_search. pkg(8) will do. * Remove pkgsrc(7) manual page. * Remove test/fastbulk (meant to be a faster alternative to pbulk but it never took off). * Remove searching of /usr/pkgsrc searching via whereis(1). * Various small adjustments.
fastbulk - Exit w/success on more conditions * If the binary package build succeeds but the pkg_add fails it is likely due to an install conflict. Exit w/success for this case (since our goal is to generate the binary package, we succeeded!). * Do an early check to see if the binary package has already been built and exit immediately if it has.
fastbulk - More fixes and improvements * Fix improper cleaning of the "${BUILDROOT}/usr/obj/work" directory * Use lockf to lock the wildcard name for a package, serializing the builds of any related packages so they don't interfere with each other. * Clean the work directory on success or failure instead of only on success, othrewise a large >10G tmpfs is needed.
fastbulk - Remove core files & empty dirs from /var/pkg/db * The presence of a core file prevents the pkg code from properly handling the directory, causing installs from packages to fail if any dependency has a broken /var/pkg/db directory. * Clean out any core files and empty dirs before starting a build.
fastbulk - Adjustments to fix various issues (2) * Use tmpfs for /usr/obj, this speeds up builds by a lot. make w/ -DNOTMPFS will use the hard drive if your tmpfs isn't big enough. * Cleanup {chroot}/tmp/logs/run/* when restarting * When restarting handle the case where the correct package has already been installed. * When restarting handle the case where the binary package already exists. * Use pkg_add -f when adding existing packages.
fastbulk - Adjustments to fix various issues * We weren't properly installing the binary packages we were creating, resulting in parallel build races. Fixing this fixes most of the issues fastbulk was having. * Change the way pkgsrc is mounted... copy it to /build/fastbulk and add code to ensure that it is clean. * resident the bmake binary to speed things up a bit.
fastbulk - Commit to /usr/src/test/fastbulk * Commit the fastbulk (fast pkgsrc bulk building system) that I was working on late last year so others can mess around with it. * This is a set of scripts that attempt to figure out pkgsrc tree dependencies and then run as many package builds in parallel as possible, keeping track of completions which effect other dependencies in order to keep as many concurrent (up to NPARALLEL) builds going as possible. * Once the source archives get synchronized concurrency is actually limited more by the sludgepile that is the pkgsrc/bmake system which we have to use to figure out the dependencies in the first place. It takes a bit for enough of the dependency tree to build for concurrency to ramp up but it does pretty well once the core packages that everyone else depends on have been built. * Easy tracking of the state of the build via per-package log files and status information in /build/fastbulk/root/tmp/logs/{good,bad,run}. Log files for currently running builds are placed in run and then moved to good or bad when the build completes. * Remaining issues include multi-dependencies (e.g. when multiple versions of the same package is available for install), because other packages in the tree might depend on different versions of the same package, missing dependencies, and other conflicts.