----------------------------------------------------------------------
Version 0.58.3, by Aleksey Cheusov, Sat,  1 Sep 2012 11:59:16 +0300

  pkg_summary2deps:
    - Fix a bug with {alter,nat}/ive dependencies. More regression
      tests were added.

----------------------------------------------------------------------
Version 0.58.2, by Aleksey Cheusov, Wed, 20 Jun 2012 11:35:05 +0300

  pkg_src_summary:
    - Fix. pkg_src_summary in distributed mode now works correctly
      if a master host doesn't have $PKGSRCDIR directory.

----------------------------------------------------------------------
Version 0.58.1, by Aleksey Cheusov, Wed,  6 Jun 2012 01:32:08 +0300

  pkg_summary2deps:
    - Fix in 'pkg_summary2deps -dn'
      (missing pkgname if multivariant packages are present,
      for example py26-gtk2 and py27-gtk2)

  pkg_summary2leaves:
    - Fix. 'pkg_summary2deps -dpnra' should be used
      instead of 'pkg_summary2deps -dpa'

  More regression tests for pkg_summary2leaves and pkg_summary2deps

  Minor fix in pkg_uniq_summary.1

  psu_funcs.awk:
    - new function pkgpana2pkgpath

----------------------------------------------------------------------
Version 0.58.0, by Aleksey Cheusov, Sun, 22 Apr 2012 19:17:11 +0300

  pkg_uniq_summary:
    - New option -F was added

----------------------------------------------------------------------
Version 0.57.0, by Aleksey Cheusov, Sat,  3 Dec 2011 16:53:34 +0300

  pkg_subgraph_deps:
    - Support for dependency type

  pkg_summary2deps:
    - Options -1 and -2 were added

----------------------------------------------------------------------
Version 0.56.4, by Aleksey Cheusov, Sat,  3 Dec 2011 16:53:34 +0300

  FIX: Shell scripts now use "trap" corectly.

  Minor correction in pkg_lint_summary.1.

  pkg_summary4view:
    - TARGET_BUILD_DEPENDS and _ALL_DEPENDS are formatted
      just like DEPENDS.

----------------------------------------------------------------------
Version 0.56.3, by Aleksey Cheusov, Thu, 17 Nov 2011 21:34:53 +0300

  pkg_src_summary:
    - fixed: gathering DESCRIPTION and ALLDISTFILES fields eats
      too much CPU. Now full summary is gathered drammatically faster.
      This may significantly speed up distbb bulk builds.
    - While generating ALLDISTFILES do not try to read "distinfo" files when
      DISTFILES is empty.
    - More regression tests.
    - If MAKECONF and PSS_SLAVES are not empty, MAKECONF is passed to
      pkg_src_summary processes running on slave hosts.

----------------------------------------------------------------------
Version 0.56.2, by Aleksey Cheusov, Fri, 11 Nov 2011 13:35:07 +0300

  pkg_src_summary:
    - Mysterious infinite loop was fixed in 'pkg_src_summary -m'
    - summary2multi_variants script was separated from pkg_src_summary

  pkg_bin_summary:
    - CKSUM was renamed to FILE_CKSUM (by analogy with FILE_SIZE
      and FILE_NAME) as suggested by spz@

----------------------------------------------------------------------
Version 0.56.1, by Aleksey Cheusov, Wed,  7 Sep 2011 00:40:13 +0300

  pkg_lint_summary:
    - Serious fix in recently added -n option (misprint actually :-/ )

----------------------------------------------------------------------
Version 0.56.0, by Aleksey Cheusov, Sun, 28 Aug 2011 12:05:00 +0300

  pkg_cmp_summary:
    - New option -O was added for specifying fields for
      output without using them for comparison

----------------------------------------------------------------------
Version 0.55.0, by Aleksey Cheusov, Sat, 27 Aug 2011 20:14:53 +0300

  pkg_lint_summary:
    - New option -f option was added that checks files in PLIST
      fields given on input and warns about files common for several
      packages.
    - New option -p option was added for specifying prefix directory
      used by option -l.
    - New option -n was added that analyses PLIST and CONFLICTS
      fields in input summaries and outputs unregistered conflicts.
    - New option -s was added that checks OPSYS, OS_VERSION and
      MACHINE_ARCH fields given on input and warns if they differ from
      that of running system (uname -srm).

  pkg_cmp_summary:
    - New options -a and -A were added for specifying fields for
      comparing in addition to package versions.
    - New option -E was added. It works together with -A and changes
      its output.
    - Options -c and -b were reimplemented using more generic -a.
    - Examples section was added to pkg_cmp_summary.1

  pkg_bin_summary:
    - New option -e option was added for effectively using
      pkg_bin_summary with xargs (xargs -r is not portable).
    - New option -k was added for enriching binary package summaries
      with checksums using algorithms supported by digest(1)

  pkg_digger_backend:
    - Mixed -1|-3|-9 options are now handled correctly.

  pkg_summary2leaves:
    - When no files are given as arguments (stdin),
      pkg_summary2leaves outputs an error message.

  Regression tests have been reorganized. One test - one file.

  Some manual pages were updated and improved.

----------------------------------------------------------------------
Version 0.54.0, by Aleksey Cheusov, Fri, 29 Jul 2011 23:37:41 +0300

  pkg_micro_src_summary:
     - support for PSS_SLAVES=nnn was added

  pkg_digger:
     - workaround for buggy shells (set -e; if eval false; ...)

  Regression tests were updated

