ports DESTDIR not finding dependent ports
erik at cederstrand.dk
Fri Oct 26 09:01:01 PDT 2007
I'm trying to install some ports into a chroot environment. For this, I
use the DESTDIR support in ports. Some ports with dependencies are
failing to install. Below are some details i have gathered. I really
need this to work, so I'm willing to help debug this over the next days,
if someone wants to look into this. Pointers to where I can begin
debugging myself would also be appreciated.
I have chosen postgresql82-client as an example:
# chroot /path/to/chroot
gmake-3.81_2 GNU version of 'make' utility
portupgrade-2.3.1,2 FreeBSD ports/packages administration and management
pcbsd# ls /usr/local/bin/gmake
# cd /usr/ports/databases/postgresql82-client
# make install clean DESTDIR=/path/to/chroot
===> postgresql-client-8.2.5_1 depends on executable: gmake - not found
===> Installing for gmake-3.81_2
===> Generating temporary packing list
===> Checking if devel/gmake already installed
===> gmake-3.81_2 is already installed
You may wish to ``make deinstall'' and install this port again
by ``make reinstall'' to upgrade it properly.
If you really wish to overwrite the old port of devel/gmake
without deleting it first, set the variable "FORCE_PKG_REGISTER"
in your environment or the "make install" command line.
Some additional data:
1) This works on the host (7.0-BETA1 #6, i386). That is, gmake is found
and left alone, and postgresql installs.
2) The chroot is 8.0-CURRENT
3) I've had a look at bsd.destdir.mk but it's mostly black magic. From
what I can read, after mount_nullfs-mounting /usr/ports to the chroot,
it basically issues this command:
# chroot /path/to/chroot sh -c "cd
/usr/ports/databases/postgresql82-client; make install clean; "
If I issue this command from the command-line, gmake is found and the
port is installed:
===> postgresql-client-8.2.5_1 depends on executable: gmake - found
So something else must be going wrong.
More information about the freebsd-ports