Commit graph

1276 commits

Author SHA1 Message Date
jlam
c5a96ee5fa Only run the tests if TEST_TARGET is non-empty. 2003-09-13 06:21:36 +00:00
jlam
5c377018fd In cases where we need the best match for a pkgpattern, use
"${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>".
2003-09-13 05:55:14 +00:00
jlam
073d9e24f9 Make the PERL5_* definitions sane in a pkgviews world. 2003-09-12 23:33:07 +00:00
grant
c934b0c4e0 start of improved compiler handling, mostly derived from the existing
gcc buildlink2.mk files and splitting the non-buildlink2.mk bits out
into compiler.mk.

this allows USE_GCC2 and USE_GCC3 to work with non-buildlink2 packages
again.
2003-09-12 13:03:38 +00:00
jlam
efc1b569dc Create two new variables:
DEFAULT_VIEW.${PKGBASE}      default view for ${PKGBASE}
VIEWBASE                     base location of files at run-time

The first is meant to be set by package Makefiles or in /etc/mk.conf, while
the latter is meant to read/used only.  VIEWBASE is either ${LOCALBASE} or
or ${LOCALBASE}/${DEFAULT_VIEW.${PKGBASE}} depending on whether the first
variable is the empty string or not.
2003-09-12 10:54:49 +00:00
jlam
b49af05cee Move the default settings for USE_BUILDLINK[23] from bsd.pkg.mk into
bsd.prefs.mk so that they may be tested/used in buildlink[23].mk files.
2003-09-12 10:49:28 +00:00
jlam
08c49aada0 Make adding config files to views other than the default view work if
PKG_SYSCONFBASE points outside of ${PREFIX}.
2003-09-12 05:15:03 +00:00
jmmv
00556183ea During print-PLIST, use PKGNAME_NOREV to search for matches, not PKGNAME
(though, keep the ${PKGNAME} replacement, as it contains the right value
in the PLIST).
2003-09-10 22:29:10 +00:00
jlam
059f36a8ff Create TEST_ENV variable that's initially just MAKE_ENV, but can be added
to by a package Makefile.  This is passed as the environment when running
the test target.  We often need this since packages can require setting
up LD_LIBRARY_PATH so that we can test before installation.
2003-09-10 02:20:50 +00:00
jlam
106a1602ee Update PKGTOOLS_REQD to 20030907. Critical fixes include making
"pkg_delete -O pkgname" actually remove file entries for pkgname from the
pkgdb.byfile.db database.  This makes FORCE_PKG_REGISTER work again (this
must have been broken for a long time).
2003-09-09 13:36:36 +00:00
jlam
42f190469c Check that the lockfile isn't stale from being left over across a system
reboot by testing whether or not /var/run/dmesg.boot is newer than it or
not.  Fix suggested by agc@NetBSD.org and simonb@NetBSD.org.
2003-09-09 11:00:30 +00:00
jlam
fb44146d81 Allow BUILD_VIEWS to be "yes" or "YES". 2003-09-08 01:13:02 +00:00
jlam
ea5ce961a5 We want to add consistently add to the default view if we use pkgviews
and pkg_add'ing.
2003-09-08 01:06:01 +00:00
jlam
834edb02e6 Move PKG_SYSCONFBASE definition into bsd.pkg.defaults.mk. This implies
that it's user-settable from /etc/mk.conf.
2003-09-06 11:39:29 +00:00
tron
20f7d53ff8 Remove "/pub" from pathnames on "ftp.fu-berlin.de" because such a directory
doesn't exist. It's apparently only mapped in the FTP server configuration.
2003-09-05 19:00:57 +00:00
jlam
134c40e5d9 "make deinstall" now tries to just delete this particular package first
before trying to delete all packages with the same PKGBASE.  This is better
semantics in a pkgviews world.
2003-09-05 15:00:10 +00:00
jlam
19fd2859c5 Package Makefiles should refer to PKG_SYSCONFBASEDIR instead of
PKG_SYSCONFBASE when they want PKG_SYSCONFDIR stripped of
PKG_SYSCONFSUBDIR.  This makes PKG_SYSCONFBASE=/etc work with pkgviews by
installing all config files into /etc/packages/<pkg> instead of
occasionally putting some directly into /etc.