----------------------------------------------------------------------
Version 0.53.2, by Aleksey Cheusov, Wed, 13 Apr 2011 21:33:58 +0300

  pkg_digger:
     - FIX: do not treat failures of $PKG_DIGGER_BACKEND for
       patterns with leading `-' (logical NOT).

----------------------------------------------------------------------
Version 0.53.1, by Aleksey Cheusov, Tue,  5 Apr 2011 13:41:54 +0300

  pkg_lint_summary:
     - Remove duplicated // in fields PROVIDES and REQUIRED.
       Official pkg_summary.txt contains such a bad paths.

----------------------------------------------------------------------
Version 0.53.0, by Aleksey Cheusov, Sun, 27 Mar 2011 22:56:39 +0300

  Long options have been removed from all utilities.

  Fix in comparing dewey versions: (N.0 > N problem)

  pkg_summary2deps:
     - Now it works correctly if multiple packages per
       (PKGPATH, ASSIGNMENTS) pair are available in input summary.

     - Now multiple conditions for the same package, e.g
       "apache-1.3.* AND apache>=1.3" are handled correctly.

     - Now -N and -P options accept absolute and relative
        filename as argument.

  pkg_digger.in:
     - Workaround for buggy /bin/sh on DragonFly and FreeBSD<=N.M.
       On these systems the following code
                set -e; if eval false; then ...; fi
       doesn't work correctly. Due to this problem pkg_digger failed.

  pkg_bin_summary:
     - Field ASSIGNMENTS is set with a help of recently introduced
       field MULTI in "Build information" section of the binary
       package.  Hardcoded rules have been removed.

----------------------------------------------------------------------
Version 0.52.0, by Aleksey Cheusov, Fri, 11 Feb 2011 17:05:27 +0200

  pkg_cmp_summary:
     - New option -b was added for using BUILD_DATE field
       for comparison.

----------------------------------------------------------------------
Version 0.51.0, by Aleksey Cheusov, Sun, 16 Jan 2011 16:21:35 +0200

  pkg_digger_backend:
     - More fields to search in: PKGBASE, PKGPATHe, PKGPABA, PKGPANA
       and PKGPAIR

  pkg_digger:
     - New short synonyms (pkg_digger.conf) for fields:
        - C - CATEGORIES
        - b - PKGBASE
     - New defaults in pkg_digger.conf.
       pkg_digger_field__empty has changed from "COMMENTS" to "PKGBASE"
       pkg_digger_strat__empty is assigned to "exact"
       Thus ::<query> matches exact PKGBASE, e.g.
       'pkg_digger ::emacs' will search for PKGBASE equal to 'emacs'.
     - Option -r without -3|-9 doesn't fail anymore

  pkg_summary2deps:
     - TNF provides pkg_summary(5) files that contain packages without
       PKGPATH (netbsd-compat50-5.1).  So, absense of PKGPATH is not a
       fatal error in pkg_summary2deps anymore.

  Minor improvements

----------------------------------------------------------------------
Version 0.50.0, by Aleksey Cheusov, Tue, 11 Jan 2011 01:06:43 +0200

  pkg_grep_summary:
     - fix for case insensitive search (pkg_digger_backend)
     - new artificial fields were added: PKGPANA and PKGPABA,
       see the manual page for details

  pkg_bin_summary:
    - new artificial field PLIST was added.

  pkg_uniq_sumary:
    - new option -n was added

  pkg_summary2deps:
    - new option -a was added for outputting all matched dependencies
      separated by `|' symbol, not only the first one.
    - new options -N and -P were added
    - new option -X was added
    - if multiple packages satisfy the condition, the package with highest
      version is selected unless -a option was specified.
    - another format for missed alternative dependencies.
      Now they are written as altdep1|altdep2|...|altdepN

  pkg_lint_summary:
    - option -d: non-zero status if problems were detected

  New tool pkg_summary2leaves was added.

  pkg_cmp_summary:
    - long options were removed
    - option -2 was added
    - option -u was added for showing information about whether
       the package from summary1 is installed by user or as a dependency.

  pkg_summary2deps:
    - workaround for bad patterns like p5-Digest<=1.16nb*
      found perl binary

  pkg_refresh_summary:
    - reimplemented using latest version of pkg_grep_summary.
      This removes about 50 lines of code

  minor fixes and clean-ups

----------------------------------------------------------------------
Version 0.49.1, by Aleksey Cheusov, Wed, 24 Nov 2010 00:35:21 +0200

  Man page for pkg_digger(1)

----------------------------------------------------------------------
Version 0.49, by Aleksey Cheusov, Sat, 20 Nov 2010 01:14:47 +0200

  New tools pkg_digger and pkg_digger_backend were added. pkg_digger
  is a powerful high-level package searcher.  Run 'pkg_digger -h' for
  details.

  psu_funcs.awk:
    - fix in pkgver_position, pkgname2pkgbase and pkgname2version
      functions for glob square brackets without *+ after them

  pkg_summary2deps:
    - New option -l was added
    - New option -c was added

  pkg_lint_summary:
    - Option -d was fully reimplemented, now it uses pkg_summary2deps.
    - New option -D was added
    - New option -c was added
    - New option -u was added

  pkg_grep_summary:
    - New option -f was added to specify fields to output
    - New artificial search field: PKGPAIR = PKGPATH,PKGBASE
      (e.g. textproc/dict-server,dict-server)
    - New options -r and -R, see the manual page for details.
    - Doubled -T shows strategies with their description separated by
      TAB character.

  pkg_summary2build_graph:
    marked as deprecated

----------------------------------------------------------------------
Version 0.48.0, by Aleksey Cheusov, Sun,  7 Nov 2010 20:35:18 +0200

  Build system has been changed from mk-files to mk-configure

  pkg_subgraph_deps:
    - manual page was added.
    - new option -t was added.
    - tsort(1)-like input is also accepted, i.e., two equal tokens on
      input mean isolated node of graph (package with no dependencies and
      dependent packafes)

  pkg_bin_summary:
    - manual page was added, usage message was also improved.

----------------------------------------------------------------------
Version 0.47.0, by Aleksey Cheusov, Sun,  7 Nov 2010 13:35:58 +0200

  Long options are considered deprecated. Do not use them. They will
  be removed in the future.

  pkg_summary2deps:
    - has been completely reimplemented.  Now it handles
      glob pattern like libao-[a-z]*-[0-9]* correctly.
    - Options -r and -R now work differently.
    - New option -s for was added.

  pkg_src_summary:
    - FIX: With -A option "bad" dependencies, i.e. ones with incorrect
      assignments like XXX_VERSION_REQD=<unsupported-value>, are
      skipped, thus allowing distbb to outout much better diagnistics.
    - Minor fix for -G debugging option
    - Simplification: due to changes in pkg_summary2deps,
      "enrich_XDEPENDS" helper script is not needed anymore, so it was
      removed.

----------------------------------------------------------------------
Version 0.46.0, by Aleksey Cheusov, Sun, 31 Oct 2010 16:27:55 +0200

  pkg_src_fetch_var:
     -All tokens on input are treated as pkgpath, not only $1. Support
      for paexec slave mode was added.

  pkg_lint_summary:
     - Documentation and sample of use for -L was added.
     - If -L is applied, existense of all files from REQUIRES is
       checked, not only pkgsrc libraries.

  All shell scripts use 'mktemp -d' for creating a temporary directory
  instead of $$.

  pkg_micro_src_summary:
     - become even more "parallelized".

