diff options
author | wiz <wiz@pkgsrc.org> | 2006-09-13 23:46:55 +0000 |
---|---|---|
committer | wiz <wiz@pkgsrc.org> | 2006-09-13 23:46:55 +0000 |
commit | d922200a22475ac7341520af957977b7c540aea2 (patch) | |
tree | 6df959ef228a3278862d0a5858403034f0ceddf5 /doc/pkgsrc.txt | |
parent | 5f8206d7263de28614653f2666064ec04965e499 (diff) | |
download | pkgsrc-d922200a22475ac7341520af957977b7c540aea2.tar.gz |
regen (various improvements and additional documentation).
Diffstat (limited to 'doc/pkgsrc.txt')
-rw-r--r-- | doc/pkgsrc.txt | 327 |
1 files changed, 223 insertions, 104 deletions
diff --git a/doc/pkgsrc.txt b/doc/pkgsrc.txt index 8db7c89562d..c97da42b4da 100644 --- a/doc/pkgsrc.txt +++ b/doc/pkgsrc.txt @@ -37,8 +37,7 @@ Table of Contents 1.2. Overview 1.3. Terminology - 1.3.1. Commonly used abbreviations - 1.3.2. Roles involved in pkgsrc + 1.3.1. Roles involved in pkgsrc 1.4. Typography @@ -99,6 +98,7 @@ I. The pkgsrc user's guide 5.3. Selecting and configuring the compiler 5.3.1. Additional flags to the compiler (CFLAGS) + 5.3.2. Additional flags to the linker (LDFLAGS) 5.4. Developer/advanced settings 5.5. Selecting Build Options @@ -142,6 +142,7 @@ I. The pkgsrc user's guide 7.15. Automated security checks 7.16. Why do some packages ignore my CFLAGS? 7.17. A package does not build. What shall I do? + 7.18. I have a little time to kill. What shall I do? II. The pkgsrc developer's guide @@ -257,7 +258,8 @@ II. The pkgsrc developer's guide 15.13. The test phase 15.14. The install phase 15.15. The package phase - 15.16. Other helpful targets + 15.16. Cleaning up + 15.17. Other helpful targets 16. Tools needed for building or running @@ -437,8 +439,7 @@ Table of Contents 1.2. Overview 1.3. Terminology - 1.3.1. Commonly used abbreviations - 1.3.2. Roles involved in pkgsrc + 1.3.1. Roles involved in pkgsrc 1.4. Typography @@ -598,13 +599,7 @@ Program the files in the distfile by the actions defined in the corresponding package. -1.3.1. Commonly used abbreviations - -ICE - - Internal Compiler Error - -1.3.2. Roles involved in pkgsrc +1.3.1. Roles involved in pkgsrc pkgsrc users @@ -696,6 +691,7 @@ Table of Contents 5.3. Selecting and configuring the compiler 5.3.1. Additional flags to the compiler (CFLAGS) + 5.3.2. Additional flags to the linker (LDFLAGS) 5.4. Developer/advanced settings 5.5. Selecting Build Options @@ -738,6 +734,7 @@ Table of Contents 7.15. Automated security checks 7.16. Why do some packages ignore my CFLAGS? 7.17. A package does not build. What shall I do? + 7.18. I have a little time to kill. What shall I do? Chapter 2. Where to get pkgsrc and how to keep it up-to-date @@ -1615,7 +1612,8 @@ quotes, so that the shell does not expand them before pkg_delete sees them. The -r option is very powerful: it removes all the packages that require the package in question and then removes the package itself. For example: - # pkg_delete -r jpeg +# pkg_delete -r jpeg + will remove jpeg and all the packages that used it; this allows upgrading the jpeg package. @@ -1642,7 +1640,7 @@ if any of your installed packages are vulnerable. If a package is vulnerable, you will see output similar to the following: Package samba-2.0.9 has a local-root-shell vulnerability, see -http://www.samba.org/samba/whatsnew/macroexploit.html + http://www.samba.org/samba/whatsnew/macroexploit.html One can set up security/audit-packages to download the vulnerabilities file daily, and include a package audit in the daily security script. Details on @@ -1657,6 +1655,7 @@ your packages are up-to-date, e.g. ... Version mismatch: 'tcsh' 6.09.00 vs 6.10.00 + You can then use make update to update the package on your system and rebuild any dependencies. @@ -1714,9 +1713,12 @@ DISTDIR=/cdrom/pkgsrc/distfiles to your mk.conf. You can overwrite some of the major distribution sites to fit to sites that are -close to your own. Have a look at pkgsrc/mk/defaults/mk.conf to find some -examples ? in particular, look for the MASTER_SORT, MASTER_SORT_REGEX and -INET_COUNTRY definitions. This may save some of your bandwidth and time. +close to your own. By setting one or two variables you can modify the order in +which the master sites are accessed. MASTER_SORT contains a whitespace +delimited list of domain suffixes. MASTER_SORT_REGEX is even more flexible, it +contains a whitespace delimited list of regular expressions. It has higher +priority than MASTER_SORT. Have a look at pkgsrc/mk/defaults/mk.conf to find +some examples. This may save some of your bandwidth and time. You can change these settings either in your shell's environment, or, if you want to keep the settings, by editing the /etc/mk.conf file, and adding the @@ -1748,12 +1750,14 @@ For example, type % cd misc/figlet % make + at the shell prompt to build the various components of the package. The next stage is to actually install the newly compiled program onto your system. Do this by entering: - % make install +% make install + while you are still in the directory for whatever package you are installing. @@ -1764,13 +1768,15 @@ the actual installation step. That's it, the software should now be installed and setup for use. You can now enter: - % make clean +% make clean + to remove the compiled files in the work directory, as you shouldn't need them any more. If other packages were also added to your system (dependencies) to allow your program to compile, you can tidy these up also with the command: - % make clean-depends +% make clean-depends + Taking the figlet utility as an example, we can install it on our system by building as shown in Appendix B, Build logs. @@ -1873,6 +1879,7 @@ Table of Contents 5.3. Selecting and configuring the compiler 5.3.1. Additional flags to the compiler (CFLAGS) + 5.3.2. Additional flags to the linker (LDFLAGS) 5.4. Developer/advanced settings 5.5. Selecting Build Options @@ -1952,6 +1959,20 @@ Using CFLAGS= (i.e. without the "+") may lead to problems with packages that need to add their own flags. Also, you may want to take a look at the devel/ cpuflags package if you're interested in optimization for the current CPU. +5.3.2. Additional flags to the linker (LDFLAGS) + +If you want to pass flags to the linker, both in the configure step and the +build step, you can do this in two ways. Either set LDFLAGS or LIBS. The +difference between the two is that LIBS will be appended to the command line, +while LDFLAGS come earlier. LDFLAGS is pre-loaded with rpath settings for ELF +machines depending on the setting of USE_IMAKE or the inclusion of mk/ +x11.buildlink3.mk. As with CFLAGS, if you do not wish to override these +settings, use the += operator: + + LDFLAGS+= -your -linkerflags + +See also Section 17.5.3, "Undefined reference to "..."". + 5.4. Developer/advanced settings XXX @@ -2075,7 +2096,7 @@ a binary package. 6.2. Settings for creation of binary packages -See Section 15.16, "Other helpful targets". +See Section 15.17, "Other helpful targets". 6.3. Doing a bulk build of all packages @@ -2490,6 +2511,7 @@ Table of Contents 7.15. Automated security checks 7.16. Why do some packages ignore my CFLAGS? 7.17. A package does not build. What shall I do? +7.18. I have a little time to kill. What shall I do? This section contains hints, tips & tricks on special things in pkgsrc that we didn't find a better place for in the previous chapters, and it contains items @@ -2829,6 +2851,20 @@ they have chosen. 4. If the problem still exists, write a mail to the pkgsrc-users mailing list. +7.18. I have a little time to kill. What shall I do? + +This is not really an FAQ yet, but here's the answer anyway. + + * Run pkg_chk -N (from the pkgtools/pkg_chk package). It will tell you about + newer versions of installed packages that are available, but not yet + updated in pkgsrc. + + * Browse pkgsrc/doc/TODO ? it contains a list of suggested new packages and a + list of cleanups and enhancements for pkgsrc that would be nice to have. + + * Review packages for which review was requested on the pkgsrc-wip review + mailing list. + Part II. The pkgsrc developer's guide This part of the book deals with creating and modifying packages. It starts @@ -2949,7 +2985,8 @@ Table of Contents 15.13. The test phase 15.14. The install phase 15.15. The package phase - 15.16. Other helpful targets + 15.16. Cleaning up + 15.17. Other helpful targets 16. Tools needed for building or running @@ -3234,7 +3271,8 @@ Other variables that affect the build: Please pay attention to the following gotchas: * Add MANCOMPRESSED if man pages are installed in compressed form by the - package; see comment in bsd.pkg.mk. + package. For packages using BSD-style makefiles which honor MANZ, there is + MANCOMPRESSED_IF_MANZ. * Replace /usr/local with "${PREFIX}" in all files (see patches, below). @@ -3791,7 +3829,7 @@ Be sure to add a RCS ID line as the first thing in any PLIST file you write: 11.2. Semi-automatic PLIST generation You can use the make print-PLIST command to output a PLIST that matches any new -files since the package was extracted. See Section 15.16, "Other helpful +files since the package was extracted. See Section 15.17, "Other helpful targets" for more information on this target. 11.3. Tweaking output of make print-PLIST @@ -4027,7 +4065,9 @@ issues: implementation. * motif.buildlink3.mk checks for a system-provided Motif installation or adds - a dependency on x11/lesstif or x11/openmotif. + a dependency on x11/lesstif or x11/openmotif. The user can set MOTIF_TYPE + to "dt", "lesstif", or "openmotif" to choose which Motif version will be + used. * oss.buildlink3.mk defines several variables that may be used by packages that use the Open Sound System (OSS) API. @@ -4821,7 +4861,8 @@ Table of Contents 15.13. The test phase 15.14. The install phase 15.15. The package phase -15.16. Other helpful targets +15.16. Cleaning up +15.17. Other helpful targets 15.1. Introduction @@ -4846,7 +4887,7 @@ variables influence this. The automatic variable PREFIX indicates where all files of the final program shall be installed. It is usually set to LOCALBASE (/usr/pkg), or CROSSBASE for -pkgs in the "cross" category. The value of PREFIX needs to be put into the +pkgs in the cross category. The value of PREFIX needs to be put into the various places in the program's source where paths to these files are encoded. See Section 9.3, "patches/*" and Section 17.3.1, "Shared libraries - libtool" for more details. @@ -4866,7 +4907,7 @@ When choosing which of these variables to use, follow the following rules: * X11BASE is where the actual X11 distribution (from xsrc, etc.) is installed. When looking for standard X11 includes (not those installed by a - pkg), use "${X11BASE}". + package), use "${X11BASE}". * X11-based packages are special in that they may be installed in either X11BASE or LOCALBASE. @@ -4980,18 +5021,20 @@ changed freely. Note that if your package requires additional distfiles to the default one, you cannot just append the additional filenames using the += operator, but you have write for example: - DISTFILES= ${DISTNAME}${EXTRACT_SUFX} additional-files.tar.gz + DISTFILES= ${DISTNAME}${EXTRACT_SUFX} additional-files.tar.gz + -Each of the distfiles is fetched from a list of sites, usually MASTER_SITES. If -the package has multiple DISTFILES or multiple PATCHFILES from different sites, -you can set SITES.distfile to the list of URLs where the file distfile -(including the suffix) can be found. +Each distfile is fetched from a list of sites, usually MASTER_SITES. If the +package has multiple DISTFILES or multiple PATCHFILES from different sites, you +can set SITES.distfile to the list of URLs where the file distfile (including +the suffix) can be found. + + DISTFILES= ${DISTNAME}${EXTRACT_SUFX} + DISTFILES+= foo-file.tar.gz + SITES.foo-file.tar.gz= \ + http://www.somewhere.com/somehow/ \ + http://www.somewhereelse.com/mirror/somehow/ - DISTFILES= ${DISTNAME}${EXTRACT_SUFX} - DISTFILES+= foo-file.tar.gz - SITES.foo-file.tar.gz= \ - http://www.somewhere.com/somehow/ \ - http://www.somewhereelse.com/mirror/somehow/ When actually fetching the distfiles, each item from MASTER_SITES or SITES.* gets the name of each distfile appended to it, without an intermediate slash. @@ -5000,42 +5043,51 @@ character. This allows for example to set MASTER_SITES to a URL of a CGI script that gets the name of the distfile as a parameter. In this case, the definition would look like: - MASTER_SITES= http://www.example.com/download.cgi?file= + MASTER_SITES= http://www.example.com/download.cgi?file= + There are some predefined values for MASTER_SITES, which can be used in packages. The names of the variables should speak for themselves. - ${MASTER_SITE_APACHE} - ${MASTER_SITE_BACKUP} - ${MASTER_SITE_CYGWIN} - ${MASTER_SITE_DEBIAN} - ${MASTER_SITE_FREEBSD} - ${MASTER_SITE_FREEBSD_LOCAL} - ${MASTER_SITE_GNOME} - ${MASTER_SITE_GNU} - ${MASTER_SITE_GNUSTEP} - ${MASTER_SITE_IFARCHIVE} - ${MASTER_SITE_KDE} - ${MASTER_SITE_MOZILLA} - ${MASTER_SITE_MYSQL} - ${MASTER_SITE_OPENOFFICE} - ${MASTER_SITE_PERL_CPAN} - ${MASTER_SITE_PGSQL} - ${MASTER_SITE_R_CRAN} - ${MASTER_SITE_SOURCEFORGE} - ${MASTER_SITE_SOURCEFORGE_JP} - ${MASTER_SITE_SUNSITE} - ${MASTER_SITE_SUSE} - ${MASTER_SITE_TEX_CTAN} - ${MASTER_SITE_XCONTRIB} - ${MASTER_SITE_XEMACS} + ${MASTER_SITE_APACHE} + ${MASTER_SITE_BACKUP} + ${MASTER_SITE_CYGWIN} + ${MASTER_SITE_DEBIAN} + ${MASTER_SITE_FREEBSD} + ${MASTER_SITE_FREEBSD_LOCAL} + ${MASTER_SITE_GNOME} + ${MASTER_SITE_GNU} + ${MASTER_SITE_GNUSTEP} + ${MASTER_SITE_IFARCHIVE} + ${MASTER_SITE_KDE} + ${MASTER_SITE_MOZILLA} + ${MASTER_SITE_MYSQL} + ${MASTER_SITE_OPENOFFICE} + ${MASTER_SITE_PERL_CPAN} + ${MASTER_SITE_PGSQL} + ${MASTER_SITE_R_CRAN} + ${MASTER_SITE_SOURCEFORGE} + ${MASTER_SITE_SOURCEFORGE_JP} + ${MASTER_SITE_SUNSITE} + ${MASTER_SITE_SUSE} + ${MASTER_SITE_TEX_CTAN} + ${MASTER_SITE_XCONTRIB} + ${MASTER_SITE_XEMACS} + + +Some explanations for the less self-explaining ones: MASTER_SITE_BACKUP +contains backup sites for packages that are maintained in ftp://ftp.NetBSD.org: +/pub/NetBSD/packages/distfiles/${DIST_SUBDIR}. MASTER_SITE_LOCAL contains local +package source distributions that are maintained in ftp://ftp.NetBSD.org:/pub/ +NetBSD/packages/distfiles/LOCAL_PORTS/. If you choose one of these predefined sites, you may want to specify a subdirectory of that site. Since these macros may expand to more than one actual site, you must use the following construct to specify a subdirectory: - MASTER_SITES= ${MASTER_SITE_GNU:=subdirectory/name/} - MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=project_name/} + MASTER_SITES= ${MASTER_SITE_GNU:=subdirectory/name/} + MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=project_name/} + Note the trailing slash after the subdirectory name. @@ -5045,7 +5097,8 @@ The fetch phase makes sure that all the distfiles exist in a local directory (DISTDIR), which can be set by the pkgsrc user). If the files do not exist, they are fetched using commands of the form - ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${site}${file} ${FETCH_AFTER_ARGS} + ${FETCH_CMD} ${FETCH_BEFORE_ARGS} ${site}${file} ${FETCH_AFTER_ARGS} + where ${site} varies through several possibilities in turn: first, MASTER_SITE_OVERRIDE is tried, then the sites specified in either SITES.file if @@ -5154,10 +5207,11 @@ HAS_CONFIGURE to "yes". If the configure script is a GNU autoconf script, you should set GNU_CONFIGURE to "yes" instead. What happens in the configure phase is roughly: - .for d in ${CONFIGURE_DIRS} - cd ${WRKSRC} && cd ${d} && env ${CONFIGURE_ENV} \ - ${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS} - .endfor + .for d in ${CONFIGURE_DIRS} + cd ${WRKSRC} && cd ${d} && env ${CONFIGURE_ENV} \ + ${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS} + .endfor + CONFIGURE_DIRS (default: ".") is a list of pathnames relative to WRKSRC. In each of these directories, the configure script is run with the environment @@ -5173,11 +5227,12 @@ installed in ${X11PREFIX} but xmkmf not being run, set USE_X11BASE instead.) For building a package, a rough equivalent of the following code is executed. - .for d in ${BUILD_DIRS} - cd ${WRKSRC} && cd ${d} && env ${MAKE_ENV} \ - ${MAKE_PROGRAM} ${BUILD_MAKE_FLAGS} \ - -f ${MAKE_FILE} ${BUILD_TARGET} - .endfor + .for d in ${BUILD_DIRS} + cd ${WRKSRC} && cd ${d} && env ${MAKE_ENV} \ + ${MAKE_PROGRAM} ${BUILD_MAKE_FLAGS} \ + -f ${MAKE_FILE} ${BUILD_TARGET} + .endfor + BUILD_DIRS (default: ".") is a list of pathnames relative to WRKSRC. In each of these directories, MAKE_PROGRAM is run with the environment MAKE_ENV and @@ -5201,15 +5256,17 @@ In the install phase, a rough equivalent of the following code is executed. Additionally, before and after this code, much magic is performed to do consistency checks, registering the package, and so on. - .for d in ${INSTALL_DIRS} - cd ${WRKSRC} && cd ${d} && env ${MAKE_ENV} \ - ${MAKE_PROGRAM} ${INSTALL_MAKE_FLAGS} \ - -f ${MAKE_FILE} ${BUILD_TARGET} - .endfor + .for d in ${INSTALL_DIRS} + cd ${WRKSRC} && cd ${d} && env ${MAKE_ENV} \ + ${MAKE_PROGRAM} ${INSTALL_MAKE_FLAGS} \ + -f ${MAKE_FILE} ${BUILD_TARGET} + .endfor + The variable's meanings are analogous to the ones in the build phase. INSTALL_DIRS defaults to BUILD_DIRS. INSTALL_TARGET is "install" by default, -plus "install.man" if USE_IMAKE is defined. +plus "install.man" if USE_IMAKE is defined and NO_INSTALL_MANPAGES is not +defined. In the install phase, the following variables are useful. They are all variations of the install(1) command that have the owner, group and permissions @@ -5278,9 +5335,21 @@ INSTALLATION_DIRS 15.15. The package phase -[TODO] +Once the install stage has completed, a binary package of the installed files +can be built. These binary packages can be used for quick installation without +previous compilation, e.g. by the make bin-install or by using pkg_add. + +By default, the binary packages are created in ${PACKAGES}/All and symlinks are +created in ${PACKAGES}/category, one for each category in the CATEGORIES +variable. PACKAGES defaults to pkgsrc/packages. -15.16. Other helpful targets +15.16. Cleaning up + +Once you're finished with a package, you can clean the work directory by +running make clean. If you want to clean the work directories of all +dependencies too, use make clean-depends. + +15.17. Other helpful targets pre/post-* @@ -5305,6 +5374,10 @@ reinstall properly, you can repeat the installation with this target, which will ignore the "already installed" flag. + This is the default value of DEPENDS_TARGET except in the case of make + update and make package, where the defaults are "package" and "update", + respectively. + deinstall This target does a pkg_delete(1) in the current directory, effectively @@ -5323,6 +5396,13 @@ deinstall pkgsrc/x11/kde, this is likely to remove whole KDE. Works by adding "-R" to the pkg_delete(1) command line. +bin-install + + Install a binary package from local disk and via FTP from a list of sites + (see the BINPKG_SITES variable), and do a make package if no binary package + is available anywhere. The arguments given to pkg_add can be set via + BIN_INSTALL_FLAGS e.g., to do verbose operation, etc. + update This target causes the current package to be updated to the latest version. @@ -5350,7 +5430,9 @@ update Install target to recursively use for the updated package and the dependent packages. Defaults to DEPENDS_TARGET if set, "install" - otherwise for make update. e.g. make update UPDATE_TARGET=package + otherwise for make update. Other good targets are "package" or + "bin-install". Do not set this to "update" or you will get stuck in an + endless loop! NOCLEAN @@ -5407,11 +5489,38 @@ clean-update on make update, but may have been suppressed by the NOCLEAN variable (see above). +replace + + Update the installation of the current package. This differs from update in + that it does not replace dependent packages. You will need to install + pkgsrc/pkgtools/pkg_tarup for this target to work. + + Be careful when using this target! There are no guarantees that dependent + packages will still work, in particular they will most certainly break if + you make replace a library package whose shared library major version + changed between your installed version and the new one. For this reason, + this target is not officially supported and only recommended for advanced + users. + info This target invokes pkg_info(1) for the current package. You can use this to check which version of a package is installed. +index + + This is a top-level command, i.e. it should be used in the pkgsrc + directory. It creates a database of all packages in the local pkgsrc tree, + including dependencies, comment, maintainer, and some other useful + information. Individual entries are created by running make describe in the + packages' directories. This index file is saved as pkgsrc/INDEX. It can be + displayed in verbose format by running make print-index. You can search in + it with make search key=something. You can extract a list of all packages + that depend on a particular one by running make show-deps PKG=somepackage. + + Running this command takes a very long time, some hours even on fast + machines! + readme This target generates a README.html file, which can be viewed using a @@ -5424,13 +5533,16 @@ readme FTP_PKG_URL_DIR=/usr/packages. The ${PACKAGES} directory and its subdirectories will be searched for all the binary packages. + The target can be run at the toplevel or in category directories, in which + case it descends recursively. + readme-all - Use this target to create a file README-all.html which contains a list of - all packages currently available in the NetBSD Packages Collection, - together with the category they belong to and a short description. This - file is compiled from the pkgsrc/*/README.html files, so be sure to run - this after a make readme. + This is a top-level command, run it in pkgsrc. Use this target to create a + file README-all.html which contains a list of all packages currently + available in the NetBSD Packages Collection, together with the category + they belong to and a short description. This file is compiled from the + pkgsrc/*/README.html files, so be sure to run this after a make readme. cdrom-readme @@ -5713,6 +5825,8 @@ Multiple interactive stages can be specified: INTERACTIVE_STAGE= configure install +The user can then decide to skip this package by setting the BATCH variable. + 17.1.4. Handling licenses A package may be covered by a license which the user has or has not agreed to @@ -5925,18 +6039,16 @@ distribution files to DISTFILES, so they will be extracted automatically. See the print/ghostscript package for an example. (It relies on the jpeg sources being present in source form during the build.) -Please also note the BUILD_USES_MSGFMT and BUILD_USES_GETTEXT_M4 definitions, -which are provided as convenience definitions. The former works out whether -msgfmt(1) is part of the base system, and, if it isn't, installs the devel/ -gettext package. The latter adds a build dependency on either an installed +Please also note the BUILD_USES_GETTEXT_M4 definition, which is provided as +convenience definition. It adds a build dependency on either an installed version of an older gettext package, or if it isn't, installs the devel/ gettext-m4 package. 17.1.7. Handling conflicts with other packages Your package may conflict with other packages a user might already have -installed on his system, e.g. if your package installs the same set of files -like another package in our pkgsrc tree. +installed on his system, e.g. if your package installs the same set of files as +another package in the pkgsrc tree. In this case you can set CONFLICTS to a space-separated list of packages (including version string) your package conflicts with. @@ -5965,6 +6077,13 @@ runs on a small handful of platforms, set ONLY_FOR_PLATFORM instead. Both ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM are OS triples (OS-version-platform) that can use glob-style wildcards. +Some packages are tightly bound to a specific version of an operating system, +e.g. LKMs or sysutils/lsof. Such binary packages are not backwards compatible +with other versions of the OS, and should be uploaded to a version specific +directory on the FTP server. Mark these packages by setting OSVERSION_SPECIFIC +to "yes". This variable is not currently used by any of the package system +internals, but may be used in the future. + If the package should be skipped (for example, because it provides functionality already provided by the system), set PKG_SKIP_REASON to a descriptive message. If the package should fail because some preconditions are @@ -6884,9 +7003,9 @@ what was explained in the previous sections, only with some debugging aids. % make mps % make clean - Doing as non-root user will ensure that no files are modified that - shouldn't be, especially during the build phase. mkpatches, patchdiff and - pkgvi are from the pkgtools/pkgdiff package. + Doing this step as non-root user will ensure that no files are modified + that shouldn't be, especially during the build phase. mkpatches, patchdiff + and pkgvi are from the pkgtools/pkgdiff package. * Look at the Makefile, fix if necessary; see Section 9.1, "Makefile". @@ -6912,7 +7031,7 @@ what was explained in the previous sections, only with some debugging aids. * Delete the installed package: - # pkg_delete blub + # pkg_delete examplepkg * Repeat the above make print-PLIST command, which shouldn't find anything now: @@ -6921,7 +7040,7 @@ what was explained in the previous sections, only with some debugging aids. * Reinstall the binary package: - # pkgadd .../blub.tgz + # pkgadd .../examplepkg.tgz * Play with it. Make sure everything works. @@ -7368,10 +7487,10 @@ In order to update the GNOME components in pkgsrc to a new stable release following commands. These will leave the full list of the components's distfiles into the list.txt file: - $ echo ls "*.tar.bz2" | \ + % echo ls "*.tar.bz2" | \ ftp -V ftp://ftp.gnome.org/pub/gnome/platform/x.y/x.y.z/sources/ | \ awk '{ print $9 }' >list.txt - $ echo ls "*.tar.bz2" | \ + % echo ls "*.tar.bz2" | \ ftp -V ftp://ftp.gnome.org/pub/gnome/desktop/x.y/x.y.z/sources/ | \ awk '{ print $9 }' >>list.txt @@ -7396,7 +7515,7 @@ In order to update the GNOME components in pkgsrc to a new stable release "new" lines. This will provide you an outline on what packages need to be updated in pkgsrc and in what order: - $ cvs diff gnome-devel gnome-base gnome | grep '^+D' >todo.txt + % cvs diff gnome-devel gnome-base gnome | grep '^+D' >todo.txt 5. For major desktop updates it is recommended to zap all your installed packages and start over from scratch at this point. @@ -7936,7 +8055,7 @@ Successfully retrieved file. Generate the checksum of the distfile into distinfo: -# make makesum +# make makedistinfo Now compile: |