pkgsrc-wip/pkg_summary-utils/files
Aleksey Cheusov 39a82a3106 more tasks
2008-11-02 17:15:06 +00:00
..
tests fix in version normalizing 2008-10-27 21:58:01 +00:00
cvs_checksum.1 upgraded to version 0.10.0 2008-06-14 10:27:34 +00:00
cvs_checksum.in mode-sh for Emacs editor 2008-10-26 11:06:19 +00:00
Makefile regression tests for pkg_list_all_pkgs 2008-10-23 15:11:56 +00:00
Makefile.version version -> 0.20.0 2008-10-26 11:17:46 +00:00
NEWS version -> 0.20.0 2008-10-26 11:17:46 +00:00
pkg_assignments2pkgpath.in updated to 0.18.0 (intermediate release) 2008-10-05 20:10:10 +00:00
pkg_cmp_summary.1 version -> 0.15.0 2008-09-07 18:17:38 +00:00
pkg_cmp_summary.in updated to 0.18.0 (intermediate release) 2008-10-05 20:10:10 +00:00
pkg_grep_summary.1 added: -e option to pkg_grep_summary. 2008-09-19 21:06:11 +00:00
pkg_grep_summary.awk added: -e option to pkg_grep_summary. 2008-09-19 21:06:11 +00:00
pkg_grep_summary.in mode-sh for Emacs editor 2008-10-26 11:06:19 +00:00
pkg_list_all_pkgs.1 upgraded to version 0.10.0 2008-06-14 10:27:34 +00:00
pkg_list_all_pkgs.in mode-sh for Emacs editor 2008-10-26 11:06:19 +00:00
pkg_micro_src_summary.1 upgraded to version 0.10.0 2008-06-14 10:27:34 +00:00
pkg_micro_src_summary.in mode-sh for Emacs editor 2008-10-26 11:06:19 +00:00
pkg_refresh_summary.1 upgraded to version 0.10.0 2008-06-14 10:27:34 +00:00
pkg_refresh_summary.in mode-sh for Emacs editor 2008-10-26 11:06:19 +00:00
pkg_src_fetch_var.in the same as previous commit but for PKGREVISION=. 2008-10-13 19:17:23 +00:00
pkg_src_summary.1 update to 0.17.0 2008-09-19 23:41:59 +00:00
pkg_src_summary.in fixed: broken pkg_src_summary -m 2008-10-26 11:07:45 +00:00
pkg_summary-utils.7 upgraded to version 0.10.0 2008-06-14 10:27:34 +00:00
pkg_summary4view.1 upgraded to version 0.10.0 2008-06-14 10:27:34 +00:00
pkg_summary4view.in pkg_summary4view: /usr/bin/awk -f --> runawk 2008-10-23 18:25:48 +00:00
pkg_update_src_summary.1 notes about PSS_OPTIONS environment variable 2008-09-13 14:17:51 +00:00
pkg_update_src_summary.in mode-sh for Emacs editor 2008-10-26 11:06:19 +00:00
pkg_update_summary.1 upgraded to version 0.10.0 2008-06-14 10:27:34 +00:00
pkg_update_summary.in mode-sh for Emacs editor 2008-10-26 11:06:19 +00:00
README version -> 0.14.1 2008-09-07 16:53:32 +00:00
TODO more tasks 2008-11-02 17:15:06 +00:00

Just a few words about tools included to pkg_summary-utils

=================================================================

A collection of utilities for manipulating pkg_summary files,
pkg_summary(5) and pkg_src_summary (the same but for pkgsrc tree).

   pkg_list_all_pkgs      - list (in PKGPATH form) all packages in pkgsrc tree
   pkg_src_summary        - create a full pkg_src_summary
                            for given (in PKGPATH form) packages
   pkg_micro_src_summary  - create a micro pkg_src_summary
                            for given (in PKGPATH form) packages
   pkg_cmp_summary        - compare two summary files, i.e. packages
                            are compared by their versions
   pkg_update_summary     - updates pkg_summary(5) by analysing the modification
                            time of binary packages and pkg_summary(5) file
   pkg_update_src_summary - efficiently updates pkg_src_summary for all
                            packages in pkgsrc tree
   pkg_summary4view       - convert a summary file to human readable format
   pkg_refresh_summary    - output an information about latest/newest version
                            of packages
   pkg_grep_summary       - output summaries about packages that matches
                            the specified condition.

