diff --git a/share/doc/handbook/porting.sgml b/share/doc/handbook/porting.sgml index 20f83a36620..52cfabed660 100644 --- a/share/doc/handbook/porting.sgml +++ b/share/doc/handbook/porting.sgml @@ -1,4 +1,4 @@ - + Porting an existing piece of free software @@ -115,9 +115,11 @@ the ports collection. 2.0-RELEASE: 199411 2.1-current's: 199501, 199503 2.0.5-RELEASE: 199504 -2.1.0-RELEASE: 199511 2.2-current before 2.1: 199508 -2.2-current as 10 Jan 1996: 199512 (will certainly be bumped) +2.1.0-RELEASE: 199511 +2.2-current before 2.1.5: 199512 +2.1.5-RELEASE: 199607 +2.2-current as 12 Jul 1996: 199608 (will certainly be bumped) The pattern is the year followed by the month. @@ -156,7 +158,7 @@ The pattern is the year followed by the month. # Date created: 5 December 1994 # Whom: asami # - # $Id: porting.sgml,v 1.21 1996/05/24 19:33:33 jfieber Exp $ + # $Id: porting.sgml,v 1.22 1996/07/30 05:51:14 asami Exp $ # DISTNAME= oneko-1.1b @@ -255,23 +257,26 @@ lib/X11/oneko/mouse.xpm and works correctly. - Submitting the port +

Now that you are happy with your port, the only thing remaining is to put it in the main FreeBSD ports tree and make everybody else happy about it too. To accomplish this, pack the necessary files (everything described in this section -- in particular do not include the - original source tarball or the `work' subdirectory) - into a .tar.gz file, stick it in the directory + original source tarball, the `work' subdirectory or + the package) into a .tar.gz file, stick it in the + directory ftp://ftp.FreeBSD.ORG/pub/FreeBSD/incoming/ - and send mail to the &a.ports;. We will take a - look, get back to you if necessary, and put it in the tree. - Your name will also appear in the list of `Additional - FreeBSD contributors' on the FreeBSD Handbook and other - files. Isn't that great?!? :) + and send mail to us using send-pr(1) (please + classify it as category `ports' and class `change-request'). + We will take a look, get back to you if necessary, and put + it in the tree. Your name will also appear in the list of + `Additional FreeBSD contributors' on the FreeBSD Handbook + and other files. Isn't that great?!? :) Slow Porting @@ -686,6 +691,33 @@ FETCH_DEPENDS= ncftp2:${PORTSDIR}/net/ncftp2 `NO_INSTALL_MANPAGES=yes' should be set. In addition, the author of the original port should be shot. + + Ports that require Motif +

There are many programs that require a Motif library + (available from several commercial vendors, while there is (at + least) one effort to create a free clone) to compile. Since + it is a popular toolkit and their licenses usually permit + redistribution of statically linked binaries, we have made + special provisions for handling ports that require Motif in a + way that we can easily compile binaries linked either + dynamically or statically. + + + REQUIRES_MOTIF +

If your port requires Motif, define this variable in the + Makefile. This will prevent people who don't own a copy of + Motif from even attempting to build it. + + + ${MOTIFLIB} +

This variable will be set by bsd.port.mk to be the + appropriate reference to the Motif library. Please patch + the source to use this wherever the Motif library is + referenced in the Makefile or Imakefile. (Note that this + variable (usually) expands to `-L/usr/X11R6/lib + -lXm' or `/usr/X11R6/lib/libXm.a', so there is + no need to add `-L' or `-l' in front.) + Licensing Problems

Some software packages have restrictive licenses or are in @@ -700,11 +732,22 @@ FETCH_DEPENDS= ncftp2:${PORTSDIR}/net/ncftp2 redistributing the source or compiled binaries either via ftp or CD-ROM. If in doubt, please contact the &a.ports;. -

We usually get around this problem by setting - ${NO_PACKAGE} in the Makefile, and not putting - the distfile up for ftp. However, for most cases, you should - at least be able to make a port, so do not let the license - scare you away! +

There are two variables you can set in the Makefile to handle + the situations that arise frequently: + + + If the port has a `do not sell for profit' type of + license, set the variable NO_CDROM. We will make + sure such ports won't go into the CD-ROM come release time. + The distfile and package will still be available via ftp. + + If the port has legal restrictions on who can use it + (e.g., crypto stuff) or has a `no commercial use' license, + set the variable RESTRICTED to be the string + describing the reason why. For such ports, the + distfiles/packages will not be available even from our ftp + sites. +

Note: The GNU General Public License (GPL), both version 1 and 2, should not be a problem for ports. @@ -713,8 +756,29 @@ FETCH_DEPENDS= ncftp2:${PORTSDIR}/net/ncftp2 ports/LEGAL file too. - * Upgrading -

This section is still under construction, sorry. + Upgrading +

When you notice that a port is out of date compared to the + latest version from the original authors, first make sure you + have the latest port. You can find them in the + ports-current directory of the ftp mirror sites. + +

The next step is to send a mail to the maintainer, if one is + listed in the port's Makefile. That person may already be + working on an upgrade, or have a reason to not upgrade the + port right now (because of, for example, stability problems + of the new version). + +

If the maintainer asks you to do the upgrade or there isn't + any such person to begin with, please make the upgrade and + send the recursive diff of the new and old ports directories + to us (i.e., if your modified ports directory is called + `superedit' and the original as in our tree is + `superedit.bak', then send us the result of `diff + -ru superedit.bak superedit'.) If the port has changed + so much that the diff is larger than the new port itself, you + can the port + following the procedure described above. Either way, don't + forget to send us a message using send-pr(1)! Do's and Dont's @@ -976,7 +1040,7 @@ lib/libtcl.so.7.3 person who wrote this Makefile] # Whom: Satoshi Asami # - # $Id: porting.sgml,v 1.21 1996/05/24 19:33:33 jfieber Exp $ + # $Id: porting.sgml,v 1.22 1996/07/30 05:51:14 asami Exp $ [ ^^^^ do not worry about this...it will be automatically filled in by CVS when it is committed to our repository] #