Adapt to 'distinfo' change.
Adapt to 'pkg' directory removal.
Automatically rename 'pkg-message' files.
Fix a problem introduced in 1.4 (which perl -w warned about).
packages, since certain arguments passed to the tar command by pkg_create
assume the existence of GNU tar (-T for one), and Darwin's standard tar
doesn't understand these.
lintpkgsrc - if we find one valid match in a DEPENDS entry, don't
bitch about any others expanding to a non-existant package:
Example: postgresql-{6.5.3*,7.0*,lib-*}
With this lintpkgsrc -d now outputs six lines on current pkgsrc.
Note to self: When you use 'cvs c^[P' the second time in an
evening for the same package... its enough.
lintpkgsrc.pl:
Finally we parse {x,y,z} constructs in DEPENDS, plus handle a
few more make conditionals. Now most of the lintpkgsrc -d output
is related to versions of software no longer in pkgsrc...
Does the fun ever start?
Significant rototill of lintpkgsrc.pl, converting to a rather twisted
hierarchy of PkgVer Pkgs and PkgList objects with assorted arbitrary
methods, all based on existing usage rather than ideal design.
Actual fixes found along the way:
- Handle := in makefiles
- Better handle parenthesis and "" in make conditionals
- parse bsd.pkg.mk to extract _REQD values (hence the previous line)
- Add missing 'key' in hash iteration
- Do not repeat includes (evolution longer depends on jpeg 45 times)
Still have to handle such delightful constructs as
DEPENDS += {qt2-designer>=2.2.4,qt2-designer-kde>=2.3.1nb1} in a sane way
references of the pkglint package.
_PKGSRCDIR is an internal definition in bsd.pkg.mk, and a few packages
which would like to refer to other packages in the build tree. It should
not be set by users, but neither should it stop a user from building a
package if it is defined, so make it obvious that this is the case.
but "lintpkgsrc -d" output reduced from >7000 lines to ~700.
First part of diff fixes most ruby* complaints, second part the general
"Unknown package: 'UNDEFINED' version missing" message.
- lintpkgsrc: Set BSD_PKG_MK, and ensure .CURDIR is correct when running
with -D. Also remove an articulated lorry load of single quotes.
Many thanks to wiz who added PKGREVISION before I lamely managed to get
around to it :)
Nearly a complete rewrite in order to deal with the following situation:
a package's Makefile include a Makefile fragment (like a buildlink.mk file)
which does not exist, so `$MAKE show-depends-dirs' cannot be run. To resolve
this pkgcvsupdate now try to figure out which package provide the missing file
and update it first (and its dependencies), it will update a second time
the crippled package in case the fragment - hopefully now in place - brings
along new dependencies.
Thanks to zuntum for this interesting case I overlooked!
Thanks to wiz for the manpage!
Pkgcvsupdate is a tool to ease updating package source files from CVS.
It can update a single package and its dependencies or a whole category of
packages and their dependencies.
Handle -r and -a on the same line (remove mismatched packages, then add)
In the -B case avoid an extra 'make' invocation - reduces time taken on
my system by 45%
miyu% grep nb Makefile
DISTNAME= xfsprogs-1.2.8.srcnb1
miyu% /tmp/pkglint
OK: checking Makefile.
====> WARN: is 'nb1' really ok on DISTNAME, or is it intended for PKGNAME?
OK: checking pkg/PLIST.
OK: checking pkg/DESCR.
OK: checking distinfo.
0 fatal errors and 1 warnings found.
Suggested by Tomasz Luchowski.
New version includes the NetBSD patches. Other changes...
0.51:
* Applied another patch from Ben Collver:
. minor logic problem with verifying INDEX file
. compare and upgrade now work even if INDEX doesn't exist (very nice for
me because INDEX takes >12 hours to generate on my box)
0.50:
* Applied a patch to make this work with NetBSD ports.
* Cleaned up the entire dist a little bit..