Index: head/en_US.ISO8859-1/books/porters-handbook/makefiles/chapter.xml =================================================================== --- head/en_US.ISO8859-1/books/porters-handbook/makefiles/chapter.xml +++ head/en_US.ISO8859-1/books/porters-handbook/makefiles/chapter.xml @@ -4692,6 +4692,16 @@ WRKSRC= ${WRKDIR}/${PORTNAME} + + <varname>WRKSRC_SUBDIR</varname> + + If the source files needed for the port are in a + subdirectory of the extracted distribution file, set + WRKSRC_SUBDIR to that directory. + + WRKSRC_SUBDIR= src + + <varname>NO_WRKSUBDIR</varname> @@ -4700,6 +4710,14 @@ indicate that. NO_WRKSUBDIR= yes + + + Because WRKDIR is the only directory + that is supposed to be writable during the build, and is + used to store many files recording the status of the build, + it is always better to force extraction into a subdirectory + anyway. + Index: head/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml =================================================================== --- head/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml +++ head/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml @@ -31,21 +31,16 @@ in &os;, DESTDIR has a different meaning (see ). - When a port still requires system-wide privileges in order - to run the stage and - package targets, this line must be - added to the - Makefile: - - NEED_ROOT= yes - - The vast majority of ports do not really - need to be root. It can mostly be avoided by - using USES=uidfix, - and from time to time by slightly patching the port's - Makefiles. + No port really needs to be root. It + can mostly be avoided by using USES=uidfix. + If the port still runs commands like &man.chown.8;, + &man.chgrp.1;, or forces owner or group with &man.install.1; + then use USES=fakeroot + to fake those calls. Sligh patching of the port's + Makefiles will be needed. Meta ports, or ports that do not install files themselves @@ -57,6 +52,13 @@ NO_MTREE= yes + + Metaports should use USES=metaport. + It sets up defaults for ports that do not fetch, build, or + install anything. + + Staging is enabled by prepending STAGEDIR to paths used in the pre-install, Index: head/en_US.ISO8859-1/books/porters-handbook/uses/chapter.xml =================================================================== --- head/en_US.ISO8859-1/books/porters-handbook/uses/chapter.xml +++ head/en_US.ISO8859-1/books/porters-handbook/uses/chapter.xml @@ -407,7 +407,9 @@ (none) Changes some default behaviour of build systems to - allow installing as a user. + allow installing as a user. See for + more information on fakeroot.