new enough to support them. pkgsrc requires updated pkg_install for
older NetBSD releases and will ask the user to install them as the first
step to using pkgsrc, but the error messages about pkg_info not supporting
the "-K" option were confusing.
due to a type on gcc.mk that causes the ${_GCC_PREFIX}/bin to always be
prepended to the PATH. The problem that was hiding was "make" resolving
to ${TOOLS_DIR}/bin/make if the package used GNU make, which broke
building since the package Makefile is a BSD Makefile and we passed
PATH to some phases of the build. Fix this by expanding MAKE to the
full path to ${MAKE} in bsd.prefs.mk. We also garbage collect the now
useless checks for PHASES_AFTER_BUILDLINK that cluttered the PREPEND_PATH
code.
bsd.prefs.mk as it's needed in setting X11PREFIX to the correct value,
which is also done in bsd.prefs.mk. This is the follow-through to the
temporary fix in previous revision (1.141) of bsd.prefs.mk.
with a prefix of X11BASE, rather than LOCALBASE - check whether
USE_XPKGWEDGE is defined to {"YES", "yes"} as well as looking for the
existence of the xpkgwedge definition file when calculating the value
of X11PREFIX.
fetching, extracting, configuring, building, etc. of a package. We
can check what phase we're in by examining the value of ${PKG_PHASE}
and comparing against PHASES_AFTER_<phase>, which list phases that
are "greater than or equal to" <phase>.
One useful example of how to use PKG_PHASE is:
.if !empty(PHASES_AFTER_EXTRACT:${PKG_PHASE})
#
# Some variable settings or targets here that rely on dependencies to
# already be installed, or ${WRKDIR} to be created, etc., as these are
# things that should have happened by the time "make extract" is
# completed.
#
.endif
LOWER_OPSYS for libtool use under BSD/OS.
Add initial support for using pkgsrc under BSD/OS. This was tested
under BSDI BSD/OS 4.3.1. (Thank you D. Hege.)
(Need to add BSDOS.x11.dist later.)
CVS ----------------------------------------------------------------------
"${PKG_BEST_EXIST} pkgpattern" instead of "${PKG_INFO} -e pkgpattern". The
latter can return multiple package names if there are multiple versions of
a piece of software installed. PKG_BEST_EXIST is defined to be
"${PKG_ADMIN} -b -d ${_PKG_DBDIR} -s "" lsbest", so it searches for the
best installed package that matches the given pkgpattern or else returns
the empty string.
Bump PKGTOOLS_REQD to 20030912 since pkg_admin(1) needs to know about "-b"
and "-d <dir>".
so compiler-dependent settings can be set later.
USE_GCC2 - GNU Compiler Collection 2.x (default)
USE_GCC3 - GNU Compiler Collection 3.x (used already)
USE_MIPSPRO - Silicon Graphics, Inc. MIPSpro Compiler
USE_SUNPRO - Sun Microsystems, Inc. WorkShop/Forte/Sun ONE Studio
Compiler Collection
(Intel compilers on Linux, anyone? :) )
is non-sensical. shuffle some definitions around to follow style of
other entries.
semi-related to a tr(1) bug observed by sommerfeld@ Solaris 10/i386.
to the linker to (not) extract all symbols from static archives and
export these variables to packages as {,NO_}WHOLE_ARCHIVE_FLAG.
these are not currently set for IRIX.
Makefiles simply need to use this value often, for better or for
worse.
(2) Create a new variable FIX_RPATH that lists variables that should
be cleansed of -R or -rpath values if ${_USE_RPATH} is "no". By
default, FIX_RPATH contains LIBS, X11_LDFLAGS, and LDFLAGS, and
additional variables may be appended from package Makefiles.
of relying on the shell's builtin pwd. This makes BUILD_DIR consistently
point to the correct directory regardless of the definition of SHELL. This
fixes elusive some buildlink2 errors due to the fact that BUILDLINK_DIR is
derived from BUILD_DIR and some paths were incorrectly being translated.
breaks too many users' /etc/mk.conf files that have a
.ifdef BSD_PKG_MK
# /usr/pkgsrc stuff
.else
# /usr/src stuff
.endif
structure. We'll think of another way to protect against multiple
inclusion of bsd.pkg.mk and bsd.prefs.mk.
Jeremy C. Reed on tech-pkg.
Even though bootstrap's bmake will do this at build-time, this ensures
that even older bmake's don't fail if a package checks it for == i386.
causes the shell environment to be discarded. This also discards
OBJMACHINE or OBJHOSTNAME, which causes WRKDIR_BASENAME to be different
between the "non-root" and "root" make targets and leads to the breakage
seen in pkg/18879 by Simon Burge. Fix this by saving the OBJHOSTNAME or
OBJMACHINE setting in MAKEFLAGS so that it is seen even after we "su -l" to
root.
inclusion of bsd.own.mk. This is to allow OBJECT_FMT to be set explicitly
in ${MAKECONF} (/etc/mk.conf) to override the setting in bsd.own.mk on the
older NetBSD systems.
a.out but are now ELF, in a way that's consistent with bsd.own.mk in
NetBSD-current. This, incidently, makes the gcc package build again on
NetBSD-1.5.3_ALPHA/i386.
using either the native pthread implementation or using a package pthread
implementation instead, e.g. pth, ptl2, mit-pthreads, etc. The only
currently supported package pthread implementation is pth as it's the only
one with a buildlink.mk file. An example usage is:
USE_PTHREAD= native pth
.include "../../mk/pthread.buildlink.mk"
or a fancier example is:
USE_PTHREAD= native
.include "../../mk/bsd.prefs.mk"
.if defined(PTHREAD_TYPE) && (${PTHREAD_TYPE} == "none")
CONFIGURE_ARGS+= --without-pthreads
.endif
.include "../../mk/pthread.buildlink.mk"
(even though that's still a bad idea), set USETOOLS=no explicitly before
including <bsd.own.mk>, and add this also to MAKE_ENV to make BSD-Makefile
based packages build properly.
lost.
However, modify previous change to let Darwin know about SHAREOWN,
SHAREGRP and SHAREMODE in a different way - no point in checking for
OPSYS here, since every OPSYS has to know about them.
This file is "included" automatically before <bsd.own.mk> includes
/etc/mk.conf, so that pkgsrc-wide default values are set.
It is now possible just to set values in mk.conf only where they differ
from the default, thereby easing the problems of updating mk.conf when
new values get added.
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.
a while back on tech-pkg. Note that these defaults will not be 100% accurate
as different machines with the same MACHINE_ARCH may have different serial
hardware. However the default serial device may then be overridden in /etc/mk.conf.
This should at least be better than what we had before ("all the world is i386").
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.
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), ...
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.
but calculated every time bsd.prefs.mk is read. Correct the
situation, and only calculate these when they are needed.
Also save a few more cycles by hardcoding the LOWER_OPSYS values for
known operating systems, rather than using expensive shell echo and tr
commands every time bsd.prefs.mk is read.
- Define OS_VERSION in bsd.prefs.mk (...if not already defined). Previously
was only set in a conditional block in bsd.pkg.mk.
- Define new values, MACHINE_PLATFORM and MACHINE_GNU_PLATFORM, which
default to ${OPSYS}-${OS_VERSION}-${MACHINE_ARCH} and
${LOWER_OPSYS}-${LOWER_VENDOR}-${LOWER_ARCH} respectively.
(Probably should nuke LOWER_ARCH and rename LOWER_VENDOR to something
like MACHINE_GNU_VENDOR.)
- Use ${MACHINE_GNU_PLATFORM} as the argument to `--host' in GNU_CONFIGURE
packages.
- Allow for ONLY_FOR_PLATFORM and NOT_FOR_PLATFORM, lists of patterns
in csh(1) glob style which are matched against MACHINE_PLATFORM above
and take the place of {ONLY,NOT}_FOR_{ARCHS,OPSYS}. (For now, until
all pkgs are converted, provide backwards compatibility.) *Both* may
be defined, in which case NOT_FOR_PLATFORM takes precedence.
- Also do some significant aesthetic cleanup, based on the idea
`define platform-specific overrides first, then define a generic case
with the ?= operator'. Lots more of this to do yet.
protect bsd.prefs.mk. Now there's no multiple inclusion of mk.conf,
clobbering variables modified between bsd.prefs.mk and bsd.pkg.mk, when
set with VARNAME=value.
- Let bsd.own.mk include mk.conf/MAKECONF; we don't need to do that
manually.
- Don't define BSD_PKG_MK or OPSYS in bsd.pkg.mk, as bsd.prefs.mk does
precisely that just a couple lines below.
the "cross" subdirectory. Defaults to ${LOCALBASE}/cross.
- PREFIX is not user settable. Do not conditionally set it such that
environment variables and mk.conf can override it. Issue an error if
PREFIX is attempted to be set from mk.conf, environment, or command line.
into one file, located in the pkgsrc tree. Thus one file simply needs
to be included before any .if* statements in the package Makefile,
rather than a large number of ad-hoc methods of doing this.