Add bulkbuild-rebuild which can be used to build packages individually.
It assumes that all dependencies are built and the results of the scan
phase exists. That means it can be used after a bulk build to try to
rebuild a failing package. Fixes PR 37407.
When all jobs are processed in master mode, close the listen socket
and shutdown(2) all peers. Give them a second to close(2) the
connection themselve, so that the port remains usable on the master.
This is the standard compliant fix for PR 37002.
- run checksum stage of a build with the privileged user, as DISTDIR
might not be writeable
- create the actual package as privileged user as well
- pre-create work.log when using user-destdir
- in pre-build, only wait if the meta subdirectory exists. bulklog itself
can often be a mount point.
- If not running on NetBSD or not using /usr/bin/make, set the default
of pbulk's make to ${prefix}/bin/bmake.
- Make path to neato an option and don't install it on demand.
- Fix a bug in the master mode that should fix the strange faults seen
with native libevent on NetBSD.
- Add option to skip checksum computation. Don't upload a checksum file
if that option is active.
Before removing prefix, fix the permissions. Everything inside that
directory must be writable and all directories must be searchable.
NetBSD's chmod has an option -P which I would have liked to use, but
POSIX requires only -R to be implemented. Therefore, it is possible that
permissions of files outside the prefix are changed due to symlinks.
The client-clean program promises to clean $prefix, so fail if that is
not possible. A common cause for this is that some files inside have
their flags set (see chflags(1) on NetBSD).
When installing the bootstrap kit, the source may be either a regular
file (which is then assumed to be a tar archive) or a directory (which
is copied directly). The latter option is new and allows for easier
changes of files once the bulk build has started.
phase. This saves some disk space, and in most cases the contents of
PREFIX is not interesting before.
Added quotes around keep_wrkdir and keep_prefix because they were
missing in a previous version of the example configuration file.
substitution (and any substitution warnings) run before the build starts,
rather than after building libnbcompat. The reason for this is that
libnbcompat is _built_ in the pre-configure stage when in inplace mode.
Don't depend on date to implement %s or even %F and %R or support -r,
compute dates as one comment and split. This works even with the very
special HP-UX date. Requested and tested by tnn@
Bump to pbulk-0.7.
Discussion of various parts of the design with jlam@, wiz@, tls@
and many other developers. Special thanks to David Maxwell for
testing the initial prototype and finding some bugs with
Coverity Prevent.
Supported by Google's Summer of Code 2007 project.
OK for import during the freeze: jlam@
From DESCR:
pbulk is the modular bulk build framework for pkgsrc.
This package contains:
- pbulk-scan, a program to scan the entire pkgsrc tree
or a list of directories therein for packages and
dependencies. Distributed operation using a master/client
mode is supported.
- pbulk-resolve, a program to resolve the dependencies
from the output of pbulk-scan
- pbulk-build, the build scheduler. Distributed builds via TCP
are supported.
- bulkbuild and related scripts to implement full and limited
bulk builds on top of those programs.
The pbulk framework is considered experimental.