Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
point where it is actually used, which is when mk/bulk/pre-build.local
is executed for allowing user-specific modifications before the build
begins. That way it's easier to see why this command is necessary at
all.
|
|
create log files in it.
- Fail early if the ORDERFILE does not exist. (As this program is not in
"set -e" mode, it had continued without error checking, which resulted
in _many_ error messages.)
|
|
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.
|
|
|
|
BULK_PREREQ package.
|
|
|
|
|
|
package list more useful by only showing the invalid characters, not the
complete variable value.
|
|
- Added more sanity checks.
|
|
be unlinked. Not even in a comment.
|
|
the filename of the toplevel BROKENFILE correctly.
|
|
cd's into pkgtools/pkglint and does a "make fetch".
Since the audit-packages check was introduced to bsd.pkg.mk, this
"make fetch" will fail with an error message which looks like:
===> do-fetch [pkglint-4.42.1] ===> Checking for vulnerabilities in pkglint-4.42.1
===> check-vulnerable [pkglint-4.42.1] ===> *** The audit-packages package must be at least version 1.40
===> check-vulnerable [pkglint-4.42.1] ===> *** Please install the security/audit-packages package and run
===> check-vulnerable [pkglint-4.42.1] ===> *** '/usr/pkg/sbin/download-vulnerability-list'.
*** Error code 1
since there is no audit-packages package installed at this point (we
are still doing the pre-installation checks).
So call "make fetch" with an additional SKIP_AUDIT_PACKAGES=yes
argument at this point.
|
|
packages" and "Generating the report".
|
|
variables into that section, since they have nothing to do with
uploading the binary packages.
|
|
However, this does not help people who are doing bulk builds
in sandboxes via read-only nullfs mounts.
A correct, long-term solution to this needs to be found.
|
|
formline(). This prevents long package names from being trimmed.
- Removed the "-p e" command line option from the pax(1) command line.
This makes it possible to run mk/bulk/post-build as different user
from the one who did the actual build.
|
|
- Added section headings to make reading the code more efficient.
- Added bp_die() for uniform error messages.
- Added sanity checks:
- $BULK_BUILD_CONF must be a regular file.
- Protect against spurious output from the bulk.conf file.
- Check that configuration variables are defined, non-empty and
do not contain newlines.
- Properly extract MAKECONF from the bulk.conf file when getting the
mk.conf variables.
- Protect against spurious output from BMAKE show-vars.
- Fixed the use of undefined values ($startdate).
- Changed some calls to my_system() to a more secure form.
- Check if the calls to chdir() actually work.
- Look for the BROKENFILEs in BULKFILESDIR instead of USR_PKGSRC.
- Changed postfix conditions to prefix conditions. Example:
do_foo() if $bar; ==> if ($bar) { do_foo(); }
|
|
nullfs mounts are used (on NetBSD).
Only attempt to install new pkg_install tools if the bulk build is not
taking place in a sandbox.
This is a quick and dirty hack to allow sandboxed bulk builds (the majority
of cases, I suspect) to operate properly once again.
|
|
global log files but also for the package-specific ones.
|
|
|
|
BULKFILESDIR.
|
|
- 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}.
|
|
- The main .make file is stored in ${BULKFILESDIR} instead of ${PKGSRCDIR}.
- The PKGLIST variable from the configuration file is passed to the
bulk-cache command in the environment. There are very few variables left
that have to be exported via export_config_vars(). Maybe that function
can be avoided alltogether.
|
|
pkgsrc packages, collecting different information.
- BMAKE is taken from the environment instead of querying `uname -s`.
- package-specific log files can be saved in a directory tree different
from PKGSRCDIR.
- Added sanity checks for BMAKE, bulkfilesdir and brokenfile.
- The .pkglist cache is saved in ${BULKFILESDIR} instead of ${PKGSRCDIR}.
- Reformatted the diagnostics.
|
|
error messages from failed "cd" commands simply go to stderr.
|
|
- Changed the implementation how package-specific log files are generated.
No user-visible changes.
- Stricter preconditions:
- bulkfilesdir must be an absolute path.
- brokenfile must not contain slashes.
- The .pkglist file is taken from BULKFILESDIR, not from PKGSRCDIR.
- Error messages use the prefix "[printindex]" instead of "===>", as the
latter is already reserved for pkgsrc. Everything else would be confusing.
- If a "cd" into a package directory fails, an error message is written to
${BULKFILESDIR}/${BROKENFILE}.
|
|
- Renamed the second parameter from "brokenbasedir" to "bulkfilesdir". The
latter name is already used in bsd.bulk-pkg.mk for the same purpose.
- Renamed "cwd" to "pkgsrcdir" for the same reason.
|
|
(A future Interix-specific mksandbox procedure is in work.)
|
|
changes.
|
|
is mostly used in batch mode. Impatient users should count the number of
lines in the output file if they can't wait.
|
|
created.
|
|
|
|
before/after building the package.
|
|
.index file.
- Condensed the code for printing to another package's .broken file in case
of failure. (Added a variable pkg_brokenfile.)
|
|
|
|
bsd.bulk-pkg.mk.
|
|
messages. Replaced all instances of ${ECHO_MSG} "BULK> " with ${BULK_MSG}.
|
|
like [], ?, *. They _really_ should not exist, but you never know. While
here, added a rationale for the not-so-obvious :detect_duplicates:
delimiter.
|
|
|
|
the INDEXFILE.
|
|
printed if no package name could be found for a package directory.
|
|
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.
|
|
line announcing that.
|
|
they get useful default values in the pre-build script. Thanks to
kristerw for pointing that out.
|
|
- Changed "foo; if [ $? -eg 0 ]; then" to "if foo; then" in three places.
|
|
- Removed the singleton variable pkg_install_dir.
|
|
program was invoked without arguments.
|
|
|