Also only create PKG_SYSCONFDIR if we're actually going to copy config
files.
2003-09-05 11:34:25 +00:00
jlam
e8c411d422 Typo 2003-09-05 09:44:34 +00:00
jlam
68b09207ef Check that USE_BUILDLINK2 is defined before including buildlink2.mk files. 2003-09-05 09:44:01 +00:00
tron
9502649c28 The package vulnerability list is now called "pkg-vulnerabilities". 2003-09-03 15:05:43 +00:00
jlam
1c49c25658 Require 20030824 of the pkg_install tools to get the changes for using
pkg_add(1) on non-NetBSD (or more precisely, non-poll) systems.
2003-09-03 14:08:09 +00:00
jlam
1a2276974b Don't restrict the user to only the default view. Also allow user to
customize the default view through setting DEFAULT_VIEW in /etc/mk.conf.
2003-09-03 13:56:28 +00:00
seb
17d17139aa No need to substitute anymore for ${INSTALL_INFO} in PLIST. 2003-09-02 23:38:56 +00:00
seb
99cb24f981 Test for ${PREFIX} existence before mkdir'ing it.
This fix NO_MTREE installation on Solaris when ${PREFIX} already exists
and is a symlink.

Example:

# uname -sr
SunOS 5.9
# cd /tmp
# rm -f foo
# ln -s /etc foo
# /bin/mkdir -p /tmp/foo
mkdir: "/tmp/foo": Exists but is not a directory
#
2003-09-02 12:01:14 +00:00
jlam
841b57441b Merge pkgviews-mk branch into the HEAD by running:
cd pkgsrc/mk
	cvs update -Pd -A
	cvs update -Pd -j pkgviews-mk-base -j pkgviews-mk
2003-09-02 06:59:37 +00:00
wiz
893a275787 Add belnet and keihanna sourceforge mirrors; remove switch and osdn.
Addresses PR 22641.
2003-08-31 10:29:16 +00:00
jlam
9d564a4e5e Back out last revision since we modified bsd.pkg.install.mk to require
that {,DE}INSTALL_EXTRA_TMPL to be set if a package Makefile wants to use
them.
2003-08-30 22:57:05 +00:00
jlam
e19b751d03 Reorder the inclusion of bsd.pkg.install.mk so that it appears *before*
texinfo.mk.  This ensures that {,DE}INSTALL_EXTRA_TMPL isn't defined by
texinfo.mk before bsd.pkg.install.mk checks those variables.
2003-08-30 20:52:09 +00:00
jlam
e5462ca730 (*) Nuke the _BUILDLINK_SUBST_USE target now that subst.mk does the same
thing.

(*) Move the code to adjust Makefiles to refer to the correct
    PKGLOCALEDIR into bsd.pkg.mk and reimplement it using subst.mk so
    that it's non-USE_BUILDLINK2 packages can use it, too.

(*) Reimplement the PKGCONFIG_OVERRIDE code in bsd.pkg.mk using subst.mk.

(*) Reimplement the unbuildlink code in bsd.buildlink2.mk using subst.mk.
2003-08-27 11:29:56 +00:00
jlam
94036bc503 Forgot a USE_GMAKE => USE_GNU_TOOLS+=make. (from pkgviews-mk) 2003-08-27 01:01:25 +00:00
jlam
9fbdc941fe Create a symlink from the "make" requested by the package into
${TOOLS_DIR}/bin/make.  If a package wants GNU make, then it should
set:
	USE_GNU_TOOLS+=	make

in the package Makefile.  Allow for USE_GMAKE to continue to work
until we get a chance to sweep through pkgsrc and remove the usage
of this now-redundant variable.

This change allows us to avoid patching makefiles that use a bare
"make" command to invoke sub-make processes.  Idea suggested by
salo@netbsd.org in pkg/22509.
2003-08-26 20:15:23 +00:00
jlam
0d84a72afe Sanity check that the package is actually installed by running pkg_info(1)
before trying to create the binary package.  This makes:

	cd pkgsrc/category/foo
	make install
	pkg_delete foo
	make package

