binary packages has not worked in the last few months. Now I fixed the
rsync command line to use --files-from instead of --include-from, which
does the right thing.
Tested in a directory of about 20 binary packages, including one that is
restricted. Everything worked as expected.
Fixes PR 35199.
if some of PKG_SKIP_REASON, PKG_FAIL_REASON, NOT_FOR_*, ONLY_FOR_* are
set.
The code uses some shell trickery to avoid the use of subshells, since
these would prevent the variable assignments from being effective.
The particular /bin/sh bug that was biting here is
"${x}"/*/*/"$y"
doesn't expand the *'s if $y starts with a "." which, unfortunately, it
does. Using
"${x}"/*/*/$y
works correctly.
While here, ...
- Added stricter checking by using "set -eu".
- The bulk build configuration file is properly included, and the
MAKECONF definition that it may contain is properly exported.
- All progress messages and error messages are prefixed by "upload>",
so that it is obvious where the messages come from.
- Since extracting the make(1) variables takes quite a long time, print
an informational message before doing that.
- Removed the use of the error-prone lintpkgsrc to detect whether a
package is restricted or vulnerable.
- If an error occurs, the upload program returns an exitcode of 1,
which is common among Unix utilities.
- Removed almost all pipe operators, since they tend to hide program
failures.
- All error messages are redirected to stderr instead of stdout.
- add a -n|--no-upload flag which does everything but actually executing
the upload to help see what would happen
- add a -d|--debug flag to preserve the temporary files to help with
debugging
- add a -V|--version flag
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.)
if it occurs as the condition of a "while" or "if", or in combination
with && or ||. This, of course, introduces a race condition if someone
removes the directory between the two "cd"s. The result would be that
the bulk build terminates, but that's not a big issue, as in this case
there must be something much more severely broken.
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.