=================================================================

Samples of usage are below.

-----

All pkgsrc packages (uses SUBDIR variable)

   pkg_list_all_pkgs

-----

Analog for 'lintpkgsrc -i', but MUCH faster:

   pkg_info -Q PKGPATH '*' > packages.txt
   pkg_micro_src_summary < packages.txt 2>/dev/null > micro_summary.txt
   pkg_info -X '*' > inst_pkgs_summary.txt
   pkg_cmp_summary -p inst_pkgs_summary.txt micro_summary.txt

-----

Comparison of binary packages against pkgsrc source tree

   (It is assumed that multiple versions of package may present
   in pkg_summary(5)).

   cd /usr/pkgsrc
   cvs up
   pkg_update_src_summary /usr/pkgsrc/pkg_src_summary.txt # first run is slow
   pkg_update_summary /usr/pkgsrc/pkg_summary.txt
   pkg_refresh_summary /usr/pkgsrc/pkg_summary.txt > newest_pkgs.txt
   pkg_cmp_summary -p newest_pkgs.txt \
                      /usr/pkgsrc/pkg_src_summary.txt

  or (only newest versions are in pkg_summary(5))

   pkg_update_src_summary /usr/pkgsrc/pkg_src_summary.txt # first run is slow
   pkg_update_summary -r /usr/pkgsrc/pkg_summary.txt
   pkg_cmp_summary -p /usr/pkgsrc/pkg_summary.txt \
                      /usr/pkgsrc/pkg_src_summary.txt

-----

The same but with micro summary (much faster!)

   pkg_list_all_pkgs | \
      pkg_micro_src_summary > /usr/pkgsrc/pkg_micro_summary.txt
   pkg_update_summary /usr/pkgsrc/pkg_summary.txt
   pkg_cmp_summary -p /usr/pkgsrc/pkg_micro_summary.txt \
                      /usr/pkgsrc/pkg_src_summary.txt

-----

Summary for humans (looks nice but still easily parsable)

   pkg_summary4view /usr/pkgsrc/pkg_src_summary.txt

  or 

   pkg_summary4view /usr/pkgsrc/pkg_summary.txt

-----

Close to 'pkg_chk -an'

   pkg_info -X '*' > packages.txt
   pkg_cmp_summary -p packages.txt /path/to/simplified_pkgchk.conf

-----

Close to 'pkg_chk -usn'

   pkg_info -X '*' > packages.txt
   pkg_cmp_summary -p packages.txt /usr/pkgsrc/pkg_src_summary.txt |
      awk '$1 !~ /^[+=]$/'

  or 

   pkg_info -X '*' > packages.txt
   pkg_cmp_summary -p packages.txt /usr/pkgsrc/pkg_micro_summary.txt |
      awk '$1 !~ /^[+=]$/'

-----

Close to 'pkg_chk -ubn'

   pkg_info -X '*' > packages.txt
   pkg_cmp_summary -p packages.txt /usr/pkgsrc/pkg_summary.txt |
      awk '$1 !~ /^[+=]$/'

NOTE: To keep pkg_src_summary.txt up-to-date it makes sense to run
pkg_update_src_summary after updating pkgsrc source tree.

-----

Are you tired of PKGSRCDIR/pkglocate, pkg_find etc.?
Try to use pkg_grep_summary like the following

  pkg_grep_summary -h

  pkg_grep_summary 'PKGNAME' 'fvalue ~ /judy/' \
        < /usr/pkgsrc/packages/pkg_summary.txt
  pkg_grep_summary 'PKGPATH' 'fvalue ~ /^lang\//' \
        < /usr/pkgsrc/packages/pkg_summary.txt
  pkg_grep_summary 'DEPENDS' 'fvalue ~ /libX/' \
        < /usr/pkgsrc/pkg_src_summary.txt
  pkg_grep_summary 'COMMENT' 'toupper(fvalue) ~ /DNS/' \
        < /usr/pkgsrc/pkg_src_summary.txt