--- wikisrc/pkgsrc/targets.mdwn 2010/12/11 18:30:52 1.1 +++ wikisrc/pkgsrc/targets.mdwn 2012/05/03 01:33:02 1.12 @@ -2,25 +2,51 @@ It was proposed that we document _all_ pkgsrc targets, but this is unreasonable and useless. -Most targets are ancilliary ones, -they exist because that's how make(1) works, -only few of them are useful for regular work. +Most targets are ancilliary ones; +they exist because that's how [[!template id=man name=make section=1]] works. +Only few of them are useful for regular work. The following targets may be useful to invoke from keyboard: -* "extract" to look at unmodified source -* "patch" to look at initial source -* "configure" to stop after configure stage -* "all" or "build" to stop after build stage -* "stage-install" to install under stage directory -* "test" to run package's self-tests, if any exist and supported -* "package" to create binary package before installing it -* "replace" to change (upgrade, downgrade, or just replace) installed package in-place -* "deinstall" to deinstall previous package -* "package-install" to install package and build binary package -* "install" to install package + +* **depends** to build and install dependencies +* **fetch** to fetch distribution file(s) +* **checksum** to fetch and check distribution file(s) +* **extract** to look at unmodified source +* **patch** to look at initial source +* **configure** to stop after configure stage +* **all** or **build** to stop after build stage +* **stage-install** to install under stage directory +* **test** to run package's self-tests, if any exist and supported +* **package** to create binary package before installing it +* **replace** to change (upgrade, downgrade, or just replace) installed package in-place +* **deinstall** to deinstall previous package +* **package-install** to install package and build binary package +* **install** to install package +* **bin-install** to attempt to skip building from source and use pre-built binary package +* **show-depends** print dependencies for building +* **show-options** print available options from options.mk + +Cleanup targets (in separate section because of importance): + +* **clean-depends** to remove work directories for dependencies +* **clean** to remove work directory +* **distclean** to remove distribution file(s) +* **package-clean** to remove binary package + +The following targets are useful in development and thus may be useful for an advanced user: + +* **makesum** to fetch and generate checksum for distributed file(s) +* **makepatchsum** to (re)generate checksum for patches +* **makedistinfo** to (re)generate *distinfo* file (creating checksums for distributed file and patches) +* **mps** short for **makepatchsum** +* **mdi** short for **makedistinfo** +* **print-PLIST** to _attempt_ to generate correct packaging list +(NB! It helps, but it _doesn't_ eliminate manual work.) For example, package updating looks like this: -
+
+[[!template id=programlisting text="""
+su root -c "make depends clean-depends clean" # to catch new dependencies
 rm -f distinfo && su root -c "make makesum clean" && make makepatchsum
 make clean && make stage-install # build
 # modify patches
@@ -28,10 +54,10 @@ make makepatchsum # and build again, or
 make makepatchsum && make clean && make patch # until all patches apply, if they failed at first
 make print-PLIST | diff -u PLIST -
 # modify PLIST
-rm $(make show-var VARNAME=WRKDIR)/.PLIST* # this deserves to be another target
+make install-clean # to remove cached PLISTs and "installation done" marker
 make stage-install
 # modify PLIST again or build again
 make test # just to check for regressions
 su root -c "make package deinstall bin-install" # or
 su root -c "make package replace"
-
+"""]]