The pkgdb variable generated for pbulk.conf is ${PREFIX}/var/db/pkg but
bootstrap generates by default PKG_DBDIR=${PREFIX}/pkgdb.
This fix add a common PKGDBDIR variable used for both pbulk.conf and
bootstrapkit.
changing the permission of ${PACKAGES} at the end of the script prevents that
from working.
Undo the change in r1.4 to create the All directory during setup & instead do
not change permissions.
Tested on OS X Tiger & FreeBSD.
Heads up by joerg
[1] http://mail-index.netbsd.org/pkgsrc-changes/2017/08/01/msg160826.html
of this feature has exploded over recent years, this avoids quadratic
complexity for many packages during scan and build phase of a bulk
build. Pbulk logic for exploiting this feature will be committed
separately. Over all, this saves ~66% for wm/xfce4-wm
with initially empty cache and ~90% when the cache is populated. Total
scan time can be cut in half.
at least on NetBSD. Trying to build with /bin/csh as login
shell leads to a rather cryptic "Illegal variable name" error
message for all bulk-built packages.
The script serves several purposes. Chief of them:
1. Fast track for those who just want to build their 1000 packages
and do not want to bother with optimizations.
2. Fast track for those who want to understand how pbulk is supposed
to be set up.
Because it serves as a documentation (providing working setup at the same time),
a lot of features are intentionally left out.
Ruby 1.8. The multi-version logic was skipped for an attribute, if there
was only entry in the parameter list. This is wrong, if this entry is
not the default version for this attribute. Adjust.
Tested by comparing the resulting packages for a scan with and without
this change.
anyway, simplify logic a bit:
Add Python 2.5 to the default list, but also mark it as incompatible if
wip/python25 is not present. Move the Darwin handling after setting a
default value.
Provide a new variable _PYTHON_VERSIONS_ACCEPTED that is filtered by
PYTHON_VERSIONS_INCOMPATIBLE. This helps to avoid providing broken
dependencies when a version is not supported as PYPKGPREFIX wouldn't be
set in that case.
pbulk-index-item prints a number of variables used by the parallel bulk
build code during either the build, the report or the upload phase.
pbulk-index checks whether multiple versions of the current package
could be build (e.g. because multiple Python versions are supported) and
uses pbulk-index-item for each possible combination.
Thanks to David Laight for explaining the different between using :[#]
in the body of a make target and in a clause of an .if.
Powered-by: Google SoC 2007.