Skip site navigation (1)Skip section navigation (2)
Date:      10 Dec 2000 22:52:48 -0000
From:      mwm@mired.org
To:        FreeBSD-gnats-submit@freebsd.org
Subject:   docs/23450: The Porter's handbook doesn't say how to test for PREFIX-clean
Message-ID:  <20001210225248.4400.qmail@guru.mired.org>
Resent-Message-ID: <200012102300.eBAN02V47839@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         23450
>Category:       docs
>Synopsis:       The Porter's handbook doesn't say how to test for PREFIX-clean
>Confidential:   no
>Severity:       serious
>Priority:       medium
>Responsible:    freebsd-doc
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          doc-bug
>Submitter-Id:   current-users
>Arrival-Date:   Sun Dec 10 15:00:01 PST 2000
>Closed-Date:
>Last-Modified:
>Originator:     Mike Meyer
>Release:        FreeBSD 5.0-CURRENT i386
>Organization:
Meyer Consulting
>Environment:
System: FreeBSD guru.mired.org 5.0-CURRENT FreeBSD 5.0-CURRENT #0: Sun Dec 10 11:48:38 CST 2000 mwm@guru.mired.org:/usr/obj/sharetmp/src/sys/GURU i386

>Description:

Ports are showing up that aren't PREFIX-clean, even though the Porters
Handbook recommends against that. I suspect that telling people *how*
to test a port to see if it's PREFIX clean will help with that.

>How-To-Repeat:

Try running a system with LOCALBASE set to something other than /usr/local for a year or so, and note how much stuff winds up installed in /usr/local.

>Fix:

Here are patches to the Porter's Handbook.

--- /usr/doc/en_US.ISO_8859-1/books/porters-handbook/book.sgml	Sat Nov 25 12:34:48 2000
+++ book.sgml	Sun Dec 10 16:49:00 2000
@@ -3277,6 +3277,22 @@
           <makevar>PREFIX</makevar>, as this variable is automatically passed
           down to every stage of the build and install processes.</para>
 
+	<para>Make sure your application isn't installing things in 
+	<filename>/usr/local</filename> instead of <makevar>PREFIX</makevar>.
+	A quick test for this is to do this is:</para>
+
+	<screen>&prompt.root; <userinput>make clean; make package PREFIX=/var/tmp/<replaceable>port-name</replaceable></userinput></screen>
+	
+	<para>If anything is installed outside of <makevar>PREFIX</makevar>, 
+	making the package creation process will complain that it
+	can't find the files.</para>
+
+	<para>This does not test for the existence of internal references,
+	or correct use of <makevar>LOCALBASE</makevar> for references to
+	files from other ports. Testing the installation in
+	<filename>/var/tmp/<replaceable>port-name</replaceable></filename>
+	to do that that while you have it installed would do that.</para>
+
         <para>Do not set <makevar>USE_X_PREFIX</makevar> unless your port
           truly requires it (i.e., it links against X libs or it needs to
           reference files in <makevar>X11BASE</makevar>).</para>


>Release-Note:
>Audit-Trail:
>Unformatted:


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-doc" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20001210225248.4400.qmail>