----------------------------------------------------------------------
Version 0.45.0, by Aleksey Cheusov, Thu, 21 Oct 2010 00:04:30 +0300

  FIX: Now pkg_lint_summary -d handles correctly glob patterns like
      liboa-[a-z]*-[0-9]*

  All scripts using regexp are run with locale C (LC_ALL=C) in order
      to avoid locale-dependent behaviour.

  New option -n for was added to pkg_subgraph_deps in order to output
      only nodes without edges

  New option -L was added to pkg_lint_summary for ensuring that
      all non-pkgsrc libraries exist on filesystem.

  New option -d was added to pkg_cmp_summary for using DEPENDS in
      comparison.

----------------------------------------------------------------------
Version 0.44.0, by Aleksey Cheusov, Sun, 17 Oct 2010 18:39:54 +0300

  As of this version pkg_summary-utils uses its own pkgsrc-dewey.awk
  and therefore  CONFLICTS with awk-pkgsrc-dewey.

----------------------------------------------------------------------
Version 0.43.1, by Aleksey Cheusov

  New artificial field ALLDISTFILES was added consisting of distfiles
     with their sizes separated by colon.

  Regression tests have been significantly reworked.

  pkg_summary4view:
     - tokens inside DEPENDS, BUILD_DEPENDS and similar
       fields are resorted in alphabetic order.
     - ALLDISTFILES is correctly output.

  All utilities conform to POSIX Utility Syntax Guidelines and support
     long options.

  paexec>=0.15.0 is needed

----------------------------------------------------------------------
Version 0.42.2, by Aleksey Cheusov, Fri, 30 Jul 2010 19:00:01 +0300

  pkg_src_summary:
      - fix for -b and -l, they didn't work with non-empty PSS_SLAVES

----------------------------------------------------------------------
Version 0.42.1, by Aleksey Cheusov, Sun, 25 Jul 2010 17:48:14 +0300

  pkg_grep_summary:
      - FIXED: search strategy "substring"

  pkg_summary2deps:
      - More verbose error message "Cannot find PKGPATH for %s"

  get_processed_pkgs is separated into an individual libexec script

----------------------------------------------------------------------
Version 0.42.0, by Aleksey Cheusov, Wed, 23 Jun 2010 00:41:29 +0300

  pkg_src_summary, pkg_summary2deps:
     Forcibly remove `/' at the end of PKGPATH. This unbreaks some
     packages in distbb bulk builds.

  pkg_summary2deps:
     One more fix for alternative dependencies. This unbreaks
     editors/leim20 and some others.

----------------------------------------------------------------------
Version 0.41.1, by Aleksey Cheusov, Sat,  5 Jun 2010 00:43:58 +0300

  pkg_lint_summary:
     fix for -d: alternative dependencies are handles correctly now

  pkg_bin_summary:
     If REQUIREDBY was requested, PKGNAME if also generated forcibly.

----------------------------------------------------------------------
Version 0.41.0, by Aleksey Cheusov, Sun, 30 May 2010 22:31:49 +0300

 pkg_grep_summary:
   - new variable "fields" that may be used in awk_condition.
     See man page for details.
   - new search strategy "kw" (or "keywords") for matching all words
     within query.

 pkg_src_summary:
   - new option -l for adding library dependencies to BUILD_DEPENDS.

 New tool: pkg_bin_summary, wrapper for 'pkg_info -X' which outputs
 build information variables and and installation information
 variables as well some special variables, e.g. ASSIGNMENTS and
 REQUIREDBY.

 Path to "pkg_info" command is embedded to all scripts using it.

----------------------------------------------------------------------
Version 0.40.0, by Aleksey Cheusov, Sun, 30 May 2010 02:36:30 +0300

 pkg_grep_summary:
  - new option -t that implements the following search strategies:
    empty (synonym to -e), exact (synonym to -s), prefix, suffix,
    substring, first, last, word, re (synonym to -m),
    strfile (synonym to -S) and awk (synonym to non-option mode).
  - new option -T that displays all available search strategies.
  - new option -i for ignoring the case while matching
  - update of manual page
  - FIXED: Multiline fields don't like my optimization.
     Disabling optimization for them
  - minor optimization

----------------------------------------------------------------------
Version 0.39.0, by Aleksey Cheusov, Mon, 24 May 2010 23:51:13 +0300

 pkg_src_summary:
  - new option "-b".
  - fix for -r and -a options
    (-a BOOTSTRAP_DEPENDS -r DEPENDS worked incorrectly).

----------------------------------------------------------------------
Version 0.38.0, by Aleksey Cheusov, Thu, 29 Apr 2010 23:29:38 +0300

 New mega tool -- pkg_subgraph_deps!

 pkg_src_summary:
    - Fix in adding ASSIGNMENTS inside DEPENDS and BUILD_DEPENDS.
    - Portions of this script were separated into individual scripts under
      libexec/ subdirectory.
    - Improvements for -G
    - New implementation for -A + -m. Speed-ups. Clean-ups.

 pkg_summary2deps:
    - FIX: no double removal of -version anymore.

 pkg_summary2bb_pkgs:
    - FIX: do not output two packages with the same PKGNAME if they
      both have non-empty ASSIGNMENTS, e.g
      net/nicotine:PYTHON_VERSION_REQD={24,25}

 Updates in manual pages.

 More regresion tests.

 Makefile:
    - Overridable DIFF_PROG that defaults to "diff -U10"

----------------------------------------------------------------------
Version 0.37.2, by Aleksey Cheusov, Sun, 18 Apr 2010 23:16:22 +0300

 FIX: The following command no longer hangs up (infinite loop)
    pkg_src_summary -G -A graphics/py-cairo:PYTHON_VERSION_REQD=25

 Regression tests correspond to latest pkgsrc sources

----------------------------------------------------------------------
Version 0.37.1, by Aleksey Cheusov, ?

----------------------------------------------------------------------
Version 0.37.0, by Aleksey Cheusov, Sat, 27 Mar 2010 01:01:03 +0200

 pkg_lint_summary:
   - If problems were encountered, an exit status is 1

   - New option -d for checking that all required dependencies are
     present in input summary. For details, see a manual page.

 pkg_grep_summary:
   - New option -S for grepping summaries using a list of PKGPATHs,
     PKGBASEs or whatever else stored in a file. For details, see a
     manual page.

   - New artificial field for searching: "PKGPATHe". This is an
     enriched PKGPATH, i.e. PKGPATH and ASSIGNMENTS (if present)
     separated by a colon (`:') symbol.

   - optimizations

