Hi Raf, Thanks for the reply.
On Tue, 22 Mar 2016 00:02:58 +0000 Raf Czlonka <[email protected]> wrote: > On Mon, Mar 21, 2016 at 03:03:15PM GMT, Karl O. Pinc wrote: > > OpenBSD 5.8-stable. > > > > I tried following the instructions in ports(7) > > and the FAQ to build ports as an ordinary user. > > I added to /etc/mk.conf: > > > > WRKOBJDIR=/usr/obj/ports > > DISTDIR=/usr/distfiles > > PACKAGE_REPOSITORY=/usr/packages > > If you leave the defaults and don't explicitly set any of the above, > all the relevant directories will be under /usr/ports, which can > make your life easier (see below): > > PORTSDIR=/usr/ports > DISTDIR=${PORTSDIR}/distfiles > WRKOBJDIR=${PORTSDIR}/pobj > PACKAGE_REPOSITORY=${PORTSDIR}/packages But if I do this I have to make /usr/ports writable by my user. Or parts thereof. See below. > > I then tried to build a port with: > > > > make package LOCKDIR= BULK=Yes > > > > I got permission errors writing the package list > > since my user does not have permissions to write > > in /usr/ports/. Apologies, I did not copy the > > exact error. > > This is not a bug - the FAQ clearly states[0] what you need to do. I followed the FAQ where it says: It is possible to use a read-only ports tree by separating directories that are written to during port building: The working directory of ports. This is controlled by the WRKOBJDIR variable, which specifies the directory which will contain the working directories. The directory containing distribution files. This is controlled by the DISTDIR variable. The directory containing newly built binary packages. This is controlled by the PACKAGE_REPOSITORY variable. For example, you could add the following lines to /etc/mk.conf: WRKOBJDIR=/usr/obj/ports DISTDIR=/usr/distfiles PACKAGE_REPOSITORY=/usr/packages If desired, you can also change the ownership of these directories to your local username and group, so that the ports system can create the underlying working directories as a regular user. But the above is wrong, since setting PACKAGE_REPOSITORY is not enough. If you follow the above you must be root (unless frobbing the ownership of /usr/ports). In any case /usr/ports is written to, although not the subdirectories that come in the ports tarball. Of course it may not be possible to both build ports as an ordinary user and have a read-only /usr/ports/ -- but this is not clear from the FAQ. Hence my email. Regards, Karl <[email protected]> Free Software: "You don't pay back, you pay forward." -- Robert A. Heinlein
