setting M4, and by adding M4 and YACC to CONFIGURE_ENV (YACC is already set,
for NetBSD, in "sys.mk"). If it turns out that a package really needs "gm4"
for "m4", or "bison -y" for "yacc", the corresponding variable will have to
be set in the package's Makefile (and the explicit dependency added, too).
them now, in mk.conf.example, and add a small comment explaining what they
do.
When SMART_MESSAGES is defined, when compiling packages, the make(1)
target is displayed, and also the current stack of packages being built.
(implements $PACKAGE_DEPENDS_QUICK)
--
Thomas Klausner hinted me at some interresting problem WRT the
print-depends package. If something depends on suse_linus-6.*, that
package will register whatever suse_linux there is right now on the system
(in his case V6.1). What print-depends then does is also dig out any pkgs
required for suse_linux, based on what's in pkgsrc, which is of course
_wrong_, as this most likely doesn't match the installed version.[*] The
right thing instead is to print whatever the (currently installed)
suse_linux package depends on, which can be read from "pkg_info -qf"
output, looking at the @pkgdep lines.
Of course this only works if the pkg is actually installed, so it cannot
be used for README.html generation etc., but that's bad luck.
One positive aspect of using the @pkgdep list instead of going down
recursively is that this saves some time and processes. On my P133 it's
going down from ~11s to 0.5s for the pkgsrc/x11/kde package. During a
"make package" of kde itself (not counting the depending pkgs) this will
cut down like 20s (once for the fake-pkg target, and another one for the
pkg_create args - maybe a 3rd time for pkg_create in fake-pkg, but I don't
want to check that right now).
Anyways, a general solution would be to use the "pkg_info -qf | grep
@pkgdep" in print-depends instead of recursion (only!) in the places that
we know that the depends are installed. Which is the PKG_ARGS assignment
(for pkg_create) and the fake-pkg target.
[*] Plus it may be questioned that we should not go down recursively
for pkg depends anyways, but this is used in too many subtle ways
throughout the system to change.
target won't delete BUILD_DEPENDS packages. No one should be setting
DEINSTALLDEPENDS to ALL in /etc/mk.conf--it's done unconditionally by
the update target. Setting DEINSTALLDEPENDS to anything but NO or ALL
will still cause the BUILD_DEPENDS to be pkg_deleted.
installed pkg and this won't be caught by "pkg_delete -r".
There are still situations where pkgs can be left behind if they were
pulled in as BUILD_DEPENDS of any depends installed via the "depends"
target. Maybe Makefile-level recursion should be used instead of
"pkg_delete -r" to implement this...
userland (checked by existence of /sbin/ping6).
with the change, the default value for USE_INET6 will be like this:
- non-NetBSD: undefined
- NetBSD releases prior and including 1.4.x: undefined
- NetBSD-current (pre-1.5) prior to IPv6 integration: undefined
- NetBSD-current after IPv6 integration: USE_INET6=YES
It is advised to obey the default.
USE_CRYPTO: YES, NO; Default: YES
- whether or not net/speakfreely is compiled with support for
encrypted connections
USE_IDEA: YES, NO; Default: package-dependent
- whether or not to compile with support for patented IDEA;
used by net/speakfreely and security/ssh
Also, remove SSH_DONT_USE_IDEA. This is still handled by ssh Makefile,
but is marked as deprecated.
governs whether a package which was installed before OBJECT_FMT was added
to the BUILD_DEFS will display an warning message. To shut up the message,
set WARN_NO_OBJECT_FMT to "no".
1.) protect definition of show-shlib-type with `if !target(show-shlib-type)'
so that it can be overriden in a pkg makefile
2.) move the definition in lang/jdk/Makefile before the include of bsd.pkg.mk
to trigger this.
Without these changes, show-shlib-type was `ELF\na.out' on i386/ELF, so
it was still treated as ELF.
lang/jdk now works on i386/ELF (yay!).
While there, fix JAVA_HOME default to be JDK_HOME if PKG_JVM is jdk
and JDK_HOME is defined.
This halts the execution if an installed package's object format is not
the same as the object format currently in use. It can be set to "no" on
the rare occasion where the interface to the pre-requisite packages is one
of a binary, not a library.
When an installed package is found as part of a DEPENDS pre-requisite,
check its object format. If there is none in the installed package,
that package was probably built before 29th September 1999, which was
when the OBJECT_FMT definition was added to the BUILD_DEFS, so print a
warning and continue. If the object format of the installed package
and ${OBJECT_FMT} are the same, then continue. If the object format
of the installed package and ${OBJECT_FMT} differ, then print an error
message explaining the error, and exit.
for users to choose their own JVM.
USE_JAVA sets up DEPENDS and $JAVA_HOME appropriately, based on PKG_JVM.
Currently sane values of PKG_JVM are `jdk' and `kaffe', where the default
is `jdk' on NetBSD-*-i386, and `kaffe' elsewhere.
match more than one package, and warn about it:
*** WARNING: Dependency on 'gnome-*' expands to several installed packages
( gnome-libs-1.0.53 gnome-core-1.0.53 gnome-print-0.9 ).
Please check if this is really intended!
In such a case, the pattern ('gnome-*') should be tightened to only match
what's really intended (e.g. 'gnome-[0-9]*').