Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
last file in a directory is removed. This might cause common and
expected-to-be-existing directories in /usr/pkg to be removed, and
a subsequent attempt at installing a file to the now non-existent
directory will instead create a file with the name of the expected
directory.
This will create PLIST errors for the package in question, but also will
cause the erroneously named file to not be removed on package removal.
This can cause cascading bulk build failures for subsequent packages.
To prevent this, after each package is done, check if some of the
common top-level expected-to-be directories are now files, and
remove them and emit an error message if so.
I *think* I already fixed the single package which had the unfortunate
problem of not declaring "include" as an installation directory, but
this should prevent the problem from re-occurring in the future as well.
Thanks to joerg@ for the hint for pulling in the value of PREFIX.
|
|
|
|
doing an old-style bulk build on 4.0 or older systems:
- in mk/bulk/build, do "make update" instead of "make install + clean"
when installing a new pkg_install
- in pkgtools/pkg_install/Makefile, don't try to use our own
executables (${WORKDIR}/pkg_add/pkg_add etc.) if they don't exist
Discussed with joerg, and even though he's not entirely happy
with the latter change, he didn't appear to have a better suggestion.
This, and putting /usr/pkg/sbin earlier than /usr/sbin in the $PATH
appears to be required to get an old-style bulk build going.
|
|
package since a few days.
|
|
|
|
|
|
|
|
the pkglint directory. This part had been more time-consuming than
necessary. Now it only needs one call to bmake instead of n.
|
|
|
|
|
|
- add the option "-p|--post-build" to allow you to only run the
post-build portion of the bulk-build
|
|
two forks per package.
|
|
variable does.
|
|
${BUILDDATE} before, which has disappeared with the REPORTS_* change.
|
|
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.
|
|
much unnecessary redundancy from the code. Reordered the pkgsrc
variables so that related variables appear adjacently in the output.
|
|
program if the program would be run in "set -e" mode.
|
|
PKG_DELETE and PKG_INFO. This is more straigt-forward and adds the
proper `-K' command line option to the calls, which in turn fixes bulk
builds that don't use the default PKG_DBDIR.
|
|
commit.
|
|
distinguish them from the various other messages.
|
|
quite a long time. Currently the reader of the build log might assume
that the installation of lang/perl5 takes so long, which is wrong.
|
|
|
|
|
|
bsd.pkg.mk:1.1758-1.1752
bsd.prefs.mk:1.210
bulk/build:1.79
defaults/mk.conf:1.93-1.92
|
|
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.)
|
|
|
|
be unlinked. Not even in a comment.
|
|
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.
|
|
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.
|
|
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.
|
|
- 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.
|
|
bsd.bulk-pkg.mk.
|
|
the INDEXFILE.
|
|
line announcing that.
|
|
- Changed "foo; if [ $? -eg 0 ]; then" to "if foo; then" in three places.
|
|
- Removed the singleton variable pkg_install_dir.
|
|
somewhat sane. If a check fails, the bulk build is terminated. Removed the
conditional under which MAKECONF is exported, as it is not needed anymore.
|
|
|
|
- Added file post-build-conf, which provides functions to print and
export the config variables from build.conf.
- All config variables are shown at the start of a bulk build.
- Added a configuration variable MAKECONF with the obvious meaning.
|
|
- Sorted the command line options alphabetically in the parse loop.
|
|
cat(1) is used.
|
|
- Removed the perl5_dir variable, as it has only been used in one place.
- Added error checking for the installation of the prerequisite packages
after the main build.
|
|
"from the beginning".
- Moved the code to get the value of BULK_PREREQ some lines up, as there
are also 19 other variables using the same code. This saves one extra
check if the pkglint directory exists.
- Added BULK_PREREQ to the variables whose value is printed before starting
the actual build.
- When installing prerequisite packages, print a nice sentence instead of
a simple "echo $pkgdir".
|
|
The default function prepends the well-known "date, progress, pkgdir" to
each line.
- Check that the environment variable USR_PKGSRC is given and is an
absolute pathname.
- Introduced variables for the various directories. Their names all end in
_dir, and they contain absolute pathnames. Changed all instances of
${USR_PKGSRC}/pkgtools/pkglint to ${pkglint_dir}. Likewise for the other
directories.
- Added more error checking. The bulk build is terminated if the
pkg_install package cannot be updated or the prerequisite packages
cannot be installed.
|
|
formatted error messages in case of failure. It also helps shortening
the code.
- Replaced many uses of "exit 1" with die().
|
|
- All error messages go to stderr instead of stdout.
- Added variable quoting.
- Reindented some code for better readability.
- Changed "Build Temporary Files" caption to "Some variables used in the
bulk build", which is more appropriate.
|
|
the code a little.
|
|
build.conf file. The only way to do this before had been to set the
(undocumented) environment variable BULK_BUILD_CONF. This is a
conservative extension.
|
|
"grep | awk".
|