I recommend making /usr/ports a separate filesystem and keep the default dirs for most things.

Pointing WRKOBJDIR at a less important fs is a good idea for when the kernel crashes during a build. Then newfs is a viable and faster cleanup strategy than fsck.

Set SUDO and PORTS_PRIVSEP in mk.conf, and run "make fix-permissions" in the dir for any port to create the dirs and set ownership.

I think the tars are fixed in 7.8, but why ftp and then cvs to get any updates, when you could just fetch via cvs anyway?

--
 Sent from a phone, apologies for poor formatting.

On 9 November 2025 22:53:28 [email protected] wrote:

Why do it the hard way when you can script it?

cat myports.sh
ftp https://ftp.openbsd.org/pub/OpenBSD/snapshots/ports.tar.gz
tar xzpf ports.tar.gz -C /usr

osver=`uname -r`
mkdir -p /usr/distfiles /usr/obj/ports
mkdir -p /usr/cache/pub/OpenBSD/$osver/packages/amd64

chown metheuser:metheuser /usr/distfiles
/usr/cache/pub/OpenBSD/$osver/packages/amd64
chown metheuser:metheuser /usr/obj/ports

chmod 775 /usr/obj

chown metheuser:metheuser /usr/ports
chown -R metheuser:metheuser /usr/ports

/etc/mk.conf
echo WRKOBJDIR=/usr/obj/ports >> /etc/mk.conf
echo DISTDIR=/usr/distfiles   >> /etc/mk.conf
echo PACKAGE_REPOSITORY=/usr/cache/pub/OpenBSD/$osver/packages >>
/etc/mk.conf


At this point metheuser can "cd /usr/ports/math/minisat"
and "make package" and it will work.

Note that the original tar file creates files with group = wheel so you
can simplify by adding yourself to wheel.

Note that the tar files are incomplete because tar and you have to
update with

    cd /usr/ports
    cvs -d $YOURMIRROR:/cvs -q up -Pd

where YOURMIRROR is one of the published ones, but probably not one of
the first two or three.


J

Reply via email to