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
failes because this stage requires package's sources extracted.
I made failure of 'make plist' not critical, i.e. summary for given
package is generated in any case.
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 --------/
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 == ""'
pkg_grep_summary -e NO_BIN_ON_FTP <equivalent_to>
pkg_grep_summary NO_BIN_ON_FTP 'fvalue == ""'
empty field ( e.g. NO_BIN_ON_FTP= ) is equivalent to absent field.
For example 'pkg_grep_summary -e NO_BIN_ON_FTP' now matches
the following package summaries
PKGNAME=dictem-0.82
PKGPATH=textproc/dictem
PKGNAME=distbb-0.19.1
PKGPATH=wip/distbb
script "pkg_assignments2pkgpath". One application for it is distbb.
pkg_src_summary: PKGPATH enriched with variable assignments and passed
to pkg_src_summary may contain spaces. They should be represented
as ~.
Example: pkg_src_summary \
sysutils/mc:PKG_OPTIONS.mc=-x11~-subshell~-slang~-samba~ncurses~-edit
Major changes
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 update accordingly.
pkg_cmp_summary: -m option added for comparing summaries for
multi-variant packages
(PKGPATH=category/name:variable_assignments format).
pkg_cmp_summary -m implies -p
FIX in pkg_src_summary: I forgot that grep's exit status may be 1 which is
fatal if 'set -e'
pkg_cmp_summary:
support for multi-variant package summaries.
Option -m added for this.
pkg_grep_summary: in order to support summaries for multi-variant packages
it is strongly recommented to use 'fvalue' variable in condition
instead of '$2'. Man page and README update accordingly.
The following format of input PKGPATH is supported:
real_pkgpath[:var1=value1[,var2=value2[...]]]
Example:
0 ~>pkg_src_summary textproc/dictem:EMACS_TYPE=xemacs
PKGPATH=textproc/dictem
=> PKGNAME=xemacs-dictem-0.82
=> ASSIGNMENTS=EMACS_TYPE=xemacs
0 ~>pkg_src_summary www/ap2-wsgi:PYTHON_VERSION_DEFAULT=23,PKG_APACHE_DEFAULT=apache2
PKGPATH=www/ap2-wsgi
=> PKGNAME=ap2-py23-wsgi-1.3
=> ASSIGNMENTS=PYTHON_VERSION_DEFAULT=23 PKG_APACHE_DEFAULT=apache2
0 ~>
Initial support for building src_summary for multi-variant packages (-m),
new special artificial output field VARIANTS7 is supported.
Unfortunately pkgsrc developers declined this idea
http://mail-index.netbsd.org/tech-pkg/2008/07/20/msg001320.html
VARIANTS7 because I hope they will change their mind.
Example:
0 ~>./pkg_src_summary -a 'VARIANTS7' www/ap2-wsgi
PKGPATH=www/ap2-wsgi
PKGNAME=ap22-py24-wsgi-1.3
=> VARIANTS7=PYTHON_VERSION_DEFAULT=25,24,23 PKG_APACHE_DEFAULT=apache2,apache22
0 ~>./pkg_src_summary -a 'VARIANTS7' lang/lua
PKGPATH=lang/lua
PKGNAME=lua-5.1.3nb1
=> VARIANTS7=
0 ~>./pkg_src_summary -a 'VARIANTS7' www/php-apc
PKGPATH=www/php-apc
PKGNAME=php5-apc-5.2.6.3.0.16
=> VARIANTS7=PHP_VERSION_DEFAULT=4,5
0 ~>
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.
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.
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.
from a local cvs repository. This checksum will be a part of
pkg_src_summary. This is necessary to optionally use
cvs files/tags in comparing source packages by distbb.
Currently only package versions are compared by pkg_cmp_summary and
therefore by distbb too. The problem is that packages are often updated
without increasing PKGREVISION.