Re: git-clone(1) after base 3e8619e535b6 for /usr/ports subdirectories

From: Marek Zarychta <zarychtam_at_plan-b.pwste.edu.pl>
Date: Sun, 08 Feb 2026 12:17:30 UTC
On 8.02.2026 12:51, Marek Zarychta wrote:
> On 8.02.2026 04:46, Graham Perrin wrote:
>> On 08/02/2026 03:17, Warner Losh wrote:
>>
>>> That only works if don't already have a ports tree. What's there?
>>
>>
>> root@freebsd-16-amd64-qemu:~ # ls -hlR /usr/ports
>>
>> total 1.0 KB
>> drwxr-xr-x  2 root wheel    2B Jan 19 19:37 distfiles
>> drwxr-xr-x  2 root wheel    2B Jan 19 19:37 packages
>>
>> /usr/ports/distfiles:
>> total 0 B
>>
>> /usr/ports/packages:
>> total 0 B
>> root@freebsd-16-amd64-qemu:~ # mount | grep ports
>>
>> zroot/usr/ports on /usr/ports (zfs, local, noatime, nosuid, nfsv4acls)
>> zroot/usr/ports/distfiles on /usr/ports/distfiles (zfs, local, 
>> noatime, nosuid, nfsv4acls)
>> zroot/usr/ports/packages on /usr/ports/packages (zfs, local, noatime, 
>> nosuid, nfsv4acls)
>> root@freebsd-16-amd64-qemu:~ #
>>
>>
> Hello Graham,
>
> my recommendation is to set WRKDIRPREFIX, DISTDIR, PACKAGES and 
> INDEXDIR (if you are using indexes) to the separate subtree as follows:
>
> #zfs destroy zroot/usr/ports/distfiles
> #zfs destroy zroot/usr/ports/packages
> #mkdir -p /var/ports/{distfiles,packages}
> #cat <<EOF >> /etc/make.conf
> WRKDIRPREFIX= /var/ports
> DISTDIR= /var/ports/distfiles
> PACKAGES= /var/ports/packages
> INDEXDIR= /var/ports
> EOF
>
> The above configuration works best and is absolutely required if you 
> are using read-only mounts for /usr/ports (NFS, nullfs, etc.)
>
> There is another option, if you don't want to change anything, create 
> local ports repo and add remote origin:
>
> #cd /usr/ports
> #git init
> #git remote add origin https://git.freebsd.org/ports.git
> #git fetch
> #git branch -f main origin/main
> #git checkout main
>
> Cheers
>
Perhaps my previous reply was inappropriate or came across as impolite. 
Please forgive me, Graham, if I violated netiquette.

I understand that the intent of the original mailing list thread was to 
address a problem that arose after the acceptance of another pull 
request [1], submitted by a SUSE Linux engineer who has been 
contributing frequently and should certainly be considered a FreeBSD 
contributor as well.

That said, it might be worth considering whether this particular change 
could be reverted and the issue resolved in a different, more 
FreeBSD-specific way.

[1]: https://github.com/freebsd/freebsd-src/pull/1873

Cheers

-- 
Marek Zarychta