environment ${PKGSRC_MAKE_ENV} is also passed along. Create a
convenience variable RECURSIVE_MAKE that does exactly this and that
can be used in place of MAKE when invoking make recursively.
Use RECURSIVE_MAKE everywhere in pkgsrc/mk that we invoke make
recursively.
that does not exist, it stopped.
Now it instead adds an entry to the main broken file and marks
it as not package with maintainer "directory_does_not_exist"
in the HTML output. (Not packaged directories are not mentioned
in the text version.)
of successful builds are not removed, only renamed. This variable will
be useful for examining the warnings that appear during the bulk builds
but are thrown away because the package builds fine. This feature is
experimental and thus not enabled by default.
call to the mk/bulk/build script. This is to allow restarting the bulk
build without getting confused by the various timestamps that occur
during a bulk build. It also fixes some problems where the text/plain
report had ended up in a directory different from the other files.
- Changed the default filename for the text/plain report from
"pkgsrc-results-${BUILDDATE}.txt" to simply "report.txt", as the
${BUILDDATE} variable didn't give a hint to when the bulk build had been
started, which is often more important than when the bulk build stopped.
- Changed the way to specify the directory and the URL where the bulk build
reports are made available. See
http://mail-index.netbsd.org/tech-pkg/2005/12/05/0002.html
for details. Specifying the directories using the FTPHOST and FTPURL
variables will be possible for some months, after which it support for
it will be dropped.
2. Reindented two "if" statements that looked like this:
if long_long_command; then :; else
else_commands
fi
By just scanning the beginnings of the lines, which is a common way of
reading source code, one may easily miss the "hidden" "then" branch at
the end of the line. I have changed it to:
if long_long_command; then :;
else
else_commands
fi
mostly a cosmetic change. The motives for this change are that the HTML
files only consisted of "<pre>", the properly quoted text/plain contents
and "</pre>". There has been no documentation of reasons for encoding plain
text in HTML unnecessarily, so this change will produce text/plain files
instead.
Another change is that instead of appending to the BROKENWRKSRC, the file is
overwritten each time. In a single bulk build this will not change anything.
Only when the package is built multiple times in a single bulk build, the
behavior will differ.
Ok'ed by agc.
that the bulk builds would only work properly with the audit-packages
package installed at all times.
I am obviously hideously mistaken in this.
By popular request, revert the change to add audit-packages, since I
am told this is the incorrect way of doing this.
- Added a bunch of internal variables that determine the correct places
for the build log files of the current package.
- Added section headings.
- Moved a sanity check out of the configuration section to not confuse
the reader.
- mk/bulk/print{depends,index} are called with two arguments, which allows
separation of BULKFILESDIR and PKGSRCDIR.
- Replaced uses of BUILDLOG, BROKENFILE and BROKENWRKLOG with their
internal counterparts, which use ${BULKFILESDIR} instead of ${PKGSRCDIR}.
Whoever had written such unusual code should have left a note in the
printindex script that the trailing white-space was required. It is such
an uncommon assumption that I treated it as a typo and removed it. Now
it's fixed. I also replaced the use of grep|awk with a simple awk, as
grep would have interpreted regular expressions in the package name.
In general, please think more about _appropriate_ ways to handle data.
grep(1) is not a tool for searching strings. It's a tool for searching
regular expressions.
if present. By design, it is not cleaned at the start of a bulk build; it
is intended to allow a bulk build admin to mark a time-consuming package as
not buildable, but which shouldn't be marked permanently as such in the
package's Makefile.
a package.
This functionality consumed an enormous amount and time, and did not
do much useful work:
* It is not needed when doing a bulk build of the full pkgrsrc tree,
since the pre-requisite packages already have been built and cleaned.
* It does not work when doing a bulk build of a subset of the packages,
since it only cleans the direct dependencies, and not the full list.
because pkginstall encodes it into its scripts. sigh.
Hack around this. For bulk builds on Interix only, use gsort for "tflat";
use the system-supplied sort for the rest of the build.