----------------------------------------------------------------------
Version 0.36.1, by Aleksey Cheusov, Mon,  1 Mar 2010 23:25:27 +0200

 - New tool pkg_lint_summary. Given summary on input it makes some
   sanity checks. At the moment the only implemented check is
   (-l option) is PROVIDES/REQUIRES consistency.

 - pkg_grep_summary:
     - Artificial field PKGBASE is also supported.
       It is actually a PKGNAME without package version.
     - New regression tests
     - Minor update and mixes in manual page

----------------------------------------------------------------------
Version 0.35.1, by Aleksey Cheusov, Thu,  7 Jan 2010 13:26:33 +0200

 - FIXED: bug in pkg_src_summary caused by incorrect PKGNAME version
   stripping. (pkg_src_summary -A multimedia/gnash didn't generate
   summary for multimedia/gst-plugins0.10-ffmpeg and
   audio/gst-plugins0.10-fluendo-mp3)

----------------------------------------------------------------------
Version 0.35.0, by Aleksey Cheusov, Wed, 11 Nov 2009 22:56:25 +0200

 - New tool pkg_summary2deps
 - pkg_summary2build_graph  is reimplemented using pkg_summary2deps

----------------------------------------------------------------------
Version 0.34.2, by Aleksey Cheusov, Mon, 31 Oct 2009 21:34:37 +0200

 - Fix for a bug (cyclic dependencies again)
   in pkg_summary2build_graph recently introduced in revision 1.2

----------------------------------------------------------------------
Version 0.34.1, by Aleksey Cheusov, Mon, 26 Oct 2009 11:57:37 +0200

  - Yet another fix for

           pkg_src_summary -A meta-pkgs/php4-extensions

    (DEPENDS field should contain enriched PKGPATHs for php4 packages)

----------------------------------------------------------------------
Version 0.34.0, by Aleksey Cheusov, Wed, 21 Oct 2009 11:34:30 +0300

  - FIX: pkg_summary2build_graph is reimplemented and now handles
    correctly summaries with enriched PKGPATHS and ASSIGNMENTS field.
    Regression tests for this utility have been added.

----------------------------------------------------------------------
Version 0.33.0, by Aleksey Cheusov, Sat, 17 Oct 2009 21:41:48 +0300

  - FIX: 'pkg_src_summary -A meta-pkgs/php4-extensions'
    wrongly shows summaries for php5-xxx packages.
    Obviously meta-pkgs/php4-extensions depends on php4-xxx packages.

  - FIX: {alter,natives} in DEPENDS and BUILD_DEPENDS
    are handled correctly now.

----------------------------------------------------------------------
Version 0.32.0, by Aleksey Cheusov, Sat, 19 Sep 2009 15:18:45 +0300

  - Default values of variables PKG_SUFX, DISTDIR, PKGSRCDIR, BMAKE
    and PKG_INFO_CMD are embedded to scripts itself and are obtained
    from pkgsrc. Manual pages do not tell what is the default.

  - tests/test.sh:

    fix in regression test #3, pkgsrc vs. pkgsrc+wip ==> XXXX vs. XXXXX

    fix in regression test #11 (Darwin)

    "make test" doesn't need "make install" anymore

----------------------------------------------------------------------
Version 0.31.0, by Aleksey Cheusov, Sun,  9 Aug 2009 21:08:34 +0300

  - pkg_src_summary(1) accepts PSS_PRE_PATH and PSS_POST_PATH
    environment variables.

----------------------------------------------------------------------
Version 0.30.0, by Aleksey Cheusov, Sat, 30 May 2009 17:12:18 +0300

  - New utility pkg_summary2build_graph that converts src_summary
    to build dependency graph.

----------------------------------------------------------------------
Version 0.29.0, by Aleksey Cheusov, Sun, 10 May 2009 23:00:18 +0300

  - pkg_src_summary:

     pkg_src_summary is now also fault-tolerant just like wip/distbb.
     paexec(1) child process is now run with -slez options.
     Additional options may also be passed to paexec(1) through
     PSS_PAEXEC_EXTRA_OPTS environment variable.

  - pkg_assignments2pkgpath, pkg_cmp_summary, pkg_summary2bb_pkgs,
    pkg_summary4view.in and pkg_uniq_summary.in:

    All these scripts use latest power_getopt.awk module.
    This make arguments handling code cleaner, simplier and shorter.

----------------------------------------------------------------------
Version 0.28.0, by Aleksey Cheusov, Wed,  1 Apr 2009 12:52:57 +0300

  - pkg_src_summary
      new option -i|--installed:
              generate src_summary for the installed packages only,
              do not read list of packages from stdin and
              from pkgpathN arguments

  - New tool pkg_cleanup_distdir which is actually a replacement for
    lintpkgsrc -o|-r and works much faster.

      pkg_cleanup_distdir - analyses ALLSRCFILES field of src_summary
      given on input and optionally removes files and directories in DISTDIR
      not referenced by any package.

  - pkg_grep_summary:
      new options -s and -m which make it easier for use.

  - New tool pkg_summary2bb_pkgs (needs more testing)

----------------------------------------------------------------------
Version 0.26.0, by Aleksey Cheusov, Fri,  6 Mar 2009 00:29:03 +0200

  pkg_src_summary analyses DEPENDS and BUILD_DEPENDS for correctness.
  That is if appropriate directories don't exist, building summary
  fails with stderr messages.

  'pkg_micro_src_summary -f' supports comma separated fields

  pkg_cmp_summary: new option -P for comparison PKGPATH without PKGNAME

----------------------------------------------------------------------
Version 0.24.0, by Aleksey Cheusov, Fri, 26 Dec 2008 15:30:19 +0200

  pkg_micro_src_summary, pkg_src_summary, pkg_update_src_summary:
  -X=value options are not supported. Use -Xvalue instead!

----------------------------------------------------------------------
Version 0.23.0, by Aleksey Cheusov, Fri, 26 Dec 2008 00:30:26 +0200

  tools based on runawk uses alt_getopt.awk module
  for handling options, regression tests

  pkg_src_fetch_var doesn't accept -f=<value>

  minor clean-ups in pkg_update_src_summary