fail because package "foo" isn't actually installed, so no binary package
can be built.
2003-08-24 08:51:11 +00:00
grant
d309157197 add support for extracting binary/library requires/provides on Darwin,
and simplify the logic to reduce code duplication.

fixes PR pkg/22492 from Julien T. Letessier.
2003-08-23 09:11:19 +00:00
grant
3e632ea583 fix problem with shlib handling not being done on Darwin for
devel/gettext and other pkgs installing libraries ending in eg.
`x.y.z.so' rather than `.so.x.y.z'.

also fix off-by-one bug in shlib handling awk script causing the
first .so entry to not be commented out in the PLIST when it should
be.

ok'd by jlam.
2003-08-23 08:09:17 +00:00
jlam
f1ebe9c52b Fix a long-standing past-o that was harmless. 2003-08-23 03:57:49 +00:00
seb
c917496107 Use '${_PKG_SILENT}${_PKG_DEBUG}' instead of '@' (as seen on the pkgviews-mk
branch).
2003-08-22 22:04:03 +00:00
grant
e71e76a726 in check-shlibs, throw away warning from `type ldd' and only attempt
to run ldd if it is executable.

fixes bug where binaries just installed would be run (!) and the
install process possibly "hang" on Darwin because Darwin has no ldd!
2003-08-22 13:32:40 +00:00
jlam
ac0258dd3c Move the hide-tools portion of bsd.buildlink2.mk into tools.mk, and
put the tools in ${WRKDIR}/.tools/bin instead of in ${BUILDLINK_DIR},
and remove the need for buildlink2 to use USE_GNU_TOOLS.  In the
modified USE_GNU_TOOLS implementation, the following implementation-
specific variables have the following meanings:

_TOOLS_REPLACE.<tool>
        means that we want ${AWK}, ${SED}, etc. symlinked into
        ${TOOLS_DIR} as awk, sed, etc.

_TOOLS_NEED_GNU.<tool>
        means that we want to use the pkgsrc version of <tool>
        symlinked info ${TOOLS_DIR} as awk, sed, etc.  If this is
        "YES", then it always trumps _TOOLS_REPLACE.<tool>.

And we want nothing to happen if we're building the pkgsrc GNU tool
itself.  The modified USE_GNU_TOOLS implementation should also
hopefully fix the circular dependency problem.

Create a new target "tools" that is run after "patch" and before
"buildlink" that populates the ${TOOLS_DIR} directory.  This ensures
that it's always run at the right time, instead of relying on
pre-buildlink or pre-configure, which may be cancelled by
NO_BUILDLINK or NO_CONFIGURE.

XXX There is some possible fallout in texinfo.mk with the MAKE_ENV and
XXX CONFIGURE_ENV settings for INSTALL_INFO and MAKEINFO.  It looks
XXX like the MAKE_ENV and CONFIGURE_ENV settings should move from
XXX tools.mk into texinfo.mk, and they no longer need to be
XXX conditional on USE_BUILDLINK2.  I'll leave it to the texinfo.mk
XXX dude (Hi, Stoned!).
2003-08-16 08:50:17 +00:00
seb
ebd9436f7b Remove duplicate .PHONY. 2003-08-12 15:55:21 +00:00
seb
385805cf60 print-PLIST target change:
Make COMMON_DIRS generating an awk script instead of sed expressions hence
use awk instead of sed to deal with the mtree file.

This get ride of the annoying 'sed: Too many commands' message making
print-PLIST unusable with Solaris' seds.
2003-08-12 15:51:29 +00:00
seb
6baa7c1a79 As is clean-depends-list is subject to dependencies loops (uncovered
by the loops introduced by tools.mk) causing make failures.
But show-all-depends-dirs and show-all-depends-dirs-excl are not.
So use show-all-depends-dirs-excl in clean-depends target and remove
clean-depends-list altogether.
Besides this remove a bit of clutter and redundancy from this
already monstrous file.
2003-08-12 14:55:42 +00:00
agc
4770eca72e In the print-PLIST target, split the expressions fed to sed(1) into two
sets, so that this target will work on all native sed programs. The extra
invocation gets lost in amongst all the other sort, grep, sed, and awk
invocations that are there, and is a much more appealling prospect than
installing GNU sed.
2003-08-12 11:35:03 +00:00
seb
0d0e9d3ac1 USE_NEW_TEXINFO is now ubiquitous. Remove conditionals on it.
Also remove the older texinfo.mk framework as well as the previous
handling of INFO_FILES, all this is not used anymore.
2003-08-09 10:24:54 +00:00
agc
c382b01b46 Use saner values for PKGSRC_SHOW_BUILD_DEFS - make this switch on "yes"
or "YES", rather than a straight definition.
2003-08-08 12:04:40 +00:00
agc
60bc77fc38 Re-model the BUILD_DEFS display during build: if PKGSRC_SHOW_BUILD_DEFS is
defined, then show the BUILD_DEFS to the user. If not, then just keep quiet.

Whilst I'm here, re-indent the cpp-like .if/.else/.endif/.for/.endfor lines
properly.

Also, remove the ":u" modifier in the build-defs-message code - it's not
strictly necessary (duplicate definitions will be displayed, but this isn't
a major problem), and it removes the requirement to have a make(1) binary
which supports ":u".

This should fix PR 22402 from Alan Barrett, and also addresses some concerns
raised by Robert Elz.
2003-08-08 08:43:37 +00:00
agc
69f3ac9ea8 Introduce a PKGSRC_MESSAGE_RECIPIENTS, which takes the login names of
users to whom the MESSAGE file should be mailed at package
installation time, and mail the MESSAGE file at the "make install"
stage (if PKGSRC_MESSAGE_RECIPIENTS is not empty).

Inspired by PR 22328 from Jeremy Reed.
2003-08-07 16:14:05 +00:00
jmc
04f347260c Provide a new variable NO_EXPORT_CPP to further restrict CPP from getting into
MAKE_ENV. There is no effective way to unset CPP otherwise and there are
some packages (the cross compilers using gcc) where having CPP set will
break things.
2003-08-04 21:06:47 +00:00
wiz
febdd5a814 Move BUILD_DEFS check to pre-extract to avoid creating work directories in
the fetch step.
2003-08-02 13:17:05 +00:00
grant
850eaa604f handle platforms with broken tools in the base system, such as sed
and awk. as proposed on tech-pkg@, with some changes to set the
appropriate tool variables and handle OSs which provide GNU tools
in the base system (ie. do nothing).

this allows packages or users to force the use of pkgsrc GNU tools
when they are not present in the base system by defining e.g.
USE_GNU_TOOLS="awk sed".

Solaris' sed is marked as incompatible, as even the XPG4 sed is too
limited for a number of packages (especially large ones which use
libtool, as libtool calls blind 'sed'), so GNU sed is always used
on Solaris.
2003-08-02 03:46:34 +00:00
seb
16437cbe4c Make it possible to have a package requiring makeinfo but not install-info.
INFO_FILES is now defined by default to the empty value.
If it is not empty it means that install-info -or a suitable
replacement like pkg_install-info- is required.

USE_MAKEINFO is now defined by default to the 'no' value.
If it has any other value it means that makeinfo is required.
Note that as before simply defining USE_MAKEINFO in a package
Makefile is enough to trigger the use of makeinfo. I.e. it is not
required to be '[yY][eE][sS]'.

As a side effect when using buildlink2 always create install-info and
makeinfo wrappers in ${BUILDLINK_DIR}/bin. This could help
package maintainer to catch spurious/hidden install-info and makeinfo
usage.

Note that for now this nice feature is not really enabled as the relevant
part of bsd.buildlink2.mk is still conditional upon USE_NEW_TEXINFO.
It will really be when USE_NEW_TEXINFO will be removed from pkgsrc.
2003-07-31 13:50:11 +00:00