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"
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
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
- New tool pkg_lint_summary. Given summary on input it makes some
checnity 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
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)
update to 0.34.0
- 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.
- 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.
- 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
- 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)
Major changes:
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
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
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).
regression tests (test.sh)
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
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 == ""'
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
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.
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.
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.