----------------------------------------------------------------------
Version 0.22.0, by Aleksey Cheusov, Thu, 27 Nov 2008 22:16:16 +0200

  1) MEGAFIXES and improvements in pkg_src_summary

    - 'pkg_src_summary -d' automatically adds DEPENDS and
      'pkg_src_summary -D' adds BUILD_DEPENDS
       to the list of generated fields (PSS_FIELDS).
      'pkg_src_summary -A' adds them both.

    - 'pkg_src_summary -A' now correctly passes building options
      (*_REQD) to the dependencies. For example,

	0 ~>pkg_src_summary -A graphics/py-cairo:PYTHON_VERSION_REQD=25
	PKGNAME=py25-cairo-1.6.4
	PKGPATH=graphics/py-cairo
	ASSIGNMENTS=PYTHON_VERSION_REQD=25

	...
	PKGNAME=py25-Numeric-24.2
	PKGPATH=math/py-Numeric
	ASSIGNMENTS=PYTHON_VERSION_REQD=25

	...
	PKGNAME=inputproto-1.4.4
	PKGPATH=x11/inputproto
	BUILD_DEPENDS= checkperms>=1.1:../../sysutils/checkperms

	...
	0 ~>

    - pkg_src_summary assigns ASSIGNMENTS variable only if building
      options are not equal to the default settings.
      For example,

	0 ~>export PSS_FIELDS='PKGNAME PKGPATH'
	0 ~>pkg_src_summary graphics/py-cairo:PYTHON_VERSION_REQD=24
	PKGNAME=py24-cairo-1.6.4
	PKGPATH=graphics/py-cairo

	0 ~>pkg_src_summary graphics/py-cairo:PYTHON_VERSION_REQD=25 
	PKGNAME=py25-cairo-1.6.4
	PKGPATH=graphics/py-cairo
	ASSIGNMENTS=PYTHON_VERSION_REQD=25

	0 ~>pkg_src_summary graphics/py-cairo:PYTHON_VERSION_REQD=23 
	PKGNAME=-cairo-1.6.4
	PKGPATH=graphics/py-cairo
	ASSIGNMENTS=PYTHON_VERSION_REQD=23

	0 ~>

    - 'pkg_src_summary -m' do not list variants for *_REQ which is
      already set. For example,

	0 ~>export PSS_FIELDS='PKGNAME PKGPATH'
	0 ~>pkg_src_summary -m www/ap2-python
	PKGNAME=ap2-py25-python-3.3.1
	PKGPATH=www/ap2-python
	ASSIGNMENTS=PKG_APACHE=apache2,PYTHON_VERSION_REQD=25

	PKGNAME=ap2-py24-python-3.3.1
	PKGPATH=www/ap2-python
	ASSIGNMENTS=PKG_APACHE=apache2

	PKGNAME=ap2-py23-python-3.3.1
	PKGPATH=www/ap2-python
	ASSIGNMENTS=PKG_APACHE=apache2,PYTHON_VERSION_REQD=23

	PKGNAME=ap22-py25-python-3.3.1
	PKGPATH=www/ap2-python
	ASSIGNMENTS=PYTHON_VERSION_REQD=25

	PKGNAME=ap22-py24-python-3.3.1
	PKGPATH=www/ap2-python

	PKGNAME=ap22-py23-python-3.3.1
	PKGPATH=www/ap2-python
	ASSIGNMENTS=PYTHON_VERSION_REQD=23

	0 ~>pkg_src_summary -m www/ap2-python:PKG_APACHE=apache2
	PKGNAME=ap22-py25-python-3.3.1
	PKGPATH=www/ap2-python
	ASSIGNMENTS=PYTHON_VERSION_REQD=25

	PKGNAME=ap22-py24-python-3.3.1
	PKGPATH=www/ap2-python

	PKGNAME=ap22-py23-python-3.3.1
	PKGPATH=www/ap2-python
	ASSIGNMENTS=PYTHON_VERSION_REQD=23

	0 ~>pkg_src_summary -m www/ap2-python:PYTHON_VERSION_REQD=25
	PKGNAME=ap2-py24-python-3.3.1
	PKGPATH=www/ap2-python
	ASSIGNMENTS=PKG_APACHE=apache2

	PKGNAME=ap22-py24-python-3.3.1
	PKGPATH=www/ap2-python

	0 ~>pkg_src_summary -m www/ap2-python:PYTHON_VERSION_REQD=25,PKG_APACHE=apache22 
        PKGNAME=ap22-py25-python-3.3.1
        PKGPATH=www/ap2-python
        ASSIGNMENTS=PYTHON_VERSION_REQD=25

        0 ~>

  2) pkg_uniq_summary uses (PKGPATH, PKGBASE, ASSIGNMENTS) triple for
     comparison

  3) regression test for pkg_uniq_summary

  4) -h option added to pkg_summary4view

  5) -G option for debugging is added to pkg_src_summary

----------------------------------------------------------------------
Version 0.21.0, by Aleksey Cheusov, Tue, 11 Nov 2008 22:59:51 +0200

  new executable pkg_uniq_summary for filtering out repeated summaries

  Man pages are rewritten in 'man' macroses. Now they may be seen
  under Solaris too.
  Homemade macro VB and VE are used to implement EXAMPLES section,
  these macro implements "verbatim" output.

  pkg_src_summary fix: when reading DESCR files failed a bad error
  message was output (`` was output instead of real filename).

  fix in regression tests (test.sh)

----------------------------------------------------------------------
Version 0.20.0, by Aleksey Cheusov, Sun, 26 Oct 2008 13:09:43 +0200

  Regression test framework appeared (run 'bmake test').
  Regression tests for most utilities.

  FIXED: Broken pkg_src_summary -m.
  Affected versions: 0.17.0-0.19.0

  pkg_summary4view: /usr/bin/awk -f --> runawk

