Commit graph

220 commits

Author SHA1 Message Date
minskim
5f391d7eae Set LOWER_OPSYS_VERSUFFIX on Darwin. 2006-03-08 01:56:46 +00:00
joerg
3152d1d992 Don't include define lower opsys version for the host name, e.g. use
i386-pc-dragonflybsd instead of i386-pc-dragonflybsd1. Saves a few
forks and execs and makes DragonFly more homogenous with NetBSD.
2006-02-02 13:46:37 +00:00
joerg
80a031e2e2 Remove branch tag from DragonFly version, so that OS_VERSION matches
autoconf's normalisation.
2006-01-12 14:57:19 +00:00
markd
f62733a6ab X11BASE defaults to /usr/openwin on Solaris, but only when using the
native X11_TYPE.  Allow X11BASE to default correctly on Solaris when
X11_TYPE= XFree86 or xorg.
2005-12-29 21:18:11 +00:00
abs
ad6b3c049a Set PATH if not already set at the top of bsd.prefs.mk, just before
using it in a test to set _MAKE. With this change pkgsrc works on
NetBSD/i386 3.0 to build with an empty environment (env -i sh).
Tested with my ~100 favourite server packages. Does not affect
the case when PATH is already set. To have a per OPSYS default path
the include of platform/${OPSYS}.mk will probably need to be at
the top of bsd.prefs.mk - arguably it should be there already.

There are bound to be assumptions made by some packages which will
be broken by an empty env, but the bulk of pkgsrc and in particular
the infrastructure works fine.
2005-12-28 01:00:46 +00:00
rillig
999f8b6e04 Applied all quoting fixes found by "pkglint --autofix". 2005-12-05 22:07:07 +00:00
wiz
9276068400 Remove handling for obsolete USE_SOCKS variable. 2005-12-02 17:08:49 +00:00
rillig
8aa9fa14c2 Prefixed the definitions for the pkgtools with ${SETENV}. Now it is
possible to use these commands in shell programs by assigning the output
of `make show-var VARNAME=PKG_DELETE` to a shell variable.
2005-11-28 21:46:47 +00:00
rillig
540fef101e Properly quote _PKG_DBDIR. 2005-11-24 13:24:10 +00:00
erh
4d2fdd7bd5 Per request, back out all the SKIP_AUDIT_PACKAGES changes.
bsd.pkg.mk:1.1758-1.1752
bsd.prefs.mk:1.210
bulk/build:1.79
defaults/mk.conf:1.93-1.92
2005-11-23 18:27:13 +00:00
erh
e2097e6bcd Improve the handling of allowed vulnerabilities. Instead of the single
ALLOW_VULNERABLE_PACKAGES settings that applies to all packages, there can
now be per-package lists of allowed vulnerability ids:
	ALLOW_VULNERABILITIES.<pkgname>=<space separated list of vulnids>

To avoid duplication of code, audit-packages is now used to do these checks.
It can be skipped altogether by setting:
	SKIP_AUDIT_PACKAGES=yes
2005-11-16 20:59:22 +00:00
rillig
5fece5854d Removed trailing white-space. 2005-11-14 04:50:47 +00:00
rillig
7f106c7742 Reverted the change that moved the definition of MANINSTALL from mk.conf to
bsd.prefs.mk. Alistair has told me that Stoned had told him that MANINSTALL
actually belongs to mk.conf.
2005-11-13 17:40:00 +00:00
rillig
4eb7af486d Moved default definition of MANINSTALL from defaults/mk.conf to
bsd.prefs.mk, as it is not intended to be set in mk.conf.
2005-11-10 09:55:21 +00:00
rillig
8d26906833 Moved the PKG_INSTALLATION_TYPES variable from defaults/mk.conf to
bsd.prefs.mk as it is not intended to be set in mk.conf.
2005-11-10 09:48:04 +00:00
rillig
ea2aee6dc0 Added a comment that <bsd.own.mk> includes MAKECONF or /etc/mk.conf, so
that a "grep -wr mk\\.conf" will show the user where to find more
information.
2005-11-10 09:09:26 +00:00
reed
86b4fbf60c Moved the X11ROOT_PREFIX and X11BASE setting to mk/bsd.prefs.mk;
removed from mk/defaults/mk.conf.

