- Remove pkg_install version check and rebuild if outdated. pkgsrc is
supposed to do that for us. Addresses PR pkg/38323.
- Don't bother to explicitly builddigest. pkgsrc DTRT nowadays when
PKGSRC_COMPILER includes ccache/distcc.
* Do not force the install target to take a full package name. pkg_add will
automatically pick the latest version.
* When building a package as part of makeroot, make sure it actually gets
installed. This is to fix a regression with the switch to USE_DESTDIR=yes.
Otherwise these packages will get rebuilt later on when needed.
* It is common for calls to mktemp to have 6 placeholders in the template,
not 4. Make it so.
Approved by MAINTAINER, jmmv@.
Add option -N: with the expection of pkgtools/libkver (see manual
page about NETBSD_RELEASE) avoid installation of default packages as well as
INSTALL_PACKAGES and BUILD_PACKAGES during the creation of the chroot.
Note: This is useful for running pbulk in a sandbox created by
pkg_comp as binary packages , possibly very low in the build
dependencies tree like pkgtools/digest, won't be built by pkg_comp
while creating the sandbox hence pbulk won't have to rebuild nearly
all packages otherwise already up-to-date.
The maintainer notes that this seems like abusing pkg_comp to just
create sandboxes. And well... yes indeed!
INSTALLATION_DIRS, as well as all occurrences of ${PREFIX}/man with
${PREFIX}/${PKGMANDIR}.
Fixes PR 35265, although I did not use the patch provided therein.
Ensure that libkver.so is loaded if needed via LD_PRELOAD
for all kind of commands run via the chroot target.
This fix PR pkg/32921.
Approved by MAINTAINER.
- PKG_SYSCONFDIR cannot be set by mk.conf; it is PKG_SYSCONFBASE. This was
correct in one place but incorrect in another. Fixes PR pkg/33061 by
Yoshito Komatsu.
- add MAKEROOT_HOOKS, a whitespace separated list of functions
or external scripts to be executed after the sandbox is created,
- be more verbose about hooks execution,
- run hooks only when they are defined.
ok <jmmv>
Fix libkver support for pkg_comp's build, auto and install targets,
Reported broken and fix tested by salo@.
Also ensure libkver is built, if needed, even before digest.
Approved by jmmv@
When installing libkver, as required when NETBSD_RELEASE is set
in a pkg_comp configuration, do so in a special purpose prefix and use
it from there.
This is useful when running a bulk build in the chroot or simply
removing all installed packages in it: the libkver package won't
be removed hence the chroot will still be usable.
Approved by MAINTAINER.
- Make the EXTRA_MK variable be a list of files rather a single one.
From brook at biology.nmsu.edu in PR pkg/30099.
- Directly recognize pkg_* commands to be executed within the sandbox
(i.e., no need to use the chroot keyword).
From Robert Elz in PR pkg/29749.
- Fix a typo in the manual page.
- Ensure that the first attempt to build pkgtools/digest inside the
chroot works by explicitly setting PKGSRC_COMPILER to gcc (pkg_comp
assumes NetBSD in lots of places, so this assumption is acceptable).
It was failing because it set PKGSRC_COMPILER to the empty string in
the environment, which breaks the build.
- Make kern-GENERIC.tgz part of the default SETS value, so that we get a kernel
inside the chroot. If the user removes it from the list, and no /netbsd file
exists after extraction, create an empty /netbsd kernel.
This fixes packages that look for a kernel during compilation, like net-snmp.
Found by cube@.
- Recognize the PKGSRC_COMPILER variable and set it automatically in mk.conf.
- Add the REAL_CCACHE variable: if set, the directory pointed by it will be
null-mounted inside the chroot in a place known by ccache to store the
cache. This is useful to keep it across rebuilds of the sandbox.
Idea suggested by gavan@.
- Use WRKDIR_BASENAME instead of OBJMACHINE to get a unique name of object
directories. This way, multiple jails can use the same pkgsrc tree with
write access and get the right obj links.
- Fix COPYROOTCFG.
- Automatic builds can now be interrupted at any time with CTRL+C and then
resumed! (with 'auto resume' from the command line).
- MAKE_PACKAGES has been deprecated in favour of two new variables:
BUILD_PACKAGES, which tells which packages to build after a 'makeroot'
and AUTO_PACKAGES, used during the 'auto' target.
- MOUNT_SCRIPT and UMOUNT_SCRIPT have been deprecated in favour of MOUNT_HOOKS
and UMOUNT_HOOKS, which take a list of shell functions or external commands
to be executed.
- /pkg_comp is now symlinked to /p inside the chroot, to make paths simpler
when working inside it (i.e., with the 'chroot' target).
- security/audit-packages is not installed any more inside the chroot by
default. This is not needed to get pkgsrc security checks working.
The user can add it to BUILD_PACKAGES for a regular build.
- pkgtools/xpkgwedge is not installed any more during a 'makeroot'. pkgsrc
handles this automatically when needed, so we let it install the package
for us.
- Ensure that libkver's library is preloaded when doing builds inside the
chroot, so that packages get the right version number in them.
- When creating a template file, sort all variables alphabetically.
- Several miscellaneous changes in the code: simplification of syntax,
addition of comments to functions, cleanup of messages...
- Add the AUTO_TARGET variable. This specifies the BUILD_TARGET used during
an automated build of packages (i.e., pkg_comp auto), so that one can use
'bin-install'. Suggested by gavan@.
- Fix minor bug so that a libkver package is built during makeroot.
Support pathname to configuration files, support latest libkver and
emit the usual BSD_PKG_MK ifdef protection in the generated /etc/mk.conf.
Approved by jmmv@.
* Sync with audit-packages: use the new pkg-vulnerabilities file.
* Check if the version of pkg_install inside the chroot is up to date before
building anything. If not, force a rebuild automatically.
* Disable all those ugly sync's after fsumount (were added because I had
some strange problems, IIRC). You can reenabled them by setting
SYNC_UMOUNT=yes in the configuration file.
- Introduce two new variables, MOUNT_SCRIPT and UMOUNT_SCRIPT, that let the
user specify a script file run after mounting known filesystems and before
unmounting them, respectively. Patch by seb@, thanks!
- Add the NETBSD_RELEASE variable. This is used to automatically configure
pkgtools/libkver inside the chroot so that packages see the right kernel
version when issuing calls to sysctl(8). Suggested by seb@.
- Turn on emacs editing mode by default in sh/ksh.
- Added support for audit-packages. pkg_comp will now automatically setup
the vulnerabilities file inside the chroot so that pkgsrc can check for
security flaws before building packages. See the USE_AUDIT_PACKAGES
variable in the manpage.
- Added support for gcc3. pkg_comp will now automatically install the gcc3
compiler inside the chroot and build all packages using it. See the
USE_GCC3 variable in the manpage.
- The new MKCONF_VARS variable lets you add any variable to the generated
mk.conf file from the configuration file (no need for EXTRAMK in most
cases).
- Deprecated the removepkgs target. It was buggy and difficult to adapt to
the new changes. removeroot+makeroot should produce the same effect.
- Some code cleanup, specially regarding to template file generation and
default values for variables. (See next change item)
- Configuration file semantics have changed. Variables are now set to their
default value if they are NOT set in the configuration file. This changes
the behaviour of SETS_X11 specially, which needs to be explicitly set to
"no" to disable X11.
- Fixed shell profile configuration. Now PS1 is properly set when using the
"chroot" target.