diff --git a/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml b/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml index f49fed130e..c28ec232ac 100644 --- a/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml +++ b/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml @@ -33,12 +33,22 @@ (see ). When a port still requires system-wide privileges in order - to run the package target, this - line must be added to the + 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. You can mostly avoid it by + using USES=uidfix, + and from time to time by slightly patching the port's + Makefiles. + + Meta ports, or ports that do not install files themselves but only depend on other ports, should avoid needlessly extracting the &man.mtree.8; to the stage directory. This is @@ -125,9 +135,10 @@ When installing 32-bit libraries on 64-bit system, use USE_LDCONFIG32 instead. - Try to keep shared library version numbers in the - libfoo.so.0 format. Our runtime linker - only cares for the major (first) number. + If the software you are porting uses autotools, and specifically + libtool, you should add USES=libtool. When the major library version number increments in the update to the new port version, all other ports that link to @@ -815,16 +826,21 @@ CMAKE_SOURCE_PATH= ${WRKSRC}/subproject If your port requires gettext, set USES= gettext, and your port will inherit - a dependency on + a dependency on libintl.so from devel/gettext. Other values for gettext usage are listed in - . + USES=gettext. A rather common case is a port using gettext and configure. Generally, GNU configure should be able - to locate gettext automatically. If it - ever fails to, hints at the location of + to locate gettext automatically. + + USES= gettext +GNU_CONFIGURE= yes + + If it ever fails to, hints at the location of gettext can be passed in CPPFLAGS and LDFLAGS as follows: @@ -833,12 +849,6 @@ CMAKE_SOURCE_PATH= ${WRKSRC}/subproject CPPFLAGS+= -I${LOCALBASE}/include LDFLAGS+= -L${LOCALBASE}/lib -GNU_CONFIGURE= yes - - Of course, the code can be more compact if there are no - more flags to pass to configure: - - USES= gettext GNU_CONFIGURE= yes @@ -855,6 +865,20 @@ GNU_CONFIGURE= yes GNU_CONFIGURE= yes +OPTIONS_DEFINE= NLS +OPTIONS_SUB= yes + +NLS_USES= gettext +NKS_CONFIGURE_ENABLE= nls + +.include <bsd.port.mk> + + Or using the older way of using options: + + GNU_CONFIGURE= yes + +OPTIONS_DEFINE= NLS + .include <bsd.port.options.mk> .if ${PORT_OPTIONS:MNLS}