On 02/19/2013 05:00 PM, Marc Espie wrote:
On Tue, Feb 19, 2013 at 04:22:17PM -0500, circuit6engineering wrote:
On 02/19/2013 04:03 PM, Landry Breuil wrote:
On Tue, Feb 19, 2013 at 03:18:40PM -0500, circuit6engineering wrote:
I'm going to tinker with [werc][1] under chroot'ed Apache.
[1]: http://werc.cat-v.org/
werc requires plan9port. If I attempt to build plan9port with:
make LOCALBASE=/var/www
...
===> Extracting for plan9port-20120508p0
/bin/sh: bzip2: not found
tar: End of archive volume 1 reached
tar: Sorry, unable to determine archive format.
*** Error code 1
...
but 'make install' works as expected. I can copy
/usr/local/plan9/bin to /var/www/bin
and continue from there but I am curious why the LOCALBASE method
failed. Any speculations or comments on best practices?
You're looking for PREFIX. Read bsd.port.mk(5) to learn about the
differences between PREFIX, TRUEPREFIX and LOCALBASE.
Landry
Thanks!
The ports man page doesn't mention PREFIX and says this:
LOCALBASE Where to install things in general...
Whereas the bsd.port.mk man page says this:
LOCALBASE where other ports have already been installed...
PREFIX Base directory for the current port installation...
Which is quite a bit more useful. Maybe the ports man page could use
a little work. I haven't noticed a [email protected] mailing list. I
would like to know more about how the community discusses and
updates the documentation. Any pointers?
No, that's intentional.
ports(7) is pretty high level and focuses on how to *use* the ports tree.
LOCALBASE kind of belong there, as a general thingy, whereas bsd.port.mk(5)
*is* the main documentation entry point for the actual porting stuff.
Don't duplicate that information. It's already difficult enough trying to
keep things synchronized. If anything the ports(7) page is probably too
long and contains some stuff that is already explained elsewhere.
Perhaps PREFIX is not in the ports man page because it is only meant to
be used by masters of ports internals engaged in unspeakable acts of
software installation origami. What seems (to me) to be the obvious use
of PREFIX doesn't work at all. Any ideas?
root@lucidrine:/usr/ports/devel/fossil:59# make clean=all
root@lucidrine:/usr/ports/devel/fossil:60# env FLAVOR="static" make
PREFIX=/var/www install-all
...
===> Building package for fossil-1.22p0v0-static
Create /usr/ports/packages/i386/all/fossil-1.22p0v0-static.tgz
Error:
/usr/ports/pobj/fossil-1.22-static/fake-i386-static/var/www/bin/fossil
does not exist
Fatal error: can't continue
at /usr/libdata/perl5/OpenBSD/PkgCreate.pm line 1385
*** Error code 1
root@lucidrine:/usr/ports/plan9/plan9port:81# make deinstall
root@lucidrine:/usr/ports/plan9/plan9port:82# make clean=all
root@lucidrine:/usr/ports/plan9/plan9port:83# make PREFIX=/var/www
install-all
...
install -d -o root -g bin -m 755
/usr/ports/pobj/plan9port-20120508/fake-i386/var/www/plan9/man/man8
install -c -o root -g bin -m 444
/usr/ports/pobj/plan9port-20120508/plan9/man/man8/*
/usr/ports/pobj/plan9port-20120508/fake-i386/var/www/plan9/man/man8
install -d -o root -g bin -m 755
/usr/ports/pobj/plan9port-20120508/fake-i386/var/www/plan9/man/man9
install -c -o root -g bin -m 444
/usr/ports/pobj/plan9port-20120508/plan9/man/man9/*
/usr/ports/pobj/plan9port-20120508/fake-i386/var/www/plan9/man/man9
cd /usr/ports/pobj/plan9port-20120508/plan9 && pax -rw acid dict face
font include lib ndb news plumb postscript proto sky src tmac troff
/usr/ports/pobj/plan9port-20120508/fake-i386/var/www/plan9
cd /usr/ports/pobj/plan9port-20120508/fake-i386/var/www && ln -s
../plan9/bin/9 bin/9
ln: bin/9: No such file or directory
*** Error code 1
Stop in /usr/ports/plan9/plan9port (line 91 of Makefile).
*** Error code 1