Unconditionally set PKGSRC_LOCKTYPE to `none' to avoid bootstrapping problem.
Do not generate formatted manual and do not install source manual on Solaris or
else we would need to make this package depends on textproc/groff. IMHO this
should be avoided for this package as it can be considered a prerequisite for
building further packages.
NetBSD-current, into the NetBSD Packages Collection.
The shlock command can create or verify a lock file on behalf of a
shell or other script program. When it attempts to create a lock
file, if one already exists, shlock verifies that it is or is not
valid. If valid, shlock will exit with a non-zero exit code. If
invalid, shlock will re- move the lock file, and create a new one.
shlock uses the rename(2) system call to make the final target lock
file, which is an atomic operation (i.e. "dot locking", so named for
this mech- anism's original use for locking system mailboxes). It
puts the process ID ("PID") from the command line into the requested
lock file.
shlock verifies that an extant lock file is still valid by using
kill(2) with a zero signal to check for the existence of the process
that holds the lock.
This package is only for Solaris and Linux platforms at present.
New feature:
Somewhat rewritten to support run from top-level pkgsrc directory. When run
from there pkgcvsupdate launchs a separate cvs update for each caterory
directory. This is believed to be faster than a single cvs run. Thanks to
Simon Burge for this!
Bugfix:
First update a category Makefile (by way of a non-recursive update in the
category directory) before finding out which packages are included in it.
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.