From owner-p4-projects@FreeBSD.ORG Mon Nov 29 17:36:54 2010 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id 6A2681065670; Mon, 29 Nov 2010 17:36:54 +0000 (UTC) Delivered-To: perforce@FreeBSD.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 2C633106566B for ; Mon, 29 Nov 2010 17:36:54 +0000 (UTC) (envelope-from rene@FreeBSD.org) Received: from skunkworks.freebsd.org (skunkworks.freebsd.org [IPv6:2001:4f8:fff6::2d]) by mx1.freebsd.org (Postfix) with ESMTP id 16A498FC14 for ; Mon, 29 Nov 2010 17:36:54 +0000 (UTC) Received: from skunkworks.freebsd.org (localhost [127.0.0.1]) by skunkworks.freebsd.org (8.14.4/8.14.4) with ESMTP id oATHarM5062445 for ; Mon, 29 Nov 2010 17:36:53 GMT (envelope-from rene@FreeBSD.org) Received: (from perforce@localhost) by skunkworks.freebsd.org (8.14.4/8.14.4/Submit) id oATHarhb062442 for perforce@freebsd.org; Mon, 29 Nov 2010 17:36:53 GMT (envelope-from rene@FreeBSD.org) Date: Mon, 29 Nov 2010 17:36:53 GMT Message-Id: <201011291736.oATHarhb062442@skunkworks.freebsd.org> X-Authentication-Warning: skunkworks.freebsd.org: perforce set sender to rene@FreeBSD.org using -f From: Rene Ladan To: Perforce Change Reviews Precedence: bulk Cc: Subject: PERFORCE change 186425 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 29 Nov 2010 17:36:54 -0000 http://p4web.freebsd.org/@@186425?ac=10 Change 186425 by rene@rene_acer on 2010/11/29 17:36:49 IFC Affected files ... .. //depot/projects/docproj_nl/en_US.ISO8859-1/books/porters-handbook/book.sgml#94 integrate Differences ... ==== //depot/projects/docproj_nl/en_US.ISO8859-1/books/porters-handbook/book.sgml#94 (text+ko) ==== @@ -1,7 +1,7 @@ - Making a port yourself + Making a new port yourself So, you are interested in making your own port or upgrading an existing one? Great! @@ -91,7 +91,7 @@ Quick Porting - This section tells you how to do a quick port. In many cases, it + This section tells you how to quickly create a new port. In many cases, it is not sufficient, so you will have to read further on into the document. @@ -363,9 +363,9 @@ - Submitting the port + Submitting the new port - First, make sure you have read the Before you submit the new port, make sure you have read the DOs and DON'Ts section. Now that you are happy with your port, the only thing remaining @@ -386,7 +386,8 @@ change-request (Do not mark the report confidential!). Also add a short description of the program you ported - to the Description field of the PR and + to the Description field of the PR (e.g. + perhaps a short version of the COMMENT), and add the shar file to the Fix field. @@ -394,23 +395,23 @@ description in the synopsis of the problem report. We prefer something like New port: <category>/<portname> - <short description of the port> for new ports and - Update port: <category>/<portname> - <short description of the update> for port updates. + <short description of the port> for new ports. If you stick to this scheme, the chance that someone will take a look at your PR soon is much better. One more time, do not include the original source distfile, the work directory, or the package - you built with make package. + you built with make package; + and, do use &man.shar.1; for new ports, not &man.diff.1;. + After you have submitted your port, please be patient. Sometimes it can take a few months before a port is included in &os;, although it might only take a few days. You can view the list of ports - waiting to be committed to &os;. + PRs waiting to be committed to &os;. Once we have looked at your port, we will get back to you if necessary, and put it in the tree. Your name will also appear in the list of @@ -2292,28 +2293,132 @@ helping this effort. If the original tarball is part of one of the popular - archives such as X-contrib, GNU, or Perl CPAN, you may be able + archives such as SourceForge, GNU, or Perl CPAN, you may be able refer to those sites in an easy compact form using MASTER_SITE_* - (e.g., MASTER_SITE_XCONTRIB, + (e.g., MASTER_SITE_SOURCEFORGE, MASTER_SITE_GNU and MASTER_SITE_PERL_CPAN). Simply set MASTER_SITES to one of these variables and MASTER_SITE_SUBDIR to the path within the archive. Here is an example: - MASTER_SITES= ${MASTER_SITE_XCONTRIB} -MASTER_SITE_SUBDIR= applications + MASTER_SITES= ${MASTER_SITE_GNU} +MASTER_SITE_SUBDIR= make + + Or you can use a condensed format: + + MASTER_SITES= GNU/make These variables are defined in /usr/ports/Mk/bsd.sites.mk. There are new entries added all the time, so make sure to check the latest version of this file before submitting a port. - The user can also set the MASTER_SITE_* - variables in /etc/make.conf to override our - choices, and use their favorite mirrors of these popular archives - instead. + Several magic macros exist for popular sites + with a predictable directory structure. For these, just use the + abbreviation and the system will try to guess the correct + subdirectory for you. + + MASTER_SITES= SF + + If the guess is incorrect, it can be overriden as follows. + + MASTER_SITES= SF/stardict/WyabdcRealPeopleTTS/${PORTVERSION} + + + Popular magic <makevar>MASTER_SITES</makevar> macros + + + + + Macro + + Assumed subdirectory + + + + + + APACHE_JAKARTA + + /dist/jakarta/${PORTNAME:S,-,,/,}/source + + + + BERLIOS + + /${PORTNAME:L} + + + + CHEESESHOP + + /packages/source/source/${DISTNAME:C/(.).*/\1/}/${DISTNAME:C/(.*)-[0-9].*/\1/} + + + + DEBIAN + + /debian/pool/main/${PORTNAME:C/^((lib)?.).*$/\1/}/${PORTNAME} + + + + GCC + + /pub/gcc/releases/${DISTNAME} + + + + GNOME + + /pub/GNOME/sources/${PORTNAME}/${PORTVERSION:C/^([0-9]+\.[0-9]+).*/\1/} + + + + GNU + + /gnu/${PORTNAME} + + + + MOZDEV + + /pub/mozdev/${PORTNAME:L} + + + + PERL_CPAN + + /pub/CPAN/modules/by-module/${PORTNAME:C/-.*//} + + + + PYTHON + + /ftp/python/${PYTHON_PORTVERSION:C/rc[0-9]//} + + + + RUBYFORGE + + /${PORTNAME:L} + + + + SAVANNAH + + /${PORTNAME:L} + + + + SF + + /project/${PORTNAME:L}/${PORTNAME:L}/${PORTVERSION} + + + +
@@ -9301,7 +9406,7 @@
- Upgrading + Upgrading an individual port When you notice that a port is out of date compared to the latest version from the original authors, you should first ensure that you @@ -9346,9 +9451,22 @@ If the maintainer asks you to do the upgrade or there is no maintainer, then you have a chance to help out &os; by - preparing the update yourself! Please make the changes and save + preparing the update yourself! Please do this by using the + &man.diff.1; command in the base system. + + To create a suitable diff for a single patch, copy + the file that needs patching to something.orig, + save your changes to something and then create + your patch: + + + &prompt.user; /usr/bin/diff something.orig something > something.diff + + + Otherwise, you should copy the contents of the port to an entire + different directory and use the result of the - recursive diff output + recursive &man.diff.1; output of the new and old ports directories (e.g., if your modified port directory is called superedit and the original is in our tree @@ -9359,7 +9477,11 @@ option—this is the accepted way to force diff to properly deal with the case of new files being added or old files being deleted. Before sending us the diff, please examine the - output to make sure all the changes make sense. To + output to make sure all the changes make sense. (In particular, + make sure you first clean out the work directories with + make clean). + + To simplify common operations with patch files, you can use /usr/ports/Tools/scripts/patchtool.py. Before using it, please read @@ -9405,7 +9527,8 @@ Once again, please use &man.diff.1; and not &man.shar.1; to send - updates to existing ports! + updates to existing ports! This helps ports committers understand + exactly what is being changed. Now that you have done all that, you will want to read about