This was needed in parts of tests of allowing a platform/${OPSYS}.mk
define is X11_TYPE.
2005-11-09 01:06:48 +00:00
tv
b1d81c0a17 Abstract [LOWER_]OS_VERSION into a ${...:sh} construct, so that other OS
blocks can override it without running the commands at all.

Move Interix [LOWER_]OS_VERSION speedup hack into bsd.prefs.mk, since it
must happen early at runtime.

While here, speed up the OS_VERSION calculation slightly for OSF1.
2005-11-01 16:30:05 +00:00
tv
14c2d04bdd Sort OPSYS pre-<sys.mk> settings section by OPSYS name. 2005-11-01 16:18:33 +00:00
tv
29a4895c65 Shorten the GNU_ARCH list by using a fallthrough variable expression
for MACHINE_GNU_ARCH.
2005-11-01 16:11:16 +00:00
dillo
c8597fd2b5 Don't add inet6 to PKG_DEFAULT_OPTIONS, it is a user settable
variable.  mk/defaults/obsolete.mk takes care of converting USE_INET6
to inet6 option.  Bug noted by schmonz.
2005-08-16 19:55:38 +00:00
wiz
5f42cf4ff3 Start documenting variables. 2005-07-28 13:07:17 +00:00
jlam
6af048ffa5 Don't bother defining a temporary _PKGSRC_USE_TOOLS variable that doesn't
actually increase readability by much.
2005-07-19 22:31:01 +00:00
jlam
b563e8eb9b There is still one small but important distinction between some of the
tools listed in USE_TOOLS -- some of them are required by the pkgsrc
infrastructure in variable assignment statements that look like:

    VARIABLE!=	${AWK} ...

These tools are actually *required* by pkgsrc to be installed on the
system before it can even work (bootstrap situation).  For these tools,
only override the "TOOL" name representing the tool if we're really
using the pkgsrc version of the tool.

We accomplish this by adding a new :pkgsrc modifier that is appended
to these tools listed in USE_TOOLS.  We also list these tools in
bsd.prefs.mk so that all packages pick them up fairly early on.
2005-07-16 22:33:18 +00:00
jlam
bf9129c41e Drop distinction between PKGSRC_USE_TOOLS and USE_TOOLS by making
PKGSRC_USE_TOOLS go away.  There is now only a single USE_TOOLS variable
that specifies all of the tools we need to build/run the package.
2005-07-15 18:27:48 +00:00
jlam
33a4d9397c Require xpkgwedge>=1.13 when used as a build dependency so that the
correct make(1) program is invoked by pkgxmkmf.
2005-06-14 07:25:24 +00:00
jlam
a72cd1c453 Include bsd.makevars.mk in bsd.prefs.mk instead of bsd.pkg.mk. This
allows the saved make variables to be re-set whenever bsd.prefs.mk is
included, and is a shortcut for the common case where a Makefile
includes both.
2005-06-01 17:05:19 +00:00
jlam
9f94b112f0 Remove the old tools framework and references to _USE_NEW_TOOLS. 2005-05-22 19:11:12 +00:00
rillig
d278d86d01 Replaced .ifdef with .if defined() and .ifnded with .if !defined(). This
will allow better error checking.
2005-05-14 01:51:52 +00:00
jlam
1c0da3d742 Make _USE_NEW_TOOLS default to "yes" to turn on using the new tools
framework.  This has been tested by successfully building a meta-package
that pulled in 81 dependencies during the installation.
2005-05-13 17:22:43 +00:00
jlam
dfb5ed0037 Make a distinction between the tools that pkgsrc needs and the tools
that a package needs.  Tools that pkgsrc needs are listed in
PKGSRC_USE_TOOLS, and tools that a package needs on top of that are
listed in USE_TOOLS.

