Re: PORTS_MODULES fails with beinstall.sh

From: Gary Jennejohn <garyj_at_gmx.de>
Date: Tue, 07 Mar 2023 15:11:21 UTC
On Tue, 7 Mar 2023 13:47:53 +0000
Nuno Teixeira <eduardo@freebsd.org> wrote:

> Hello all,
>
> I'm trying make.conf PORTS_MODULES=x11/nvidia-driver and it fails with
> beinstall.sh:
> ---
>  [...]
> cd ${PORTSDIR:-/usr/ports}/x11/nvidia-driver; env  -u CC  -u CXX  -u CPP
>  -u MAKESYSPATH  -u MK_AUTO_OBJ  -u MAKEOBJDIR
>  MAKEFLAGS="DESTDIR=/tmp/beinstall.6sMgsC/mnt KERNEL=kernel TARGET=amd64
> TARGET_ARCH=amd64"  SYSDIR=/usr/src/sys
>  PATH=/usr/obj/usr/src/amd64.amd64/tmp/bin:/usr/obj/usr/src/amd64.amd64/tmp/usr/sbin:/usr/obj/usr/src/amd64.amd64/tmp/usr/bin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/sbin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/bin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/bin:/usr/obj/usr/src/amd64.amd64/tmp/legacy/usr/libexec::/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/usr/local/sbin
>  SRC_BASE=/usr/src  OSVERSION=1400081
>  WRKDIRPREFIX=/usr/obj/usr/src/amd64.amd64/sys/GENERIC-NODEBUG make -B
> deinstall reinstall
>  [...]
> cd: /tmp/mountpoint.CagxU8/usr/ports/x11/nvidia-driver: No such file or
> directory
> make: don't know how to make deinstall. Stop
> ---
>
> Any hints?
>

Read the shell script.

It only mounts srcdir, objdir and devfs under BE_MNTPT.  The shell script
has absolutely no knowledge of other directories.

You could hack the script by adding e.g. portsdir=/usr/ports and then mount
it with
mount -t nullfs "${portsdir}" "${BE_MNTPT}${portsdir}" || errx "Unable to
mount ports"

Probably best to create a private copy named e.g. beinstall+ports.sh and
put it in your home directory.

--
Gary Jennejohn