to LDFLAGS if it's defined. This is intended for use by package developers
to catch packages that implicitly use libraries from ${LOCALBASE}/lib
without depending on the correct package.
Include it in bsd.prefs.mk to allow their use much earlier in Makefiles,
and try to use the variable references instead of directly invoking the
programs in bsd.prefs.mk and bsd.pkg.mk where possible.
patch(1) is needed, which supports -C (which checks that the patches
would apply cleanly). As we use message digests to verify our
patches, and as we don't have a modified patch on NetBSD, Solaris and
Linux, remove the checkpatch target, and all references to the
PATCH_CHECK_ONLY definition.
target, don't display what we're doing if PKG_DEBUG_LEVEL is non-zero
- the output of run-depends-list is fed to pkg_create(1) and encoded
in the binary package as a list of @pkgdep lines, and expanding the
output is not the right thing to do.
* umask handlint due to umask producing different number of leading 0s in
ksh(1) and sh(1)
* dependency handling is different due to "`...`" being interpreted
differently
([*] needed on NetBSD 1.5.1_BETA2/cobalt, as /bin/sh keeps on dumping core
in ramdom situations.)
a.out automatic shlib handling. The offending symlink is created when
using the, somewhat strange, libtool -release option.
Reported by David Brownlee <abs@netbsd.org> on tech-pkg. Tested by myself
and David.
(collver@linuxfreemail.com)
"In the current pkgsrc, .lzh distfile archives are automatically
handled by bsd.pkg.mk. It is also common for lha archives to have the
file extension .lha."
This modification allows "make readme" to succeed even if the ${PACKAGES}
hierarchy does not exist.
Fixes PR 12480 from Arto Selonen (arto@selonen.org), and addresses
PR 12362 from Masao Uebayashi <uebayasi@soum.co.jp>
+ move the distfile digest/checksum value from files/md5 to distinfo
+ move the patch digest/checksum values from files/patch-sum to distinfo
+ include distfile filesizes in distinfo
If there's no distinfo file (the name comes from FreeBSD, no point in
being gratuitously incompatible), then use existing files/{md5,patch-sum}
files.
doesn't only avoid circular dependences under Solaris, it makes more
sense in general because the libtool documentation is irrelevant to most
users which only want to build shared libraries.
first component is now a package name+version/pattern, no more
executable/patchname/whatnot.
While there, introduce BUILD_USES_MSGFMT as shorthand to pull in
devel/gettext unless /usr/bin/msgfmt exists (i.e. on post-1.5 -current).
Patch by Alistair Crooks <agc@netbsd.org>
by ".ifdef BSD_PKG_MK" in /etc/mk.conf, but "MANZ" handling, in
the package, relys on the system's "bsd.man.mk", which _CAN_
_NOT_ see variables protected by ".ifdef BSD_PKG_MK". By passing
"MANZ" in through "MAKE_ENV", only if "MANZ" is defined, we ensure
that the PLIST handling and the package's own handling are on the
same wavelength.
support to follow. Note this in documentation.
Bump revision of libtool to nb3 and update dependencies.
Update (sort) known affected PLISTs.
Fixes pkg/12368 by Kimmo Suominen <kim@tac.nyc.ny.us>
Fixes problems with cross/* noted on tech-pkg and packages by
Chuck Cranor <chuck@research.att.com>, and
Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
by using the pkgsrc/pkgtools/digest package, and adding dependencies in
bsd.pkg.mk to make sure that that package is up to date.
There is no discernable performance decrease in using sha1 checksums
over md5 ones, and most people advocate the use of sha1 or rmd160 over
md5.
As part of this change, move the initial setting of LOCALBASE, X11BASE
and CROSSBASE into bsd.prefs.mk from bsd.pkg.mk.
Addresses PR 11809.
exists, to set some variables, instead of starting perl for getting the
values (fallback code to old case still there).
BUILD_DEPEND on perl-mk in USE_PERL5 case for speed-up reasons.
COMMENTs are now a variable in the Makefile instead of a pkg/COMMENT
file. The COMMENT var should be in the maintainer block after the
homepage.
Modify bsd.pkg.mk, pkglint, url2pkg, and port2pkg (last one untested)
for the new behaviour. Document new state in Packages.txt.
This should save lots of inodes, and lots of time when untarring/updating.
Idea by Alistair Crooks.
For the time being, accept pkg/COMMENT instead of a COMMENT var to avoid
a flag day.
linked programs. The buggy file(1) on arm32 objects reports "shared
library" for both programs and shared libraries, which results in
broken automatic shared lib handling.
Discussed on tech-pkg, approved two weeks ago by agc.
Convert most MESSAGE files to new syntax (${VARIABLE} gets replaced,
not @VARIABLE@, nor @@VARIABLE@@).
By default, substitutions are done for LOCALBASE, PKGNAME, PREFIX,
X11BASE, X11PREFIX; additional patterns can be added via MESSAGE_SUBST.
Clean up some packages while I'm there; add RCS tags to most MESSAGEs.
Remove some uninteresting MESSAGEs.
case where DESTDIR is set.
Previously, if DESTDIR was set when a pkg was installed, $DESTDIR/var/db/pkg/+CONTENT
would get `@cwd $DESTDIR/$PREFIX', as would the +CONTENT archived in the
binary package. The first is correct, the second is not.
Now, @cwd in the +CONTENT recorded in the binary package gets $PREFIX (no $DESTDIR).
This allows binary packages built into a DESTDIR to be installed on a
real system. The @cwd in the installed PKG_DBDIR ($DESTDIR/var/db/pkg)
remains the same.
In addition, the full path ($DESTDIR/$PREFIX) is recorded in @src in the
binary package's +CONTENT, for reference purposes.
This patch is the same as that posted to tech-pkg, except that variable
names have been clarified as suggested by hubertf.
in the "show-downlevel" target, since a number of package names do not
correspond to Dewey decimal version numbers (e.g. 2.4.1p1)
Instead, use pkg_info(1) to retrieve the installed package name, and
compare that against ${PKGNAME}.
Fixes PR 12041, from Bernd Ernesti
depends for the package. Both build and run depends are shown. This is
a non-recursive target. Ie, only explicitly depends are shown.
Example:
bondage 109 # cd /usr/pkgsrc/cad/geda && make show-depends-dirs
cad/gschem cad/gnetlist cad/gsymcheck cad/geda-utils cad/geda-docs
This target is useful for collecting dependency tree information for bulk
builds.
SVR4 has a lenght limitation of the package name: Only 9 characters are allowed.
Thats not a real problem since gensolpkg, which is used to create a SVR4
packages, truncates the PKGNAME to 9 characters, but there is a second problem.
Normaly you have a vendor identifier in that package name. gensolpkg uses
at the moment TNF, so we only have 6 characters left, and that is insufficient
for a few packages like the amanda ones. Where the real lenght should be
limited to 5 characters so one can choose to use a vendor string up to 4
characters.
SVR4_PKGNAME should be only added to a few packages where the truncation of
the PKGNAME does not produce an unique package name, e.g the amanda packages.
You will need pkgsrc/pkgtools/gensolpkg 1.9 which will be commited in the
next few days to use SVR4_PKGNAME.
TODO: add SVR4_PKGNAME support to pkglint.
out of date - it was based on a.out OBJECT_FMT, and added entries in the
generated PLISTs to reflect the symlinks that ELF packages uses. It also
tried to be clever, and removed and recreated any symbolic links that were
created, which has resulted in some fun, especially with packages which
use dlopen(3) to load modules. Some recent changes to our ld.so to bring
it more into line with other Operating Systems also exposed some cracks.
+ Modify bsd.pkg.mk and its shared object handling, so that PLISTs now contain
the ELF symlinks.
+ Don't mess about with file system entries when handling shared objects in
bsd.pkg.mk, since it's likely that libtool and the BSD *.mk processing will
have got it right, and have a much better idea than we do.
+ Modify PLISTs to contain "ELF symlinks"
+ On a.out platforms, delete any "ELF symlinks" from the generated PLISTs
+ On ELF platforms, no extra processing needs to be done in bsd.pkg.mk
+ Modify print-PLIST target in bsd.pkg.mk to add dummy symlink entries on
a.out platforms
+ Update the documentation in Packages.txt
With many thanks to Thomas Klausner for keeping me honest with this.
perl in a previous (pkgsrc) life.
* add "lint" target to run pkglint
* Add commented out direction on how to use bzip2 compressed
binary packages
* Some cleanup (clean target, ...)
Reviewed by Thomas Klauser <wiz@netbsd.org>.
The ${PLIST} target must run after all the pre/do/post-install targets
were run (they may generate ${PLIST_SRC}!).
This whole code-path should use the make dependency system, not fork
make(1) over and over again.
* In real-su-install, do not call "make ${PLIST}" manually, but rather depend
on the ${PLIST} file being there for the do-su-install target.
* Break out shlib-handlink from real-su-install, and put it into target
do-shlib-handling, which will either touch then PLIST (when called via
the ${PLIST} target) or do the necessary steps to setup shared library
handling (creating symlinks on ELF, running ldconfig on a.out, etc.,
when called via real-su-install)
* Removed some unnecessary tests (check if $PLIST is there when it
can be assumed to be there, ...)
long time. Oh well.)
* Only replace the value of PATH for "PATH", not any variable whose name
starts with PATH (like PKGPATH :-)
Hinted by Jason R. Mastaler <jason@mastaler.com> on tech-pkg.
Let's take timidity, which needs ncurses and tk. By setting
NEED_NCURSES=1 and adding it to MAKEFLAGS, all other required pkgs
automagically depend on ncurses - tk, tcl (which is slurped in by
tk), ...