----------------------------------------------------------------------
Version 0.19.0, by Aleksey Cheusov, Wed, 22 Oct 2008 21:38:19 +0300

  all scripts are preprocessed before installation
  (sed 's,@@bindir@@,${BINDIR},g' etc.)

  pkg_src_summary: fix for packages having more than one file listed
  in DESCR_SRC

  FIX for pkg_src_summary -p: For a huge number of packages 'make
  plist' fails because this stage requires package's sources
  extracted.  Now 'make plist' failures are not critical,
  i.e. summary for such package is generated in any case.

  fix in pkg_src_fetch_var.in: comments are removed
  PKGNAME=pkgname-ver ### trtrtr -> PKGNAME=pkgname-ver

  fix in pkg_micro_src_summary: If PKGREVISION is set to 0 (or empty)
  in Makefile (bug?), then nb0 is *not* added to PKGNAME

----------------------------------------------------------------------
Version 0.17.2, by Aleksey Cheusov, Sat,  4 Oct 2008 14:47:09 +0300

  FIX: pkg_src_summary may fail for packages when fields contain
  quotes (e.g. COMMENT field for devel/apache-ant15/Makefile rev. 1.10)

----------------------------------------------------------------------
Version 0.17.1, by Aleksey Cheusov, Tue, 30 Sep 2008 23:28:39 +0300

  FIX for -A option: strip ending / symbol from dependencies
    (DEPENDS and BUILD_DEPENDS)

    www/typo3/Makefile revision 1.5
        DEPENDS+=   ...  ../../archivers/php-zlib/
                                                ^^^
                                                /
            extra slash character here --------/

----------------------------------------------------------------------
Version 0.17.0, by Aleksey Cheusov, Sat, 20 Sep 2008 02:29:07 +0300

  pkg_src_summary:

     Fields with empty values (like NOT_FOR=) are not printed.

     The following fields are added to the default list of fields
     generated by pkg_src_summary: NO_BIN_ON_FTP, NO_SRC_ON_FTP,
     NO_BIN_ON_CDROM, NO_SRC_ON_CDROM.

     New field ALLSRCFILES (also generated by default) - sum of
     DISTFILES and PATCHFILES prepanded with DIST_SUBDIR.

  pkg_grep_summary:

     pkg_grep_summary FIELD 'fvalue == ""' also matches packages
     with no FIELD at all. That is no field becomes synonym to
     FIELD=

     new option -e
        pkg_grep_summary -e FIELD is shorter equivalent for
        pkg_grep_summary FIELD 'fvalue == ""'

----------------------------------------------------------------------
Version 0.16.0, by Aleksey Cheusov, Sat, 13 Sep 2008 11:23:57 +0300

  A code that moves/adds ASSIGNMENTS to PKGPATH is separated into a
  separate script "pkg_assignments2pkgpath". One application for it is
  distbb.

     Sample of usage: pkg_src_summary ... | pkg_assignments2pkgpath


  pkg_src_summary: PKGPATH enriched with variable assignments and
  passed to pkg_src_summary may contain spaces. They should be
  represented as ~. In output spaces are also encoded as ~.

     Example:

       $ export PSS_FIELDS='PKGNAME PKGPATH DEPENDS BUILD_DEPENDS'
       $ pkg_src_summary sysutils/mc:PKG_OPTIONS.mc=-x11~-slang,PKGNAME=mc-myown-4.6.1nb4
       PKGNAME=mc-myown-4.6.1nb4
       PKGPATH=sysutils/mc
       DEPENDS= perl>=5.0:../../lang/perl5 unzip-[0-9]*:../../archivers/unzip  glib2>=2.4.0:../../devel/glib2  glib2>=2.14.3:../../devel/glib2
       BUILD_DEPENDS= pkg-config>=0.19:../../devel/pkg-config  checkperms>=1.1:../../sysutils/checkperms
       ASSIGNMENTS=PKG_OPTIONS.mc=-x11~-slang PKGNAME=mc-4.6.1nb4

       $

----------------------------------------------------------------------
Version 0.15.0, by Aleksey Cheusov, Sun,  7 Sep 2008 21:04:34 +0300

   pkg_grep_summary: in order to support summaries for multi-variant
   packages it is strongly recommented to use 'fvalue' variable in
   condition, not $2. Man page and README updated accordingly.

   pkg_cmp_summary: -m option added for comparing summaries for
   multi-variant packages
   (PKGPATH=CATEGORY/PACKAGE[:var1=value1[,var2=value2[...]]] format).

----------------------------------------------------------------------
Version 0.14.0, by Aleksey Cheusov, Sun,  7 Sep 2008 01:25:37 +0300

   pkg_src_summary: added option -M which implies -m and moves/adds
   ASSIGNMENTS field to PKGPATH.

     Example:

	0 ~>export PSS_FIELDS='PKGPATH PKGNAME'
	0 ~>pkg_src_summary -M lang/lua www/php-apc www/ap2-python
	PKGPATH=lang/lua
	PKGNAME=lua-5.1.3nb1

	PKGPATH=www/php-apc:PHP_VERSION_REQD=4
	PKGNAME=php4-apc-4.4.8.3.0.16

	PKGPATH=www/php-apc:PHP_VERSION_REQD=5
	PKGNAME=php5-apc-5.2.6.3.0.16

	PKGPATH=www/ap2-python:PKG_APACHE=apache2,PYTHON_VERSION_REQD=25
	PKGNAME=ap2-py25-python-3.2.10

	PKGPATH=www/ap2-python:PKG_APACHE=apache2,PYTHON_VERSION_REQD=24
	PKGNAME=ap2-py24-python-3.2.10

	PKGPATH=www/ap2-python:PKG_APACHE=apache2,PYTHON_VERSION_REQD=23
	PKGNAME=ap2-py23-python-3.2.10

	PKGPATH=www/ap2-python:PKG_APACHE=apache22,PYTHON_VERSION_REQD=25
	PKGNAME=ap22-py25-python-3.2.10

	PKGPATH=www/ap2-python:PKG_APACHE=apache22,PYTHON_VERSION_REQD=24
	PKGNAME=ap22-py24-python-3.2.10

	PKGPATH=www/ap2-python:PKG_APACHE=apache22,PYTHON_VERSION_REQD=23
	PKGNAME=ap22-py23-python-3.2.10

	0 ~>

----------------------------------------------------------------------
Version 0.13.1, by Aleksey Cheusov, Sun,  7 Sep 2008 01:25:37 +0300

   VARIANTS7 is reimplemented through pbulk's mk/pbulk/pbulk-index.mk.
   I hope this API will not change...