Define "TOOL" variables, e.g. SED, AWK, MKDIR, etc.  for each of the
tools that pkgsrc needs, and "TOOLS_TOOL" variables, e.g.  TOOLS_SED,
TOOLS_AWK, TOOLS_MKDIR, etc. for each of the tools that a package
needs.  These variables contain the full command line to the real
command and arguments needed to invoke the tool.
2005-05-10 19:06:58 +00:00
jlam
03e9337879 Teach bsd.pkg.mk to create a phase-specific "makevars.mk" file that
caches variable definitions that were computed by make.  These variables
are specified by listing them in MAKE_VARS, e.g.,

	.if !defined(FOO)
	FOO!=	very_time_consuming_command
	.endif
	MAKE_VARS+=	FOO

bsd.pkg.mk will include only the one generated during the most recent
phase.  A particular phase's makevars.mk file consists of variable
definitions that are a superset of all of the ones produced in previous
phases of the build.

The caching is useful because bsd.pkg.mk invokes make recursively,
which in the example above has the potential to run the very time-consuming
command each time unless we cause FOO to be defined for the sub-make
processes.  We don't cache via MAKE_FLAGS because MAKE_FLAGS isn't
consistently applied to every invocation of make, and also because
MAKE_FLAGS can overflow the maximum length of a make variable very
quickly if we add many values to it.

One important and desirable property of variables cached via MAKE_VARS
is that they only apply to the current package, and not to any
dependencies whose builds may have been triggered by the current
package.

The makevars.mk files are generated by new targets fetch-vars,
extract-vars, patch-vars, etc., and these targets are built during
the corresponding real-* target to ensure that they are being invoked
with PKG_PHASE set to the proper value.

Also, remove the variables cache file that bsd.wrapper.mk was generating
since the new makevars.mk files provide the same functionality at a
higher level.  Change all WRAPPER_VARS definitions that were used by
the old wrapper-phase cache file into MAKE_VARS definitions.
2005-05-09 05:06:55 +00:00
jlam
b26519d8a4 * Push the imake- and xmkmf-handling into the new tools framework.
* Get rid of an explicit check for ${_IMAKE_MAKE} == ${GMAKE} in
  bsd.pkg.mk to check for whether we need to depend on gmake or not.
  Instead, we now note in Linux.mk that packages that need imake will
  also need to use gmake by setting _IMAKE_TOOLS+=gmake.

* Push the definition of MAKE_PROGRAM from bsd.pkg.mk into make.mk where
  it's closer to related code.
2005-05-02 21:10:02 +00:00
jlam
44aa477d54 Remove the need for ${FIND} in the top-level make. 2005-05-02 05:16:21 +00:00
jlam
60da9f8bc9 net/qmail has been taught to not need expr and wc in the top-level make. 2005-04-30 15:07:57 +00:00
jlam
c368f44eea Split replace.mk into two parts, one of which is included by bsd.prefs.mk
to provide "TOOL" definitions for tools used by a top-level make process
(usually because it uses them in a != variable definition).  This allows
USE_TOOLS to be defined before bsd.prefs.mk is included by a package
Makefile, where USE_TOOLS lists the additional (non-default) tools that
are required to build the package.

Also, drop the fallback to existing "TOOL" definitions because we now
have TOOLS_PLATFORM.* for each platform in pkgsr/mk/tools/tools.*.mk.
2005-04-30 04:35:54 +00:00
tv
b84f322557 Per discussion on tech-pkg, use USE_X11 (not USE_IMAKE) to add X11BASE/bin;
and put LOCALBASE/bin later in the variable (so it shows up *earlier* in
the resultant $PATH).
2005-04-08 20:11:53 +00:00
tv
fe3c1321bf USE_BUILDLINK3 is no longer optional (and cannot be turned off). Per mail
to tech-pkg:

