From owner-svn-doc-head@FreeBSD.ORG Tue Sep 16 12:01:30 2014 Return-Path: Delivered-To: svn-doc-head@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:1900:2254:206a::19:1]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id 3D5FE37F; Tue, 16 Sep 2014 12:01:30 +0000 (UTC) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (Client did not present a certificate) by mx1.freebsd.org (Postfix) with ESMTPS id 282CA1F5; Tue, 16 Sep 2014 12:01:30 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.9/8.14.9) with ESMTP id s8GC1UeG026877; Tue, 16 Sep 2014 12:01:30 GMT (envelope-from mat@FreeBSD.org) Received: (from mat@localhost) by svn.freebsd.org (8.14.9/8.14.9/Submit) id s8GC1UPW026876; Tue, 16 Sep 2014 12:01:30 GMT (envelope-from mat@FreeBSD.org) Message-Id: <201409161201.s8GC1UPW026876@svn.freebsd.org> X-Authentication-Warning: svn.freebsd.org: mat set sender to mat@FreeBSD.org using -f From: Mathieu Arnold Date: Tue, 16 Sep 2014 12:01:30 +0000 (UTC) To: doc-committers@freebsd.org, svn-doc-all@freebsd.org, svn-doc-head@freebsd.org Subject: svn commit: r45616 - head/en_US.ISO8859-1/books/porters-handbook/special X-SVN-Group: doc-head MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-doc-head@freebsd.org X-Mailman-Version: 2.1.18-1 Precedence: list List-Id: SVN commit messages for the doc tree for head List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 16 Sep 2014 12:01:30 -0000 Author: mat (ports committer) Date: Tue Sep 16 12:01:29 2014 New Revision: 45616 URL: http://svnweb.freebsd.org/changeset/doc/45616 Log: igor -Ry and some other rewording and fixes. Differential Revision: https://reviews.freebsd.org/D653 Reviewed by: wblock Sponsored by: Absolight Modified: head/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml Modified: head/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml ============================================================================== --- head/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml Tue Sep 16 11:58:50 2014 (r45615) +++ head/en_US.ISO8859-1/books/porters-handbook/special/chapter.xml Tue Sep 16 12:01:29 2014 (r45616) @@ -10,16 +10,15 @@ Special Considerations - There are some more things you have to take into account - when you create a port. This section explains the most common - of those. + This section explains the most common things to consider when + creating a port. Staging bsd.port.mk expects ports to work with a stage directory. This means that a port - should not install files directly to the regular destination + must not install files directly to the regular destination directories (that is, under PREFIX, for example) but instead into a separate directory from which the package is then built. In many cases, this does not require @@ -42,7 +41,7 @@ The vast majority of ports do not really - need to be root. You can mostly avoid it by + need to be root. It can mostly be avoided by using USES=uidfix, and from time to time by slightly patching the port's @@ -50,7 +49,7 @@ Meta ports, or ports that do not install files themselves - but only depend on other ports, should avoid needlessly + but only depend on other ports, must avoid needlessly extracting the &man.mtree.8; to the stage directory. This is the basic directory layout of the package, and these empty directories will be seen as orphans. To prevent @@ -58,8 +57,8 @@ NO_MTREE= yes - Staging is enabled by prepending the - STAGEDIR variable to paths used in the + Staging is enabled by prepending + STAGEDIR to paths used in the pre-install, do-install, and post-install targets (see the @@ -72,21 +71,21 @@ absolute paths whenever possible. When creating a symlink, STAGEDIR - should be prepended to the target path only. For + is prepended to the target path only. For example: - ${LN} -sf libfoo.so.42 ${STAGEDIR}${PREFIX}/lib/libfoo.so + ${LN} -sf libfoo.so.42 ${STAGEDIR}${PREFIX}/lib/libfoo.so The source path - ${PREFIX}/lib/libfoo.so.42 looks fine but + ${PREFIX}/lib/libfoo.so.42 looks fine but could, in fact, be incorrect. Absolute paths can point to a wrong location, like when a remote file system has been mounted with NFS under a non-root mount point. Relative paths are less fragile, and often much shorter. - Ports that install kernel modules must prepend the - STAGEDIR variable to + Ports that install kernel modules must prepend + STAGEDIR to their destination, by default /boot/modules. @@ -106,7 +105,7 @@ distribution file. The second approach seems easier at first, but there are some serious drawbacks: - The following list is loosely based on the This list is loosely based on the Fedora and Gentoo @@ -220,7 +219,7 @@ port. If such a port does not exist yet, consider creating it. - Bundled libraries should only be used if upstream has a + Only use bundled libraries if the upstream has a good track record on security and using unbundled versions leads to overly complex patches. @@ -229,7 +228,7 @@ Shared Libraries - If your port installs one or more shared libraries, define + If the port installs one or more shared libraries, define a USE_LDCONFIG make variable, which will instruct a bsd.port.mk to run ${LDCONFIG} -m on the directory @@ -239,21 +238,21 @@ into the shared library cache. This variable, when defined, will also facilitate addition of an appropriate @exec /sbin/ldconfig -m and - @unexec /sbin/ldconfig -R pair into your - pkg-plist file, so that a user who + @unexec /sbin/ldconfig -R pair into + pkg-plist, so that a user who installed the package can start using the shared library immediately and de-installation will not cause the system to still believe the library is there. USE_LDCONFIG= yes - If you need, you can override the default directory by - setting the USE_LDCONFIG value to a list of + The default directory can be overridden by + setting USE_LDCONFIG to a list of directories into which shared libraries are to be installed. - For example if your port installs shared libraries into + For example, if the port installs shared libraries into PREFIX/lib/foo and PREFIX/lib/bar - directories you could use the following in your + use this in Makefile: USE_LDCONFIG= ${PREFIX}/lib/foo ${PREFIX}/lib/bar @@ -270,14 +269,14 @@ When installing 32-bit libraries on 64-bit system, use USE_LDCONFIG32 instead. - If the software you are porting uses If the software uses autotools, and specifically - libtool, you should add libtool, add USES=libtool. When the major library version number increments in the update to the new port version, all other ports that link to - the affected library should have their + the affected library must have their PORTREVISION incremented, to force recompilation with the new library version. @@ -291,7 +290,7 @@ profit, and so on. - It is your responsibility as a porter to read the + It is the responsibility of a porter to read the licensing terms of the software and make sure that the &os; project will not be held accountable for violating them by redistributing the source or compiled binaries @@ -300,7 +299,7 @@ In situations like this, the variables described in the - following sections can be set. + next sections can be set. <varname>NO_PACKAGE</varname> @@ -316,15 +315,16 @@ on a CD-ROM (or similar media) unless NO_CDROM is set as well. - NO_PACKAGE should also be used if the + If the binary package is not generally useful, and the application - should always be compiled from the source code. For + must always be compiled from the source code, use + NO_PACKAGE. For example, if the application has configuration information - that is site specific hard coded in to it at compile time, + that is site specific hard coded into it at compile time, set NO_PACKAGE. - NO_PACKAGE should be set to a string - describing the reason why the package should not be + Set NO_PACKAGE to a string + describing the reason why the package cannot be generated. @@ -343,9 +343,9 @@ DISTFILES will be available, and only via FTP/HTTP. - NO_CDROM should be set to a string + Set NO_CDROM to a string describing the reason why the port cannot be redistributed - on CD-ROM. For instance, this should be used if the port's + on CD-ROM. For instance, use this if the port's license is for non-commercial use only. @@ -353,13 +353,13 @@ <varname>NOFETCHFILES</varname> - Files defined in the NOFETCHFILES - variable are not fetchable from any of the + Files defined in NOFETCHFILES + are not fetchable from any of MASTER_SITES. An example of such a file is when the file is supplied on CD-ROM by the vendor. Tools which check for the availability of these files - on the MASTER_SITES should ignore these + on MASTER_SITES have to ignore these files and not report about them. @@ -371,12 +371,12 @@ DISTFILES nor distributing the binary package in any way. - NO_CDROM or - NO_PACKAGE should not be set along with - RESTRICTED since the latter variable + Do not set NO_CDROM or + NO_PACKAGE along with + RESTRICTED, since the latter variable implies the former ones. - RESTRICTED should be set to a string + Set RESTRICTED to a string describing the reason why the port cannot be redistributed. Typically, this indicates that the port contains proprietary software and that the user will need to manually download @@ -400,10 +400,10 @@ <varname>LEGAL_TEXT</varname> If the port has legal concerns not addressed by the - above variables, the variable LEGAL_TEXT - should be set to a string explaining the concern. For + above variables, set LEGAL_TEXT + to a string explaining the concern. For example, if special permission was obtained for &os; to - redistribute the binary, this variable should indicate + redistribute the binary, this variable must indicate so. @@ -482,8 +482,8 @@ IGNORE= may not be redistributed because implementation is listed in USES, the variables GMAKE (for the GNU version) or FMAKE - (for the legacy &os; version) are available. Most ports - should only use MAKE_CMD within the + (for the legacy &os; version) are available. + Only use MAKE_CMD within the application Makefiles in WRKSRC to call the make implementation expected by the @@ -497,10 +497,10 @@ IGNORE= may not be redistributed because linkend="uses-imake">USES=imake section of for more details. - If your port's source Makefile has - something else than all as the + If the port's source Makefile has + something other than all as the main build target, set ALL_TARGET - accordingly. Same goes for + accordingly. The same goes for install and INSTALL_TARGET. @@ -508,10 +508,10 @@ IGNORE= may not be redistributed because <command>configure</command> Script - If your port uses the configure - script to generate Makefile files from - Makefile.in files, set - GNU_CONFIGURE=yes. If you want to give + If the port uses the configure + script to generate Makefile from + Makefile.in, set + GNU_CONFIGURE=yes. To give extra arguments to the configure script (the default argument is --prefix=${PREFIX} --infodir=${PREFIX}/${INFO_PATH} @@ -519,7 +519,7 @@ IGNORE= may not be redistributed because --build=${CONFIGURE_TARGET}), set those extra arguments in CONFIGURE_ARGS. Extra environment variables can be passed using - CONFIGURE_ENV variable. + CONFIGURE_ENV. Variables for Ports That Use @@ -624,8 +624,8 @@ IGNORE= may not be redistributed because </table> <table frame="none" xml:id="using-cmake-user-variables"> - <title>Variables the Users can define for - <command>cmake</command> builds + Variables the Users Can Define for + <command>cmake</command> Builds @@ -653,7 +653,7 @@ IGNORE= may not be redistributed because
- CMake supports the following + CMake supports these build profiles: Debug, Release, RelWithDebInfo and @@ -664,14 +664,14 @@ IGNORE= may not be redistributed because CFLAGS to -O2 -g and -Os -DNDEBUG correspondingly. The lower-cased value of CMAKE_BUILD_TYPE is - exported to the PLIST_SUB and should be - used if port installs *.cmake files + exported to PLIST_SUB and must be + used if the port installs *.cmake depending on the build type (see deskutils/strigi for an example). Please note that some projects may define their own build profiles and/or force particular build type by setting CMAKE_BUILD_TYPE in - CMakeLists.txt files. In order to + CMakeLists.txt. To make a port for such a project respect CFLAGS and WITH_DEBUG, the CMAKE_BUILD_TYPE definitions must be @@ -692,7 +692,7 @@ IGNORE= may not be redistributed because <literal>USES= cmake</literal> Example - The following snippet demonstrates the use of + This snippet demonstrates the use of CMake for a port. CMAKE_SOURCE_PATH is not usually required, but can be set when the sources are not located @@ -707,7 +707,7 @@ CMAKE_SOURCE_PATH= ${WRKSRC}/subp Using <command>scons</command> - If your port uses SCons, + If the port uses SCons, define USE_SCONS=yes. @@ -753,7 +753,7 @@ CMAKE_SOURCE_PATH= ${WRKSRC}/subp To make third party SConstruct respect everything that is passed to SCons in SCONS_ENV (that is, most importantly, - CC/CXX/CFLAGS/CXXFLAGS), patch the + CC/CXX/CFLAGS/CXXFLAGS), patch SConstruct so build Environment is constructed like this: @@ -842,9 +842,9 @@ CMAKE_SOURCE_PATH= ${WRKSRC}/subp autoheaderSome ports do not contain a configure script, but do - contain an autoconf template in the - configure.ac file. You can use the - following assignments to let autoconf + contain an autoconf template in + configure.ac. Use these + assignments to let autoconf create the configure script, and also have autoheader create template headers for use by the configure script. @@ -872,14 +872,14 @@ CMAKE_SOURCE_PATH= ${WRKSRC}/subp aclocalSome packages only contain - Makefile.am files. These have to be - converted into Makefile.in files using + Makefile.am. These have to be + converted into Makefile.in using automake, and the further processed by configure to generate an actual Makefile.Similarly, packages occasionally do not ship with - included aclocal.m4 files, again + an included aclocal.m4, again required to build the software. This can be achieved with aclocal, which scans configure.ac or @@ -914,8 +914,8 @@ CMAKE_SOURCE_PATH= ${WRKSRC}/subp Basic Usage - If your port requires gettext, set - USES= gettext, and your port will inherit + If the port requires gettext, set + USES= gettext, and the port will inherit a dependency on libintl.so from devel/gettext. Other values for gettext usage are listed in @@ -945,13 +945,13 @@ GNU_CONFIGURE= yes Optional Usage - Some software products allow for disabling NLS, e.g., + Some software products allow for disabling NLS. For example, through passing to - configure. In that case, your port - should use gettext conditionally, - depending on the status of the NLS - option. For ports of low to medium complexity, you can rely - on the following idiom: + configure. In that case, the port + must use gettext conditionally, + depending on the status of the NLS + option. For ports of low to medium complexity, use + this idiom: GNU_CONFIGURE= yes @@ -981,7 +981,7 @@ PLIST_SUB+= NLS="@comment " .include <bsd.port.mk> - The next item on your to-do list is to arrange so that + The next item on the to-do list is to arrange so that the message catalog files are included in the packing list conditionally. The Makefile part of this task is already provided by the idiom. It is explained @@ -994,7 +994,7 @@ PLIST_SUB+= NLS="@comment " Consequently, the lines prefixed by %%NLS%% will become mere comments in the final packing list if NLS is off; otherwise the prefix will - be just left out. All you need to do now is insert + be just left out. Then insert %%NLS%% before each path to a message catalog file in pkg-plist. For example: @@ -1002,8 +1002,8 @@ PLIST_SUB+= NLS="@comment " %%NLS%%share/locale/fr/LC_MESSAGES/foobar.mo %%NLS%%share/locale/no/LC_MESSAGES/foobar.mo - In high complexity cases, you may need to use more - advanced techniques than the recipe given here, such as + In high complexity cases, more advanced techniques + may be needed, such as dynamic packing list generation. @@ -1015,7 +1015,7 @@ PLIST_SUB+= NLS="@comment " catalog files. The target directories for them, which reside under LOCALBASE/share/locale, - should rarely be created and removed by a port. The most + must not be created and removed by a port. The most popular languages have their respective directories listed in PORTSDIR/Templates/BSD.local.dist. @@ -1031,7 +1031,7 @@ PLIST_SUB+= NLS="@comment " Using <application>Perl</application> If MASTER_SITES is set to - CPAN, the correct subdirectory should be + CPAN, the correct subdirectory is usually selected automatically. If the default subdirectory is wrong, CPAN/Module can be used to change it. MASTER_SITES can also be set to the old @@ -1050,13 +1050,13 @@ PLIST_SUB+= NLS="@comment " directory. In such case, using author's id as MASTER_SITE_SUBDIR is allowed. The CPAN:AUTHOR macro can be used, which will - be translated to the hashed author directory. (e.g., + be translated to the hashed author directory. For example, CPAN:AUTHOR will be converted to - authors/id/A/AU/AUTHOR.) + authors/id/A/AU/AUTHOR. When a port needs Perl support, - it should use USES=perl5 with the optional - USE_PERL5 like described in USES=perl5 with the optional + USE_PERL5 described in the perl5 USES description.
@@ -1076,22 +1076,25 @@ PLIST_SUB+= NLS="@comment " PERLThe full path of the Perl 5 interpreter, either in the system or installed from a port, but - without the version number. Use this if you need to - replace #!lines in - scripts. + without the version number. Use this when the software + needs the path to the Perl + interpreter. To replace + #!lines in scripts, + use USES=shebangfix. PERL_VERSION The full version of Perl - installed (e.g., 5.8.9). + installed (for example, 5.8.9). PERL_LEVEL The installed Perl version as an integer of the form MNNNPP - (e.g., 500809). + (for example, 500809). @@ -1104,7 +1107,7 @@ PLIST_SUB+= NLS="@comment " PERL_PORT Name of the Perl port that is - installed (e.g., perl5). + installed (for example, perl5). @@ -1119,7 +1122,7 @@ PLIST_SUB+= NLS="@comment " Ports of Perl modules which do not have an official - website should link to cpan.org in + website must link to cpan.org in the WWW line of pkg-descr. The preferred URL form is http://search.cpan.org/dist/Module-Name/ @@ -1168,7 +1171,7 @@ PLIST_SUB+= NLS="@comment " X.Org Components The X11 implementation available in The Ports Collection - is X.Org. If your application depends on X components, set + is X.Org. If the application depends on X components, set USE_XORG to the list of required components. Available components, at the time of writing, are: @@ -1192,9 +1195,9 @@ PLIST_SUB+= NLS="@comment " /usr/ports/Mk/bsd.xorg.mk. The Mesa Project is an effort to provide free OpenGL - implementation. You can specify a dependency on various - components of this project with USE_GL - variable. Valid options are: + implementation. To specify a dependency on various + components of this project, use USE_GL. + Valid options are: egl, gl, glesv2, glew, glu, glut, glw and linux. For backwards compatibility, the value of yes maps to @@ -1238,7 +1241,7 @@ USE_XORG= x11 xpm Ports That Require Motif - If your port requires a Motif library, define + If the port requires a Motif library, define USES= motif in the Makefile. Default Motif implementation is @@ -1246,11 +1249,11 @@ USE_XORG= x11 xpm Users can choose x11-toolkits/lesstif instead by setting WANT_LESSTIF - variable in their make.conf. + in their make.conf. - The MOTIFLIB variable will be set by + MOTIFLIB will be set by motif.mk to reference the - appropriate Motif library. Please patch the source of your + appropriate Motif library. Please patch the source of the port to use ${MOTIFLIB} wherever the Motif library is referenced in the original Makefile or @@ -1263,7 +1266,7 @@ USE_XORG= x11 xpm If the port refers to the Motif library as -lXm in its Makefile or - Imakefile, simply substitute + Imakefile, substitute ${MOTIFLIB} for it. @@ -1285,7 +1288,7 @@ USE_XORG= x11 xpm X11 Fonts - If your port installs fonts for the X Window System, put + If the port installs fonts for the X Window System, put them in LOCALBASE/lib/X11/fonts/local. @@ -1295,7 +1298,7 @@ USE_XORG= x11 xpm Some applications require a working X11 display for compilation to succeed. This pose a problem for machines - that operate headless. When the following variable is used, + that operate headless. When this variable is used, the build infrastructure will start the virtual framebuffer X server. The working DISPLAY is then passed to the build. See Files Ports that include predefined - *.desktop files should + *.desktop must include those files in pkg-plist and install them in the $LOCALBASE/share/applications @@ -1350,14 +1353,14 @@ USE_XORG= x11 xpm - Creating Desktop Entries with the - <varname>DESKTOP_ENTRIES</varname> Macro + Creating Desktop Entries with + <varname>DESKTOP_ENTRIES</varname> Desktop entries can be easily created for applications - by using the DESKTOP_ENTRIES variable. A + by using DESKTOP_ENTRIES. A file named name.desktop - will be created, installed, and added to the + will be created, installed, and added to pkg-plist automatically. Syntax is: @@ -1376,7 +1379,7 @@ USE_XORG= x11 xpm after it has started. Programs that are not compatible with startup notifications would never clear the indicator (potentially confusing and infuriating the user), and - should have StartupNotify set to + must have StartupNotify set to false so the indicator is not shown at all. @@ -1407,12 +1410,12 @@ USE_XORG= x11 xpm Ports That Require Qt The Ports Collection provides support for Qt 4 and Qt 5 - frameworks with the - USE_QTx - variable, where x is + frameworks with + USE_QTx, + where x is 4 or 5. - USE_QTx should - be set to the list of required Qt components (libraries, + Set USE_QTx + to the list of required Qt components (libraries, tools, plugins). The Qt 4 and Qt 5 frameworks are quite similar. The main difference is the set of supported components. @@ -1494,29 +1497,29 @@ PLIST_SUB+= QT_INCDIR=${QT_INCDIR_REL} \ Some configure scripts do not support the arguments above. To suppress modification ofCONFIGURE_ENV - and CONFIGURE_ARGS, set the - QT_NONSTANDARD variable. + and CONFIGURE_ARGS, set + QT_NONSTANDARD. Component Selection Individual Qt tool and library dependencies must be - specified in the - USE_QTx - variable. Every component can be suffixed with + specified in + USE_QTx. + Every component can be suffixed with _build or _run, the - suffix indicating whether the component should be depended on + suffix indicating whether the dependency on the component is at buildtime or runtime. If unsuffixed, the component will be depended on at both build- and runtime. Usually, library - components should be specified unsuffixed, tool components - should be specified with the _build suffix - and plugin components should be specified with the + components are specified unsuffixed, tool components + are mostly specified with the _build suffix + and plugin components are specified with the _run suffix. The most commonly used components are listed below (all available components are listed in _USE_QT_ALL, _USE_QT4_ONLY, and - _USE_QT5_ONLY variables in + _USE_QT5_ONLY in /usr/ports/Mk/bsd.qt.mk):
@@ -1784,10 +1787,10 @@ USE_QT5= buildtools_buildMissing additional include paths. Many applications come with system tray icon support, but neglect to look for - includes and/or libraries in the X11 directories. You - can tell qmake to add directories to - the include and library search paths via the command - line, for example: + includes and/or libraries in the X11 directories. To add + directories to qmake's + include and library search paths via the command + line, use:QMAKE_ARGS+= INCLUDEPATH+=${LOCALBASE}/include \ LIBS+=-L${LOCALBASE}/lib @@ -1819,11 +1822,11 @@ USE_QT5= buildtools_buildUSE_KDE4 to the list of required components. _build and _run suffixes can be used to force - components dependency type (e.g., + components dependency type (for example, baseapps_run). If no suffix is set, a - default dependency type will be used. If you want to force + default dependency type will be used. To force both types, add the component twice with both suffixes - (e.g., automoc4_build automoc4_run). The + (for example, automoc4_build automoc4_run). The most commonly used components are listed below (up-to-date components are documented at the top of /usr/ports/Mk/bsd.kde4.mk): @@ -1995,7 +1998,7 @@ USE_QT5= buildtools_buildUSE_KDE4 does not imply USE_QT4. If a port requires some - Qt 4 components, they should be specified in + Qt 4 components, specify them in USE_QT4.USES= cmake:outsource @@ -2011,14 +2014,14 @@ USE_QT4= moc_build qmake_build rcc_build Variable Definitions - If your port needs a Java™ Development Kit - (JDK™) to either build, run or even extract the - distfile, then it should define + If the port needs a Java™ Development Kit + (JDK™) to either build, run or even extract the + distfile, then define USE_JAVA. - There are several JDKs in the ports collection, from - various vendors, and in several versions. If your port must - use one of these versions, you can define which one. The + There are several JDKs in the ports collection, from + various vendors, and in several versions. If the port must + use one of these versions, define which one. The most current version, and &os; default is java/openjdk6. @@ -2037,7 +2040,7 @@ USE_QT4= moc_build qmake_build rcc_build USE_JAVA - Should be defined for the remaining variables + Define for the remaining variables to have any effect. @@ -2045,21 +2048,21 @@ USE_QT4= moc_build qmake_build rcc_build JAVA_VERSIONList of space-separated suitable Java versions for the port. An optional "+" - allows you to specify a range of versions (allowed + allows specifying a range of versions (allowed values: 1.5[+] 1.6[+] 1.7[+]). JAVA_OS - List of space-separated suitable JDK port + List of space-separated suitable JDK port operating systems for the port (allowed values: native linux). JAVA_VENDOR - List of space-separated suitable JDK port + List of space-separated suitable JDK port vendors for the port (allowed values: freebsd bsdjava sun openjdk). @@ -2067,23 +2070,20 @@ USE_QT4= moc_build qmake_build rcc_build JAVA_BUILD - When set, it means that the selected JDK port - should be added to the build dependencies of the - port. + When set, add the selected JDK port to the build + dependencies. JAVA_RUN - When set, it means that the selected JDK port - should be added to the run dependencies of the - port. + When set, add the selected JDK port to the run + dependencies. JAVA_EXTRACT - When set, it means that the selected JDK port - should be added to the extract dependencies of the - port. + When set, add the selected JDK port to the + extract dependencies. @@ -2106,61 +2106,61 @@ USE_QT4= moc_build qmake_build rcc_build JAVA_PORT - The name of the JDK port (e.g., - 'java/openjdk6'). + The name of the JDK port (for example, + java/openjdk6). JAVA_PORT_VERSION - The full version of the JDK port (e.g., - '1.6.0'). If you only need the - first two digits of this version number, use + The full version of the JDK port (for example, + 1.6.0). Only the first two + digits of this version number are needed, use ${JAVA_PORT_VERSION:C/^([0-9])\.([0-9])(.*)$/\1.\2/}. JAVA_PORT_OS - The operating system used by the JDK port - (e.g., 'native'). + The operating system used by the JDK port + (for example, 'native'). JAVA_PORT_VENDOR - The vendor of the JDK port (e.g., + The vendor of the JDK port (for example, 'openjdk'). JAVA_PORT_OS_DESCRIPTION Description of the operating system used by the - JDK port (e.g., + JDK port (for example, 'Native'). JAVA_PORT_VENDOR_DESCRIPTION - Description of the vendor of the JDK port - (e.g., 'OpenJDK BSD Porting + Description of the vendor of the JDK port + (for example, 'OpenJDK BSD Porting Team'). JAVA_HOME - Path to the installation directory of the JDK - (e.g., + Path to the installation directory of the JDK + (for example, '/usr/local/openjdk6'). JAVAC - Path to the Java compiler to use (e.g., + Path to the Java compiler to use (for example, '/usr/local/openjdk6/bin/javac'). JAR Path to the jar tool to use - (e.g., + (for example, '/usr/local/openjdk6/bin/jar' or '/usr/local/bin/fastjar'). @@ -2169,14 +2169,14 @@ USE_QT4= moc_build qmake_build rcc_build APPLETVIEWER Path to the appletviewer - utility (e.g., + utility (for example, '/usr/local/openjdk6/bin/appletviewer'). JAVA Path to the java executable. - Use this for executing Java programs (e.g., + Use this for executing Java programs (for example, '/usr/local/openjdk6/bin/java'). @@ -2242,7 +2242,7 @@ USE_QT4= moc_build qmake_build rcc_build JAVA_CLASSES - Path to the archive that contains the JDK class + Path to the archive that contains the JDK class files, ${JAVA_HOME}/jre/lib/rt.jar. @@ -2250,11 +2250,11 @@ USE_QT4= moc_build qmake_build rcc_build
- You may use the java-debug make - target to get information for debugging your port. It will - display the value of many of the forecited variables. + Use the java-debug make + target to get information for debugging the port. It will + display the value of many of the previously listed variables. - Additionally, the following constants are defined so all + Additionally, these constants are defined so all Java ports may be installed in a consistent way: @@ -2278,7 +2278,7 @@ USE_QT4= moc_build qmake_build rcc_build JAVAJARDIR - The directory where JAR files should be + The directory where JAR files is installed. Default: ${JAVASHAREDIR}/classes. @@ -2305,37 +2305,37 @@ USE_QT4= moc_build qmake_build rcc_build When the port is to be built using Apache Ant, it has to define USE_ANT. Ant is thus considered to be the sub-make command. When no - do-build target is defined by the port, a - default one will be set that simply runs Ant according to + do-build target is defined by the port, a + default one will be set that runs Ant according to MAKE_ENV, MAKE_ARGS and ALL_TARGET. This is similar to the - USES= gmake mechanism, which is + USES= gmake mechanism, which is documented in . Best Practices - When porting a Java library, your port should install + When porting a Java library, the port has to install the JAR file(s) in ${JAVAJARDIR}, and everything else under ${JAVASHAREDIR}/${PORTNAME} (except for - the documentation, see below). In order to reduce the - packing file size, you may reference the JAR file(s) - directly in the Makefile. Just use the - following statement (where myport.jar + the documentation, see below). To reduce the + packing file size, reference the JAR file(s) + directly in the Makefile. Use this + statement (where myport.jar is the name of the JAR file installed as part of the port): - PLIST_FILES+= %%JAVAJARDIR%%/myport.jar + PLIST_FILES+= %%JAVAJARDIR%%/myport.jar When porting a Java application, the port usually installs everything under a single directory (including its *** DIFF OUTPUT TRUNCATED AT 1000 LINES ***