----------------------------------------------------------------------
Version 0.13.0, by Aleksey Cheusov, Sat,  6 Sep 2008 23:05:15 +0300

   -----------------
   pkg_src_summary: new option -m added that generates summary
   for all variants of multi-variant packages
   (Python {23,24,25}, PHP {4,5}, Apache {1.3,2,2.2} etc.)

     Example:

        0 ~>export PSS_FIELDS='PKGPATH PKGNAME'
        0 ~>./pkg_src_summary -m lang/lua www/php-apc www/ap2-python
        PKGPATH=lang/lua
        PKGNAME=lua-5.1.3nb1

        PKGPATH=www/php-apc
        PKGNAME=php4-apc-4.4.8.3.0.16
     => ASSIGNMENTS=PHP_VERSION_REQD=4

        PKGPATH=www/php-apc
     => PKGNAME=php5-apc-5.2.6.3.0.16
     => ASSIGNMENTS=PHP_VERSION_REQD=5

        PKGPATH=www/ap2-python
     => PKGNAME=ap2-py25-python-3.2.10
     => ASSIGNMENTS=PYTHON_VERSION_REQD=25 PKG_APACHE=apache2

        PKGPATH=www/ap2-python
     => PKGNAME=ap22-py25-python-3.2.10
     => ASSIGNMENTS=PYTHON_VERSION_REQD=25 PKG_APACHE=apache22

        PKGPATH=www/ap2-python
        PKGNAME=ap2-py24-python-3.2.10
        ASSIGNMENTS=PYTHON_VERSION_REQD=24 PKG_APACHE=apache2

        PKGPATH=www/ap2-python
        PKGNAME=ap22-py24-python-3.2.10
        ASSIGNMENTS=PYTHON_VERSION_REQD=24 PKG_APACHE=apache22

        PKGPATH=www/ap2-python
        PKGNAME=ap2-py23-python-3.2.10
        ASSIGNMENTS=PYTHON_VERSION_REQD=23 PKG_APACHE=apache2

        PKGPATH=www/ap2-python
        PKGNAME=ap22-py23-python-3.2.10
        ASSIGNMENTS=PYTHON_VERSION_REQD=23 PKG_APACHE=apache22

        0 ~>

     See lines with '=>'.

   -----------------
   pkg_src_summary: the following format of input PKGPATH is supported:
   real_pkgpath[:var1=value1[,var2=value2[...]]]

     Example:

        0 ~>export PSS_FIELDS='PKGNAME PKGPATH DEPENDS BUILD_DEPENDS'
        0 ~>pkg_src_summary textproc/dictem:EMACS_TYPE=xemacs
     => PKGNAME=xemacs-dictem-0.82
        PKGPATH=textproc/dictem
     => DEPENDS=dict-client>=1.9.14:../../textproc/dict-client xemacs>=21.4<21.5:../../editors/xemacs  xemacs>=21.4<21.5:../../editors/xemacs
        BUILD_DEPENDS= checkperms>=1.1:../../sysutils/checkperms
     => ASSIGNMENTS=EMACS_TYPE=xemacs

        0 ~>pkg_src_summary www/ap2-wsgi:PYTHON_VERSION_DEFAULT=23,PKG_APACHE_DEFAULT=apache2
     => PKGNAME=ap2-py23-wsgi-1.3
        PKGPATH=www/ap2-wsgi
     => DEPENDS=  python23>=2.3:../../lang/python23 apache>=2.0.51<2.2:../../www/apache2  python23>=2.3.5nb6:../../lang/python23 apache>=2.0.61nb2:../../www/apache2
        BUILD_DEPENDS= libtool-base>=1.5.18nb5:../../devel/libtool-base perl>=5.0:../../lang/perl5  checkperms>=1.1:../../sysutils/checkperms
     => ASSIGNMENTS=PYTHON_VERSION_DEFAULT=23 PKG_APACHE_DEFAULT=apache2

        0 ~>

     See lines with '=>'.

----------------------------------------------------------------------
Version 0.12.0, by Aleksey Cheusov, Mon,  7 Jul 2008 17:26:35 +0300

   minor fixes in pkg_grep_summary

   added: pkg_grep_summary.1

----------------------------------------------------------------------
Version 0.11.0, by Aleksey Cheusov, Sat, 14 Jun 2008 15:33:06 +0300

   pkg_src_summary:

      -d, -D and -A options for generating summary of the specified
      packages and their dependancies.  -d is for DEPENDS
      dependancies, -D is for BUILD_DEPENDS and -A is for both. See
      pkg_src_summary(1) for details.

----------------------------------------------------------------------
Version 0.10.0, by Aleksey Cheusov, Sat, 14 Jun 2008 13:30:04 +0300

   added: pkg_summary-utils(7) that describes what pkg_summary-utils
   project is. All tools refer to it in its manual pages and
   pkg_summary-utils(7) refers to manual pages of all tools.

   pkg_src_summary:

      a list of fields listed in -f|--fields option may be separated
      by comma, not only space.

      PSS_OPTIONS environment variable specifies default options to be
      placed in front of any explicit options. See man page for the
      sample.

      -a and -r options added for adding and removing the specified
      fields to/from the list of fields generated by default.
      See man page for the samples.

   pkg_update_src_summary:

      a list of fields listed in -f|--fields option may be separated
      by comma, not only space.

----------------------------------------------------------------------
Version 0.9.0, by Aleksey Cheusov, Sat, 14 Jun 2008 10:38:55 +0300

   ADDED: CVS_CHECKSUM field to pkg_src_summary. This gives a way to
   compare two pkgsrc trees by comparing their pkg_src_summaries
   comparing not only an information about package versions but also
   an information about CVS files and their revisions.

      new script added: 'cvs_checksum' that analyses local cvs
      repository and lists all files in it with their revisions and,
      optionally, calculates a checksum for all this. Run
      'cvs_checksum -h' for more information. CKSUM environment
      variable sets a checksum program, by default, standard 'cksum'.

      pkg_src_summary can generate new field: CVS_CHECKSUM, a checksum
      calculated by 'cvs_checksum' program for a package. By default 
      CVS_CHECKSUM is NOT generated.

      'pkg_cmp_summary -c' prints '!' (this means "not equal") for
      packages with the same versions but different CVS_CHECKSUM provided
      that CVS_CHECKSUM is set in both compared packages.

