[Bug 269884] [nanoBSD] cust_pkgng() fetches ports-mgmt/pkg from remote regardless of required package

From: <bugzilla-noreply_at_freebsd.org>
Date: Tue, 12 Nov 2024 20:09:07 UTC
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=269884

--- Comment #4 from Jose Luis Duran <jlduran@FreeBSD.org> ---
Thank you for the bug reports! Please, keep them coming.

If I understand correctly, this can be divided in three issues:

1. cust_pkgng() always fetches ports-mgmt/pkg.
2. NANO_PACKAGEDIR cannot be a symbolic link.
3. If TARGET is not the same machine/architecture as the host, because of item
(1), it will fail.

Let's start with the easy one, number (2):

The way I see it, after 9af130ae8c03, cust_pkgng() uses a nullfs mount to share
the contents of NANO_PACKAGEDIR inside the chroot (NANO_WORLDDIR). It is more
robust, indeed, but it has the drawback that if NANO_PACKAGEDIR is a symlink,
it will fail.
My proposed fix is simply to use the realpath of NANO_PACKAGEDIR.

I will also update fill_pkg.sh accordingly.

Number (1) and (3) are closely related. From what I can read in the guide
"Introduction to NanoBSD", you are supposed to already take care of the
differences in architectures, etc. by providing a suitable Pkg directory, but
maybe it is not explicit.
I do have however experimenting cross-building, and may have a small addition
to the scripts, but this is outside the scope of this PR.

The code reviews take place on GitHub or Phabricator, so I will post my
proposed fixes there. If you do not have a Phabricator account, please post
your suggestions here, and I will forward them accordingly. The project is
aware of this annoyance, and I apologize for the inconvenience.

-- 
You are receiving this mail because:
You are the assignee for the bug.