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.
Major changes:
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.
src_summary using several processes or machines.
Examples:
# for SMP machine
env PSS_SLAVES=+5 pkg_src_summary ...
# for SMP machine
env PSS_SLAVES=+5 PSS_TRANSPORT='host1 host2' pkg_src_summary ...
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.
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
Major changes:
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 DEPENDS BUILD_DEPENDS'
- 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 DEPENDS BUILD_DEPENDS' \
lang/lua wip/distbb
- In case pkg_src_fetch_var failes pkg_micro_src_summary fallbacks
to pkg_src_summary.
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