Index: head/en_US.ISO8859-1/books/porters-handbook/Makefile =================================================================== --- head/en_US.ISO8859-1/books/porters-handbook/Makefile (revision 50618) +++ head/en_US.ISO8859-1/books/porters-handbook/Makefile (revision 50619) @@ -1,76 +1,77 @@ # # $FreeBSD$ # # Build the FreeBSD Porter's Handbook. # MAINTAINER=doc@FreeBSD.org DOC?= book FORMATS?= html-split INSTALL_COMPRESSED?= gz INSTALL_ONLY_COMPRESSED?= # # SRCS lists the individual XML files that make up the document. Changes # to any of these files will force a rebuild # # XML content SRCS= book.xml SRCS+= porting-why/chapter.xml SRCS+= new-port/chapter.xml SRCS+= quick-porting/chapter.xml SRCS+= slow-porting/chapter.xml SRCS+= makefiles/chapter.xml SRCS+= special/chapter.xml SRCS+= plist/chapter.xml SRCS+= pkg-files/chapter.xml SRCS+= testing/chapter.xml SRCS+= upgrading/chapter.xml SRCS+= security/chapter.xml SRCS+= porting-dads/chapter.xml SRCS+= porting-samplem/chapter.xml +SRCS+= order/chapter.xml SRCS+= keeping-up/chapter.xml SRCS+= uses/chapter.xml SRCS+= versions/chapter.xml # Images from the cross-document image library IMAGES_LIB+= callouts/1.png IMAGES_LIB+= callouts/2.png IMAGES_LIB+= callouts/3.png IMAGES_LIB+= callouts/4.png IMAGES_LIB+= callouts/5.png IMAGES_LIB+= callouts/6.png IMAGES_LIB+= callouts/7.png IMAGES_LIB+= callouts/8.png IMAGES_LIB+= callouts/9.png IMAGES_LIB+= callouts/10.png IMAGES_LIB+= callouts/11.png IMAGES_LIB+= callouts/12.png IMAGES_LIB+= callouts/13.png IMAGES_LIB+= callouts/14.png IMAGES_LIB+= callouts/15.png IMAGES_LIB+= callouts/16.png IMAGES_LIB+= callouts/17.png IMAGES_LIB+= callouts/18.png IMAGES_LIB+= callouts/19.png IMAGES_LIB+= callouts/20.png IMAGES_LIB+= callouts/21.png URL_RELPREFIX?= ../../../.. DOC_PREFIX?= ${.CURDIR}/../../.. # Entities SRCS+= chapters.ent SYMLINKS= ${DESTDIR} index.html handbook.html # Turn on all the chapters. CHAPTERS?= ${SRCS:M*chapter.xml} XMLFLAGS+= ${CHAPTERS:S/\/chapter.xml//:S/^/-i chap./} .include "${DOC_PREFIX}/share/mk/doc.project.mk" Index: head/en_US.ISO8859-1/books/porters-handbook/book.xml =================================================================== --- head/en_US.ISO8859-1/books/porters-handbook/book.xml (revision 50618) +++ head/en_US.ISO8859-1/books/porters-handbook/book.xml (revision 50619) @@ -1,83 +1,84 @@ %chapters; ]> &os; Porter's Handbook The &os; Documentation Project $FreeBSD$ 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017 The &os; Documentation Project &legalnotice; &tm-attrib.freebsd; &tm-attrib.unix; &tm-attrib.sun; &tm-attrib.general; $FreeBSD$ &chap.porting-why; &chap.new-port; &chap.quick-porting; &chap.slow-porting; &chap.makefiles; &chap.special; &chap.plist; &chap.pkg-files; &chap.testing; &chap.upgrading; &chap.security; &chap.porting-dads; &chap.porting-samplem; + &chap.order; &chap.keeping-up; &chap.uses; &chap.versions; Index: head/en_US.ISO8859-1/books/porters-handbook/chapters.ent =================================================================== --- head/en_US.ISO8859-1/books/porters-handbook/chapters.ent (revision 50618) +++ head/en_US.ISO8859-1/books/porters-handbook/chapters.ent (revision 50619) @@ -1,28 +1,29 @@ + Index: head/en_US.ISO8859-1/books/porters-handbook/order/Makefile =================================================================== --- head/en_US.ISO8859-1/books/porters-handbook/order/Makefile (nonexistent) +++ head/en_US.ISO8859-1/books/porters-handbook/order/Makefile (revision 50619) @@ -0,0 +1,15 @@ +# +# Build the Porters Handbook with just the content from this chapter. +# +# $FreeBSD$ +# + +CHAPTERS= order/chapter.xml + +VPATH= .. + +MASTERDOC= ${.CURDIR}/../${DOC}.${DOCBOOKSUFFIX} + +DOC_PREFIX?= ${.CURDIR}/../../../.. + +.include "../Makefile" Property changes on: head/en_US.ISO8859-1/books/porters-handbook/order/Makefile ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Index: head/en_US.ISO8859-1/books/porters-handbook/order/chapter.xml =================================================================== --- head/en_US.ISO8859-1/books/porters-handbook/order/chapter.xml (nonexistent) +++ head/en_US.ISO8859-1/books/porters-handbook/order/chapter.xml (revision 50619) @@ -0,0 +1,460 @@ + + + + + + Order of Variables in Port Makefiles + + The first sections of the Makefile + must always come in the same order. This standard makes it so + everyone can easily read any port without having to search for + variables in a random order. + + The first line of a Makefile is always + a comment containing the Subversion + version control ID, followed by an empty line. In new ports, it + looks like this: + + # $FreeBSD$ +  + + In existing ports, Subversion + has expanded it to look like this: + + # $FreeBSD: head/ports-mgmt/pkg/Makefile 437007 2017-03-26 21:25:47Z bapt $ +  + + + The sections and variables described here are mandatory in + a ordinary port. In a slave port, many sections variables and + can be skipped. + + + + Each following block must be separated from the previous + block by a single blank line. + + In the following blocks, only set the variables that are + required by the port. Define these variables in the order + they are shown here. + + + + <varname>PORTNAME</varname> Block + + This block is the most important. It defines the port + name, version, distribution file location, and category. The + variables must be in this order: + + + + PORTNAME + + + + PORTVERSION + + + + DISTVERSIONPREFIX + + + + DISTVERSION + + + + DISTVERSIONSUFFIX + + + + PORTREVISION + + + + PORTEPOCH + + + + CATEGORIES + + + + MASTER_SITES + + + + MASTER_SITE_SUBDIR + (deprecated) + + + + PKGNAMEPREFIX + + + + PKGNAMESUFFIX + + + + DISTNAME + + + + EXTRACT_SUFX + + + + DISTFILES + + + + DIST_SUBDIR + + + + EXTRACT_ONLY + + + + + Only one of PORTVERSION and + DISTVERSION can be used. + + + + + <varname>PATCHFILES</varname> Block + + This block is optional. The variables are: + + + + PATCH_SITES + + + + PATCHFILES + + + + PATCH_DIST_STRIP + + + + + + <varname>MAINTAINER</varname> Block + + This block is mandatory. The variables are: + + + + MAINTAINER + + + + COMMENT + + + + + + <varname>LICENSE</varname> Block + + This block is optional, although it is highly recommended. + The variables are: + + + + LICENSE + + + + LICENSE_COMB + + + + LICENSE_GROUPS + or + LICENSE_GROUPS_NAME + + + + LICENSE_NAME + or + LICENSE_NAME_NAME + + + + LICENSE_TEXT + or + LICENSE_TEXT_NAME + + + + LICENSE_FILE + or + LICENSE_FILE_NAME + + + + LICENSE_PERMS + or + LICENSE_PERMS_NAME + + + + LICENSE_DISTFILES + or + LICENSE_DISTFILES_NAME + + + + If there are multiple licenses, sort the different + LICENSE_VAR_NAME + variables by license name. + + + + Generic + <varname>BROKEN</varname>/<varname>IGNORE</varname>/<varname>DEPRECATED</varname> + Messages + + This block is optional. The variables are: + + + + DEPRECATED + + + + EXPIRATION_DATE + + + + FORBIDDEN + + + + BROKEN + + + + BROKEN_* + + + + IGNORE + + + + IGNORE_* + + + + ONLY_FOR_ARCHS + + + + ONLY_FOR_ARCHS_REASON* + + + + NOT_FOR_ARCHS + + + + NOT_FOR_ARCHS_REASON* + + + + + BROKEN* + and IGNORE* + can be any generic variables, for example, + IGNORE_amd64, + BROKEN_FreeBSD_10, + BROKEN_SSL, etc. + + If the port is marked BROKEN when some conditions are + met, and such conditions can only be tested after including + bsd.port.options.mk or + bsd.port.pre.mk, then those variables + should be set later, in . + + + + + The Dependencies Block + + This block is optional. The variables are: + + + + FETCH_DEPENDS + + + + EXTRACT_DEPENDS + + + + PATCH_DEPENDS + + + + BUILD_DEPENDS + + + + LIB_DEPENDS + + + + RUN_DEPENDS + + + + + TEST_DEPENDS + + + + + + <varname>USES</varname> and + <varname>USE_<replaceable>x</replaceable></varname> + + Start this section with defining USES, + and then possible + USE_x. + + Keep related variables close together. For example, if + using USE_GITHUB, + always put the + GH_* variables + right after it. + + + + Standard <filename>bsd.port.mk</filename> Variables + + This section block is for variables that can be defined in + bsd.port.mk that do not belong in any + of the previous section blocks. + + Order is not important, however try to keep similar variables together. + For example uid and gid variables USERS and GROUPS. + Configuration variables CONFIGURE_* and + *_CONFIGURE. List of files, and directories + PORTDOCS and PORTEXAMPLES. + + + + Options + + If the port uses the options framework, define + OPTIONS_DEFINE and + OPTIONS_DEFAULT first, then the other + OPTIONS_* + variables first, then the + *_DESC + descriptions, then the options helpers. Try and sort all of + those alphabetically. + + + + The Rest of the Variables + + And then, the rest of the variables that are not + mentioned in the previous blocks. + + + + The Targets + + After all the variables are defined, the optional + &man.make.1; targets can be defined. Keep + pre-* before + post-* and in + the same order as the different stages run: + + + + fetch + + + + extract + + + + patch + + + + configure + + + + build + + + + install + + + + test + + + + Property changes on: head/en_US.ISO8859-1/books/porters-handbook/order/chapter.xml ___________________________________________________________________ Added: svn:keywords ## -0,0 +1 ## +FreeBSD=%H \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/sgml \ No newline at end of property Index: head/en_US.ISO8859-1/books/porters-handbook/porting-samplem/chapter.xml =================================================================== --- head/en_US.ISO8859-1/books/porters-handbook/porting-samplem/chapter.xml (revision 50618) +++ head/en_US.ISO8859-1/books/porters-handbook/porting-samplem/chapter.xml (revision 50619) @@ -1,566 +1,115 @@ A Sample <filename>Makefile</filename> Here is a sample Makefile that can be used to create a new port. Make sure to remove all the extra comments (ones between brackets). The format shown is the recommended one for ordering variables, empty lines between sections, and so on. This format is designed so that the most important information is easy to locate. We recommend using portlint to check the Makefile. [the header...just to make it easier for us to identify the ports.] # $FreeBSD$ [ ^^^^^^^^^ This will be automatically replaced with RCS ID string by SVN when it is committed to our repository. If upgrading a port, do not alter this line back to "$FreeBSD$". SVN deals with it automatically.] [section to describe the port itself and the master site - PORTNAME and PORTVERSION are always first, followed by CATEGORIES, and then MASTER_SITES, which can be followed by MASTER_SITE_SUBDIR. PKGNAMEPREFIX and PKGNAMESUFFIX, if needed, will be after that. Then comes DISTNAME, EXTRACT_SUFX and/or DISTFILES, and then EXTRACT_ONLY, as necessary.] PORTNAME= xdvi PORTVERSION= 18.2 CATEGORIES= print [do not forget the trailing slash ("/")! if not using MASTER_SITE_* macros] MASTER_SITES= ${MASTER_SITE_XCONTRIB} MASTER_SITE_SUBDIR= applications PKGNAMEPREFIX= ja- DISTNAME= xdvi-pl18 [set this if the source is not in the standard ".tar.gz" form] EXTRACT_SUFX= .tar.Z [section for distributed patches -- can be empty] PATCH_SITES= ftp://ftp.sra.co.jp/pub/X11/japanese/ PATCHFILES= xdvi-18.patch1.gz xdvi-18.patch2.gz [If the distributed patches were not made relative to ${WRKSRC}, this may need to be tweaked] PATCH_DIST_STRIP= -p1 [maintainer; *mandatory*! This is the person who is volunteering to handle port updates, build breakages, and to whom a users can direct questions and bug reports. To keep the quality of the Ports Collection as high as possible, we do not accept new ports that are assigned to "ports@FreeBSD.org".] MAINTAINER= asami@FreeBSD.org COMMENT= DVI Previewer for the X Window System [license -- should not be empty] LICENSE= BSD2CLAUSE LICENSE_FILE= ${WRKSRC}/LICENSE [dependencies -- can be empty] RUN_DEPENDS= gs:print/ghostscript [If it requires GNU make, not /usr/bin/make, to build...] USES= gmake [If it is an X application and requires "xmkmf -a" to be run...] USES= imake [If the source is obtained from github, remove MASTER_SITE* and...] USE_GITHUB= yes GH_ACCOUNT= example [this section is for other standard bsd.port.mk variables that do not] belong to any of the above] [If it asks questions during configure, build, install...] IS_INTERACTIVE= yes [If it extracts to a directory other than ${DISTNAME}...] WRKSRC= ${WRKDIR}/xdvi-new [If it requires a "configure" script generated by GNU autoconf to be run] GNU_CONFIGURE= yes [et cetera.] [If it requires options, this section is for options] OPTIONS_DEFINE= DOCS EXAMPLES FOO OPTIONS_DEFAULT= FOO [If options will change the files in plist] OPTIONS_SUB=yes FOO_DESC= Enable foo support FOO_CONFIGURE_ENABLE= foo [non-standard variables to be used in the rules below] MY_FAVORITE_RESPONSE= "yeah, right" [then the special rules, in the order they are called] pre-fetch: i go fetch something, yeah post-patch: i need to do something after patch, great pre-install: and then some more stuff before installing, wow [and then the epilogue] .include <bsd.port.mk> - - - Order of Variables in Port Makefiles - - The first sections of the Makefile - must always come in the same order. This standard makes it so - everyone can easily read any port without having to search for - variables in a random order. - - The first line of a Makefile is always - a comment containing the Subversion - version control ID, followed by an empty line. In new ports, it - looks like this: - - # $FreeBSD$ -  - - In existing ports, Subversion - has expanded it to look like this: - - # $FreeBSD: head/ports-mgmt/pkg/Makefile 437007 2017-03-26 21:25:47Z bapt $ -  - - - The sections and variables described here are mandatory in - a ordinary port. In a slave port, many sections variables and - can be skipped. - - - - Each following block must be separated from the previous - block by a single blank line. - - In the following blocks, only set the variables that are - required by the port. Define these variables in the order - they are shown here. - - - - <varname>PORTNAME</varname> Block - - This block is the most important. It defines the port - name, version, distribution file location, and category. The - variables must be in this order: - - - - PORTNAME - - - - PORTVERSION - - - - DISTVERSIONPREFIX - - - - DISTVERSION - - - - DISTVERSIONSUFFIX - - - - PORTREVISION - - - - PORTEPOCH - - - - CATEGORIES - - - - MASTER_SITES - - - - MASTER_SITE_SUBDIR - (deprecated) - - - - PKGNAMEPREFIX - - - - PKGNAMESUFFIX - - - - DISTNAME - - - - EXTRACT_SUFX - - - - DISTFILES - - - - DIST_SUBDIR - - - - EXTRACT_ONLY - - - - - Only one of PORTVERSION and - DISTVERSION can be used. - - - - - <varname>PATCHFILES</varname> Block - - This block is optional. The variables are: - - - - PATCH_SITES - - - - PATCHFILES - - - - PATCH_DIST_STRIP - - - - - - <varname>MAINTAINER</varname> Block - - This block is mandatory. The variables are: - - - - MAINTAINER - - - - COMMENT - - - - - - <varname>LICENSE</varname> Block - - This block is optional, although it is highly recommended. - The variables are: - - - - LICENSE - - - - LICENSE_COMB - - - - LICENSE_GROUPS - or - LICENSE_GROUPS_NAME - - - - LICENSE_NAME - or - LICENSE_NAME_NAME - - - - LICENSE_TEXT - or - LICENSE_TEXT_NAME - - - - LICENSE_FILE - or - LICENSE_FILE_NAME - - - - LICENSE_PERMS - or - LICENSE_PERMS_NAME - - - - LICENSE_DISTFILES - or - LICENSE_DISTFILES_NAME - - - - If there are multiple licenses, sort the different - LICENSE_VAR_NAME - variables by license name. - - - - Generic - <varname>BROKEN</varname>/<varname>IGNORE</varname>/<varname>DEPRECATED</varname> - Messages - - This block is optional. The variables are: - - - - DEPRECATED - - - - EXPIRATION_DATE - - - - FORBIDDEN - - - - BROKEN - - - - BROKEN_* - - - - IGNORE - - - - IGNORE_* - - - - ONLY_FOR_ARCHS - - - - ONLY_FOR_ARCHS_REASON* - - - - NOT_FOR_ARCHS - - - - NOT_FOR_ARCHS_REASON* - - - - - BROKEN* - and IGNORE* - can be any generic variables, for example, - IGNORE_amd64, - BROKEN_FreeBSD_10, - BROKEN_SSL, etc. - - If the port is marked BROKEN when some conditions are - met, and such conditions can only be tested after including - bsd.port.options.mk or - bsd.port.pre.mk, then those variables - should be set later, in . - - - - - The Dependencies Block - - This block is optional. The variables are: - - - - FETCH_DEPENDS - - - - EXTRACT_DEPENDS - - - - PATCH_DEPENDS - - - - BUILD_DEPENDS - - - - LIB_DEPENDS - - - - RUN_DEPENDS - - - - - TEST_DEPENDS - - - - - - <varname>USES</varname> and - <varname>USE_<replaceable>x</replaceable></varname> - - Start this section with defining USES, - and then possible - USE_x. - - Keep related variables close together. For example, if - using USE_GITHUB, - always put the - GH_* variables - right after it. - - - - Standard <filename>bsd.port.mk</filename> Variables - - This section block is for variables that can be defined in - bsd.port.mk that do not belong in any - of the previous section blocks. - - Order is not important, however try to keep similar variables together. - For example uid and gid variables USERS and GROUPS. - Configuration variables CONFIGURE_* and - *_CONFIGURE. List of files, and directories - PORTDOCS and PORTEXAMPLES. - - - - Options - - If the port uses the options framework, define - OPTIONS_DEFINE and - OPTIONS_DEFAULT first, then the other - OPTIONS_* - variables first, then the - *_DESC - descriptions, then the options helpers. Try and sort all of - those alphabetically. - - - - The Rest of the Variables - - And then, the rest of the variables that are not - mentioned in the previous blocks. - - - - The Targets - - After all the variables are defined, the optional - &man.make.1; targets can be defined. Keep - pre-* before - post-* and in - the same order as the different stages run: - - - - fetch - - - - extract - - - - patch - - - - configure - - - - build - - - - install - - - - test - - - -