From owner-freebsd-doc@FreeBSD.ORG Tue Jan 3 08:24:58 2012 Return-Path: Delivered-To: doc@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 5A2B01065672 for ; Tue, 3 Jan 2012 08:24:58 +0000 (UTC) (envelope-from kaduk@mit.edu) Received: from dmz-mailsec-scanner-5.mit.edu (DMZ-MAILSEC-SCANNER-5.MIT.EDU [18.7.68.34]) by mx1.freebsd.org (Postfix) with ESMTP id E7DE18FC24 for ; Tue, 3 Jan 2012 08:24:57 +0000 (UTC) X-AuditID: 12074422-b7fd66d0000008f9-41-4f02b7d3cfdf Received: from mailhub-auth-1.mit.edu ( [18.9.21.35]) by dmz-mailsec-scanner-5.mit.edu (Symantec Messaging Gateway) with SMTP id FA.80.02297.3D7B20F4; Tue, 3 Jan 2012 03:09:55 -0500 (EST) Received: from outgoing.mit.edu (OUTGOING-AUTH.MIT.EDU [18.7.22.103]) by mailhub-auth-1.mit.edu (8.13.8/8.9.2) with ESMTP id q0389tIK013396; Tue, 3 Jan 2012 03:09:55 -0500 Received: from multics.mit.edu (MULTICS.MIT.EDU [18.187.1.73]) (authenticated bits=56) (User authenticated as kaduk@ATHENA.MIT.EDU) by outgoing.mit.edu (8.13.6/8.12.4) with ESMTP id q0389rUn028265 (version=TLSv1/SSLv3 cipher=DHE-RSA-AES256-SHA bits=256 verify=NOT); Tue, 3 Jan 2012 03:09:54 -0500 (EST) Received: (from kaduk@localhost) by multics.mit.edu (8.12.9.20060308) id q0389qcD018589; Tue, 3 Jan 2012 03:09:52 -0500 (EST) Date: Tue, 3 Jan 2012 03:09:52 -0500 (EST) From: Benjamin Kaduk To: Warren Block In-Reply-To: Message-ID: References: User-Agent: Alpine 1.10 (GSO 962 2008-03-14) MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII; format=flowed X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrBIsWRmVeSWpSXmKPExsUixCmqrHt5O5O/wbE1RhZTP+5ktfh1ysOB yWPGp/ksHkc6HjEGMEVx2aSk5mSWpRbp2yVwZSw5E1PQKVVx8c089gbGayJdjJwcEgImEusO b2WGsMUkLtxbz9bFyMUhJLCPUeLEiRtQznpGif3fNjOCVAkJ7GeSON6hDWHXS7TsucUEYrMI aElsX97EAmKzCahIzHyzEaiZg0NEQFVi7xlrkDCzgLDE6Ut3GUHCwgJmEn/Px4KEOQVsJU7t +cEKYvMK2Eu8nHMIapONRPPZbWDTRQV0JFbvn8ICUSMocXLmExaIkZYS5/5cZ5vAKDgLSWoW ktQCRqZVjLIpuVW6uYmZOcWpybrFyYl5ealFuqZ6uZkleqkppZsYQQHK7qK0g/HnQaVDjAIc jEo8vJYPGP2FWBPLiitzDzFKcjApifLWbmXyF+JLyk+pzEgszogvKs1JLT7EKMHBrCTCK7ka KMebklhZlVqUD5OS5mBREudV13rnJySQnliSmp2aWpBaBJOV4eBQkuCNAkaikGBRanpqRVpm TglCmomDE2Q4D9DwcJAa3uKCxNzizHSI/ClGRSlxXi2QhABIIqM0D64XlkBeMYoDvSLM6wtS xQNMPnDdr4AGMwENdjr6zw9ocEkiQkqqgdHIcsmbhUX+j42O/slaemb2mzzf6Vdj1AK/yd/3 cpzJ+fxD5jXmNobLk6oWC0hovVpjcF2zYH3TtGXuH115ZH4v4WLL/KTAoLqDkdtkxbW5tu+2 OjROPy9mdU1Uf/riqF19V+c+7SyWkZnB8+jGfMuYJz8r1LYtnf6gdt/t9gPvra15PleUWuQo sRRnJBpqMRcVJwIA+pMlEPsCAAA= Cc: doc@freebsd.org Subject: Re: Deciphering a Porter's Handbook paragraph X-BeenThere: freebsd-doc@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Documentation project List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 03 Jan 2012 08:24:58 -0000 On Mon, 2 Jan 2012, Warren Block wrote: > http://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/book.html#PORTING-PREFIX ------ The value of PREFIX will be set to LOCALBASE (default /usr/local). If USE_LINUX_PREFIX is set, PREFIX will be LINUXBASE (default /compat/linux). ------ I don't think we've yet said something like: LOCALBASE should be set to where existing ports have already been installed (the ``base directory'' of where the ``local additions'' to the system have been made); it is uncommon for having PREFIX != LOCALBASE in normal usage. We probably should say something like that. > > ------ > # make clean; make package PREFIX=/var/tmp/`make -V PORTNAME` > > If anything is installed outside of PREFIX, the package creation > process will complain that it cannot find the files. > ------ > > Okay so far. > > ------ > This does not test for the existence of internal references, or > correct use of LOCALBASE for references to files from other ports. > ------ > > I want to rewrite that to be more specific about what "this" refers to: > > This simple test does not check for incorrect internal references > or the correct use of LOCALBASE for references to files from other > ports. > > That seems a bit better. Now for the good one: Maybe, but only a little bit. I think the point it is trying to make is that a port might install a shell script that has a hardcoded path '/usr/local/...' in it, and just generating the package does not try to (say) execute that script, and so the error would be undetected. Likewise, it does not check that calls to dependencies refer to LOCALBASE (as opposed to just PREFIX or even a hardcoded /usr/local). I'm not convinced that it's intuitively clear what "correct internal references" are to the ordinary reader. > > ------ > Testing the installation in /var/tmp/`make -V PORTNAME` to do that > while you have it installed would do that. > ------ > > What? Testing the installation... how? Does "installation" mean > already-installed files, or does it mean the user is supposed to do an > installation? What does "that" in "to do that" refer to? What does the last > "that" refer to? > > I think it may mean: > > To test for those problems, run the program from the temporary > installation in /var/tmp/`make -V PORTNAME` and verify that it > operates correctly. Er, yes, that. > > The complete rewritten paragraph: > > This simple test does not check for incorrect internal references > or the correct use of LOCALBASE for references to files from other > ports. To test for those problems, run the program from the temporary > installation in /var/tmp/`make -V PORTNAME` and verify that it > operates correctly. > > Please, someone help me encromulate this. Just so long as we can eschew obfuscation at the same time. That seems basically correct, though I might try to expand "incorrect internal references" a bit. I might also s/To test for these problems/To verify that the port has correct references/ or something kind of like that, since "to test for these problems ... verify that it operates correctly" feels like correct operation implies that the problems are present, which is of course just silly. -Ben Kaduk