diff options
-rw-r--r-- | share/doc/handbook/porting.sgml | 63 |
1 files changed, 55 insertions, 8 deletions
diff --git a/share/doc/handbook/porting.sgml b/share/doc/handbook/porting.sgml index 441ea06..75c285d 100644 --- a/share/doc/handbook/porting.sgml +++ b/share/doc/handbook/porting.sgml @@ -1,4 +1,4 @@ -<!-- $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 $ --> <!-- The FreeBSD Documentation Project --> <sect1><heading>Porting an existing piece of free software<label id="porting"></heading> @@ -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. <heading>COMMENT</heading> <p>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 <em>not</em> have the name of the package + at the beginning, or the version number of the software at + the end. Here is an example: <tscreen><verb> A cat chasing a mouse all over the screen. </verb></tscreen> @@ -239,6 +240,9 @@ lib/X11/oneko/cat2.xpm lib/X11/oneko/mouse.xpm </verb></tscreen> + <p>Refer to the <tt>pkg_create(1)</tt> man page for details + on the packing list. + <sect3> <heading>Creating the checksum file</heading> @@ -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. + <p>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. + <sect3> <heading>Patching</heading> @@ -593,6 +602,23 @@ work/foozolix-1.0/ decompressed automatically if the filenames end with `<tt>.gz</tt>' or `<tt>.Z</tt>'. + <p>If the patch is distributed with some other files, such as + documentation, in a gzip'd tarball, you can't just use + <tt>${PATCHFILES}</tt>. If that is the case, add the + name and the location of the patch tarball to + <tt>${DISTFILES}</tt> and + <tt>${MASTER_SITES}</tt>. Then, from the + <tt>pre-patch</tt> target, apply the patch either by running + the patch command from there, or copying the patch file into + the <tt>${PATCHDIR}</tt> directory and calling it + <tt>patch-<xx></tt>. (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 <tt>pre-clean</tt> target. + <sect3> <heading>MAINTAINER</heading> @@ -895,6 +921,27 @@ FETCH_DEPENDS= ncftp2:${PORTSDIR}/net/ncftp2 does not say `not stripped', it is stripped. <sect3> + <heading>INSTALL_* macros</heading> + <p>Do use the macros provided in bsd.port.mk to ensure correct + modes and ownership of files in your own *-install targets. + They are: + + <itemize> + <item><tt>${INSTALL_PROGRAM}</tt> is a command to install + binary executables. + <item><tt>${INSTALL_SCRIPT}</tt> is a command to install + executable scripts. + <item><tt>${INSTALL_DATA}</tt> is a command to install + sharable data. + <item><tt>${INSTALL_MAN}</tt> is a command to install + manpages (it doesn't do compression). + </itemize> + + <p>These are basically the <tt>install</tt> command with all + the appropriate flags. See below for an example on how to + use them. + + <sect3> <heading>Install additional documentation</heading> <p>If your software has some documentation other than the @@ -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 </verb></tscreen> @@ -1098,7 +1145,7 @@ lib/libtcl.so.7.3 person who wrote this Makefile] # Whom: Satoshi Asami <asami@FreeBSD.ORG> # - # $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...] |