----------------------------------------------------------------------
Version 0.8.0, by Aleksey Cheusov

   FIXED: pkg_src_summary pkgpath

   pkg_summary4view:

      DESCRIPTION, PLIST, PROVIDES and REQUIRES fields now look
      better. "FIELD_NAME:" is not followed by any data on the same
      line.  Data are displayed on the next lines.

      Multilined DEPENDS field (pkg_summary(5) from binary packages)
      now looks nicer - just like in case pkg_src_summary

      CONFLICTS field is processed just like DEPENDS

      Fields with values (DEPENDS - noe dependancies, NOTFOR - no
      restrictions etc.) are not output at all.

   pkg_src_summary:

      added option -p|--make-plist for using 'bmake plist'
      instead 'cat PLIST'. @directives are removed.

----------------------------------------------------------------------
Version 0.7.0, by Aleksey Cheusov, Sat, 10 May 2008 12:43:07 +0300

   pkg_src_summary is now "distributed" tool, i.e. it can build
   src_summary using several processes or machines. 
      Examples:

      # for SMP machine
      env PSS_SLAVES=+5 pkg_src_summary ...

      # for machines in a network
      env PSS_SLAVES='host1 host2 host3' \
          PSS_PPERS=5 \
          PSS_TRANSPORT=/usr/bin/ssh pkg_src_summary ...

      PSS_PPERS variable sets a number of packages per slave that
      are built at once, defaults to 10.

   pkg_src_summary: PSS_FIELDS overrides the default
   list of generated fields

   pkg_update_src_summary: -i|--fields options specify a list of
   generated fields.

----------------------------------------------------------------------
Version 0.6.2, by Aleksey Cheusov

   grepping functionality of pkg_grep_summary has been moved to a
   separate file pkg_grep_summary.awk.  Similar code fragments found
   in pkg_refresh_summary and pkg_update_src_summary use
   pkg_grep_summary.awk now.

----------------------------------------------------------------------
Version 0.6.1, by Aleksey Cheusov, Wed,  7 May 2008 23:07:00 +0300

   README file added. There are available a few examples how to use
   all these tools separately and together . You can use it as a
   titorial.

----------------------------------------------------------------------
Version 0.6.0, by Aleksey Cheusov, Wed,  7 May 2008 21:53:35 +0300

   NEW tool: pkg_grep_summary
     Run 'pkg_grep_summary -h' for a documentation.

----------------------------------------------------------------------
Version 0.5.1, by Aleksey Cheusov, Mon,  5 May 2008 01:00:43 +0300

   FIXED: pkg_update_summary fails under Linux, Solaris, Interix and
   probably other OSes when there are no binary packages in a specified
   directory.  This happens because xargs works differently on
   NetBSD/FreeBSD and Linux/Solaris/Interix. In NetBSD/FreeBSD xargs's
   command is NOT run at all when there is no input, while on L/S/I it is
   run once without arguments and (pkg_info -X in our case) fails.

   DESCR improved

   Minor fixes in documentation ans NEWS

----------------------------------------------------------------------
Version 0.5.0, by Aleksey Cheusov, Sun, 27 Apr 2008 14:37:46 +0300

   Lots of tasks from TODO are implemented.

   pkg_src_fetch_var:
      - minor fixes in comments
      - new options -h|--help for use message
      - new options -f|--fields|-v|--vars for specifying a list of fields
        to be generated. By default PKGNAME and PKPATH
        are generated as earlier versions did.

        Example:
          echo 'wip/distbb' | \
          pkg_src_fetch_var -f='PKGNAME PKGPATH COMMENT MAINTAINER'

      - bmake '+=' operator is also supported

   pkg_src_summary:
      - new options -h|--help for use message
      - new options -f|--fields for specifying a list of fields
        to be generated. By default PKGNAME and PKPATH
        are generated as earlier versions did.
      - 'print-summary-data' pkgsrc target is not used anymore.
        Instead, variable's values are obtained directly by bmake.

        Side effect/incompatibility: NOTFOR and ONLYFOR are set to
        <empty_string> instead of 'any' string in case
        NOT_FOR_PLATFORM and ONLY_FOR_PLATFORM are not specified.

   pkg_micro_src_summary:
      - new options -f|--fields for specifying a list of fields
        to be generated. By default PKGNAME and PKPATH
        are generated as earlier versions did.

        Example:
          pkg_micro_src_summary -f 'PKGNAME PKGPATH COMMENT MAINTAINER' \
                                   lang/lua wip/distbb
      - In case pkg_src_fetch_var failes pkg_micro_src_summary fallbacks
        to pkg_src_summary.

----------------------------------------------------------------------
Version 0.4.6, by Aleksey Cheusov, Sun, 13 Apr 2008 14:56:41 +0300

   fix for pkg_summary4view: doesn't depend on input fields order.
   fix for pkg_src_summary: PKGNAME and PKGPATH are printed first.

----------------------------------------------------------------------
Version 0.4.5, by Aleksey Cheusov, Sat, 13 Apr 2008 00:43:22 +0300

   Both pkg_micro_src_summary and pkg_src_summary generate
   nicely formatted bmake failures to stderr.
   (will be used by future versions of distbb)

----------------------------------------------------------------------
Version 0.4.4, by Aleksey Cheusov, Sat, 12 Apr 2008 19:53:22 +0300

   lots of fixes and improvements in manual pages
   minors fixes in utilities

----------------------------------------------------------------------
Version 0.4.3, by Aleksey Cheusov, Sat, 12 Apr 2008 18:00:50 +0300

   added:
      - pkg_list_all_pkgs.1
      - pkg_refresh_summary.1

----------------------------------------------------------------------
Version 0.4.2, by Aleksey Cheusov, Wed,  9 Apr 2008 00:34:58 +0300

   pkg_src_fetch_var:
      - read PKGPATHs instead of Makefile filenames.
        In order to Makefiles from PKGPATH, PKGSRCDIR environment
        variable is used (/usr/pkgsrc by default).
      - TAB character is used as a fields separator instead of SPC

   pkg_micro_src_summary:
      - added options: -h|--help|-f|--fields
        -f|--fields is for specifying fields to be included
        to the summary, PKGNAME and PKGPATH by default

----------------------------------------------------------------------
Version 0.4.1, by Aleksey Cheusov, Wed,  9 Apr 2008 23:14:03 +0300

   ADDED: -f|--fields=<fields> option to pkg_src_fetc_var
   clean-ups

----------------------------------------------------------------------
Version 0.4.0, by Aleksey Cheusov

   first publicly available release (with name pkg_summary-utils)
