>Number: 6618
>Category: documentation
>Synopsis: PLIST_DB must be set if /usr/ports is read-only
>Confidential: yes
>Severity: serious
>Priority: medium
>Responsible: bugs
>State: open
>Quarter:
>Keywords:
>Date-Required:
>Class: sw-bug
>Submitter-Id: unknown
>Arrival-Date: Sun May 29 12:50:01 GMT 2011
>Closed-Date:
>Last-Modified:
>Originator:
>Release:
>Organization:
>Environment:
System : OpenBSD 4.9
Details : OpenBSD 4.9 (GENERIC) #671: Wed Mar 2 07:09:00 MST 2011
[email protected]:/usr/src/sys/arch/i386/compile/GENERIC
Architecture: OpenBSD.i386
Machine : i386
>Description:
The "USING A READ-ONLY PORTS TREE" provides instructions on which environment
variables to set if the ports tree is read-only. However, it fails to mention
PLIST_DB, which also needs to be set to allow successful use of a read-only
ports tree.
>How-To-Repeat:
1) make the ports tree read-only (mine is
mounted read-only over nfs)
2) create a /etc/mk.conf as per the
instructions in the man page. my mk.conf reads:
PIPE=-pipe
BULK=Yes
WRKOBJDIR=/tmp/ports
PACKAGE_REPOSITORY=${WRKOBJDIR}/packages
BULK_COOKIES_DIR=${WRKOBJDIR}/bulk
UPDATE_COOKIES_DIR=${WRKOBJDIR}/update
DISTDIR=${WRKOBJDIR}/distfiles
3) attempt to compile/install
something (e.g.cd /usr/ports/mics/most && make install)
4)
installation will fail when "mkdir /usr/ports/plist" is attempted
>Fix:
After poking around the build logic, I found that PLIST_DB needs to be
defined. I added the following line to mk.conf:
PLIST_DB=/var/ports
It is unclear to me whether it is necessary for me to keep the plist files
saved in /var/ports or whether I can let them be temporary like the other
directories I defined. Some advice on this would be welcome in the
documentation as well.
>Release-Note:
>Audit-Trail:
>Unformatted: