diff --git a/share/doc/handbook/porting.sgml b/share/doc/handbook/porting.sgml index 441ea065353b..75c285dce487 100644 --- a/share/doc/handbook/porting.sgml +++ b/share/doc/handbook/porting.sgml @@ -1,4 +1,4 @@ - + Porting an existing piece of free software @@ -157,7 +157,7 @@ The pattern is the year followed by the month. # Date created: 5 December 1994 # Whom: asami # - # $Id: porting.sgml,v 1.30 1996/10/04 22:54:09 wosch Exp $ + # $Id: porting.sgml,v 1.31 1996/10/05 18:36:19 wosch Exp $ # DISTNAME= oneko-1.1b @@ -189,8 +189,9 @@ The pattern is the year followed by the month. COMMENT

This is the one-line description of the port. It is - recommended to not have the name of the package at the - beginning, as in: + recommended to not have the name of the package + at the beginning, or the version number of the software at + the end. Here is an example: A cat chasing a mouse all over the screen. @@ -239,6 +240,9 @@ lib/X11/oneko/cat2.xpm lib/X11/oneko/mouse.xpm +

Refer to the pkg_create(1) man page for details + on the packing list. + Creating the checksum file @@ -435,6 +439,11 @@ ftp://freefall.FreeBSD.ORG/pub/FreeBSD/LOCAL_PORTS/ as possible for the end-user while using a minimum of disk space. +

Note: Unless explicitly stated, patch files, scripts, and + other files you have created and contributed to the FreeBSD + ports collection are assumed to be covered by the standard + BSD copyright conditions. + Patching @@ -593,6 +602,23 @@ work/foozolix-1.0/ decompressed automatically if the filenames end with `.gz' or `.Z'. +

If the patch is distributed with some other files, such as + documentation, in a gzip'd tarball, you can't just use + ${PATCHFILES}. If that is the case, add the + name and the location of the patch tarball to + ${DISTFILES} and + ${MASTER_SITES}. Then, from the + pre-patch target, apply the patch either by running + the patch command from there, or copying the patch file into + the ${PATCHDIR} directory and calling it + patch-<xx>. (Note the tarball will have been + extracted alongside the regular source by then, so there is + no need to explicitly extract it if it is a regular gzip'd + or compress'd tarball.) If you do the latter, take extra + care not to overwrite something that already exists in that + directory. Also do not forget to add a command to remove + the copied patch in the pre-clean target. + MAINTAINER @@ -894,6 +920,27 @@ FETCH_DEPENDS= ncftp2:${PORTSDIR}/net/ncftp2 to check whether the binary is stripped or not. If it does not say `not stripped', it is stripped. + + INSTALL_* macros +

Do use the macros provided in bsd.port.mk to ensure correct + modes and ownership of files in your own *-install targets. + They are: + + + ${INSTALL_PROGRAM} is a command to install + binary executables. + ${INSTALL_SCRIPT} is a command to install + executable scripts. + ${INSTALL_DATA} is a command to install + sharable data. + ${INSTALL_MAN} is a command to install + manpages (it doesn't do compression). + + +

These are basically the install command with all + the appropriate flags. See below for an example on how to + use them. + Install additional documentation @@ -917,7 +964,7 @@ FETCH_DEPENDS= ncftp2:${PORTSDIR}/net/ncftp2 post-install: .if !defined(NOPORTDOCS) mkdir -p ${PREFIX}/share/doc/xv - cp ${WRKSRC}/docs/xvdocs.ps ${PREFIX}/share/doc/xv + ${INSTALL_DATA} ${WRKSRC}/docs/xvdocs.ps ${PREFIX}/share/doc/xv .endif @@ -1098,7 +1145,7 @@ lib/libtcl.so.7.3 person who wrote this Makefile] # Whom: Satoshi Asami # - # $Id: porting.sgml,v 1.30 1996/10/04 22:54:09 wosch Exp $ + # $Id: porting.sgml,v 1.31 1996/10/05 18:36:19 wosch Exp $ [ ^^^^ do not worry about this, I know it says "porting.sgml"...it will be automatically filled in by CVS when it is committed to our repository] @@ -1136,8 +1183,8 @@ lib/libtcl.so.7.3 WRKSRC= ${WRKDIR}/xdvi-new [If it asks questions during configure, build, install...] IS_INTERACTIVE= yes - [If it requires "configure" in the distributed source directory to be run...] - HAS_CONFIGURE= yes + [If it requires a "configure" script generated by GNU autoconf to be run...] + GNU_CONFIGURE= yes [If it requires GNU make, not /usr/bin/make, to build...] USE_GMAKE= yes [If it is an X application and requires "xmkmf -a" to be run...]