=====

* USE_BUILDLINK3=YES will be unconditional.  (In fact, USE_BUILDLINK3 will
  be ignored altogether by mk/; but see below.)

* NO_BUILDLINK and NO_WRAPPER will be ignored by mk/.  If a build happens,
  these phases will happen.

* The existing NO_BUILD will imply the previous NO_BUILDLINK and NO_WRAPPER.
  If no build happens, those phases are not needed.

* NO_TOOLS will be ignored by mk/.  The tools phase, which provides much
  more than just the C compiler, will always happen regardless of package.
  This will make metapackage builds only slightly slower, in trade for far
  less user error.
2005-03-24 17:46:00 +00:00
grant
0fe4c2184a define GNU_ARCH for rs6000 and set OBJECT_FMT correctly for AIX. 2005-02-19 01:28:14 +00:00
grant
581576f963 add bits for AIX to correctly set MACHINE_ARCH and OS_VERSION, so that
MACHINE_GNU_PLATFORM is set to something sane. tested with AIX 4.3.3
and 5.1.
2005-02-17 07:11:59 +00:00
tv
4b3f94acc8 Migrate several USE_* logic blocks, previously sprinkled liberally
throughout bsd.pkg.mk, to labelled blocks in bsd.pkg.use.mk.
2005-02-11 16:11:36 +00:00
tv
974ce33409 Cleanup: wrapper-defs.mk is no longer optional; remove its conditional.
(...and if it were optional, it should have been an .sinclude anyway.)

Sanity: If mk/platform/${OPSYS}.mk is missing, don't assume NetBSD is it.
pkgsrc now depends on a valid platform file for an OS, so require it.
(Still includes NetBSD.mk, but sets PKG_FAIL_REASON.)
2005-01-27 04:16:47 +00:00
tv
bcce274c8b Move the PREPEND_PATH for LOCALBASE/bin (and optionally X11BASE/bin) to a
spot that will come before compiler.mk (in bsd.prefs.mk).  Previously,
LOCALBASE/bin was appearing earlier in the path than work/.<compiler>/bin,
which could cause the Wrong Thing to happen.
2005-01-27 04:05:08 +00:00
grant
919cb8bddb add framework support for Tru64 and the Compaq C compiler.
patches provided by Tobias Nygren <tnn at netilium dot org> with
minor changes by me.
2004-11-20 04:37:08 +00:00
wiz
e8cb326b9f Add DragonFlyBSD support, provided by Todd Willey on tech-pkg. 2004-10-31 22:05:02 +00:00
martti
827682d60f Added missing / 2004-10-20 05:42:55 +00:00
ben
056dbbb3f1 Translate MACHINE_ARCH and LOWER_ARCH from ppc to powerpc in the case of
Linux, to be more consistent with other platforms.
2004-10-19 23:16:47 +00:00
jlam
b74c7e3473 Make PKGSRCDIR a read-only value. This avoids problems where the user
decides to set PKGSRCDIR to a relative path as seen in several old PRs
and which prompted the original switch to make PKGSRCDIR private in
revision 1.881 of bsd.pkg.mk.
2004-10-07 13:42:26 +00:00
jlam
0f9ae0638a Remove _PKGSRCDIR now that we have PKGSRCDIR (as per previous commit). 2004-10-07 03:03:09 +00:00
jlam
17c3aafac1 * Make PKGSRC_TOPDIR a private variable by renaming it to _PKGSRC_TOPDIR,
as it's only used internally by bsd.prefs.mk.

* Make _PKGSRCDIR a public variable by renaming it to PKGSRCDIR.
  Also, generate its value from ${_PKGSRC_TOPDIR} so it's less fragile
  than the old method of stripping off the last two components of
  ${.CURDIR}.  PKGSRCDIR may now be used after bsd.prefs.mk is defined.

* Change all references to _PKGSRCDIR to PKGSRCDIR.
2004-10-07 02:01:37 +00:00