Commit Graph

46 Commits

Author SHA1 Message Date
cl 885c0b6fc9 ``build.sh -m xen-i386 release'' now builds a release for NetBSD/xen
for i386.  The resulting release consists of:
- NetBSD/xen for i386 kernel, loader and docuemntation
- NetBSD/i386 userland sets
2004-05-12 16:56:41 +00:00
lukem aa5498d450 makesrctars:
* Support '-x xsrcdir' to tar up xsrcdir as xsrc.tgz, with the
  contents of the tarfile being relative to xsrcdir and
  prefixed with 'usr/xsrc'
* Convert to getopts a la the other scripts in this directory

Makefile
* if ${MKX11} != no, call makesrctars with '-x ${X11SRCDIR}'
2004-04-20 06:36:34 +00:00
heas 27fdd34bb7 makeflist is .PRECIOUS, do not delete it if make is interrupted. 2004-03-06 16:12:06 +00:00
lukem 2e8d4db059 * Add "makesetfiles" target, to populate etc/mtree/set.* with maketars -S
* Some MAKEVERBOSE support.
* Add some variables to simplify various rules.
* Simply script startup by replacing ${SETSENV} with ${SETSCMD}, which
  cd's to ${.CURDIR} before doing the work.
2004-01-30 08:43:15 +00:00
lukem 79700b81fe Remove the set if maketars returns a non-zero exit code 2004-01-29 09:27:53 +00:00
lukem 0b419d3b93 * In installsets, pass ${MAKEFLIST_FLAGS} so that the X sets will also
be copied if MKX11 != no.
* Clean up .PHONY and my .PRECIOUS.
* Cosmetic tweaks.
2004-01-29 08:34:21 +00:00
lukem 399d0c9695 If MKX11 != no, invoke makeflist & checkflist with -b.
Use "makeflist -l" to determine MAKETARSETS

Use  sh -c '. ./sets.subr; echo $x11_version'  to implement print_x11_version.
2004-01-08 01:48:45 +00:00
jmc a481fc8f48 Simplify rules so tarfiles always attempt to rebuild (let maketars determine
whether or not to continue based on METALOG if it choses). Fixes bug where
tar files were rebuilding every other time
2003-12-29 04:46:18 +00:00
lukem b852db83fb Significant overhaul of how the sets are used:
* Add an optional third field to the sets file which is a list of
  comma separated keywords that control if the line is printed.
  Currently supported keywords
	kerberos4	${MKKERBEROS4} != no
	kerberos	${MKKERBEROS} != no
	lint		${MKLINT} != no
	obsolete	${obsolete} != 0.
			In this case, non obsolete files are not printed.
  (This will allow future support for builds with variables such as
  MKHESIOD and MKYP set to "no".)

* Use sh(1)'s getopts where appropriate, and otherwise cleanup the
  various scripts.

* Move defaults for sets.subr from sets.defaults into sets.subr.
  Move replicated code for determining stuff such as shlibs type
  from various scripts into sets.subr.

* Merge the obsolete.*, krb.*, krb4.* and lint.* into the appropriate
  main lists with the relevant third field keyword(s).
2003-12-29 03:13:25 +00:00
jmc 0a2cc9c412 Add a .ORDER so the checksums come out in the proper sequence. 2003-12-28 09:27:41 +00:00
jmc 50333acbf4 Nuke the sets before building to make sure the original behavior of makesets
rebuilding all sets is preserved.
2003-12-26 06:20:40 +00:00
jmc 5ebbfc359b Forgot that makesums creates the checksum files anew each time it's run. Save
outputs from each step and concat into place when done.
2003-12-22 04:56:53 +00:00
dsl 5a8b5dea23 Don't require '.' in PATH for sets.default 2003-12-20 17:08:32 +00:00
jmc 62fcaffaa9 Redo creation of sets/sums so this can be parallelized if using -j.
Suggested in PR#20115 and PR#20116
2003-12-19 22:25:53 +00:00
lukem 312f747986 Invoke ./checkflist with ${CHECKFLIST_FLAGS}, so that the end-user
can set CHECKFLIST_FLAGS="-e" in mk.conf so that extra files in
$DESTDIR are `non fatal'.

Remove unused '${CHECKFLISTFLAGS}' (which allowed selection of
different checkflist target in maketars target)
2003-09-30 06:26:37 +00:00
lukem 02ec5b66b9 add MKTEMP=${TOOL_MKTEMP:Q} to SETSENV 2003-09-30 04:58:20 +00:00
tron b02749036c Fix sets handling so that GCC specific lists are really used. 2003-09-21 19:26:02 +00:00
mrg 9347d6de64 add initial support for gcc3 2003-08-04 05:53:20 +00:00
mrg 11569a7f9b support XF4 on sparc. had to move parts of x{base,comp}4/mi into the
relevant ports as they do not apply to sparc (or other non-"hw/xfree86"
ports.)
2003-07-22 11:46:52 +00:00
lukem f134f3dc38 Add MKUNPRIVED; if not no has the same semantics as if UNPRIVED was defined.
Replace defined(UNPRIVED) tests with ${MKUNPRIVED} != "no"

Add MKUPDATE; if not no has the same semantics as if UPDATE was defined.
Replace defined(UPDATE) tests with ${MKUPDATE} != "no"

Improve documentation for these and other make flags.
2003-07-18 08:26:01 +00:00
lukem 001c68bd94 Rename a large chunk of the make(1) variables which refer to a
program/tool from "FOO" to "TOOL_FOO".  The new variables are:
	TOOL_ASN1_COMPILE  TOOL_CAP_MKDB  TOOL_CAT  TOOL_CKSUM  TOOL_COMPILE_ET
	TOOL_CONFIG  TOOL_CRUNCHGEN  TOOL_CTAGS  TOOL_DB  TOOL_EQN  TOOL_FGEN
	TOOL_GENCAT  TOOL_GROFF  TOOL_HEXDUMP  TOOL_INDXBIB  TOOL_INSTALLBOOT
	TOOL_INSTALL_INFO  TOOL_M4  TOOL_MAKEFS  TOOL_MAKEINFO  TOOL_MAKEWHATIS
	TOOL_MDSETIMAGE  TOOL_MENUC  TOOL_MKCSMAPPER  TOOL_MKESDB
	TOOL_MKLOCALE  TOOL_MKMAGIC  TOOL_MKTEMP  TOOL_MSGC  TOOL_MTREE
	TOOL_PAX  TOOL_PIC  TOOL_PREPMKBOOTIMAGE  TOOL_PWD_MKDB  TOOL_REFER
	TOOL_ROFF_ASCII  TOOL_ROFF_DVI  TOOL_ROFF_HTML  TOOL_ROFF_PS
	TOOL_ROFF_RAW  TOOL_RPCGEN  TOOL_SOELIM  TOOL_SUNLABEL  TOOL_TBL
	TOOL_UUDECODE  TOOL_VGRIND  TOOL_ZIC

For each, provide default in <bsd.sys.mk> of the form:
	TOOL_FOO?=	foo
and for the ${USETOOLS}=="yes" case in <bsd.own.mk>, provide override:
	TOOL_FOO=	${TOOLDIR}/bin/${_TOOL_PREFIX}foo

Document all of these in bsd.README.

This cleans up a chunk of potential (and actual) namespace collision
within our build infrastructure, as well as improves consistency in
the share/mk documentation and provision of appropriate defaults for
each of these variables.
2003-07-10 10:33:58 +00:00
lukem c5fa449210 - add makesrctars and sourcesets targets (latter just invokes former)
- use ${HOST_SH} instead of sh
2003-05-10 06:08:12 +00:00
lukem 4b3798a679 In "sets" target, ensure ${RELEASEDIR}/${MACHINE}/binary/sets exists.
Fixes [toolchain/20120] from Lubomir Sedlacik.
2003-01-30 12:16:18 +00:00
veego 3b63e47464 Check if DESTDIR is defined before checking for non empty DESTDIR 2003-01-12 18:51:26 +00:00
lukem a250e57c96 Install release files under "${RELEASEDIR}/${MACHINE}/..." instead of
"${RELEASEDIR}/...".

${RELEASEDIR} is never cleaned , and ${RELEASEDIR}/${MACHINE} is only
cleaned if UPDATE is not defined.
2003-01-03 15:34:30 +00:00
lukem a4a6515a36 Always call maketars (and subsequently pax) with -N ${NETBSDSRCDIR}/etc,
so that we always use the user & group databases from there rather than
the host systems.
2002-12-19 12:33:10 +00:00
lukem e629b6c337 maketars:
- add "-N etcdir", to be used for pax & mtree -N.  defaults to ${DESTDIR}/etc

Makefile:
- if UNPRIVED, call maketars with "-N ${NETBSDSRCDIR}/etc", so that
  "make UNPRIVED= DESTDIR=/foo installsets" can work with an empty
  ${DESTDIR}/etc. (i.e, after a make build without install-etc-files)
2002-12-19 06:21:45 +00:00
lukem e00ddd7131 If ${DESTDIR}="", ensure `maketars -d ...' is called with an argument ("/").
Fixes problem noted by simonb@
2002-12-16 00:30:39 +00:00
lukem d5e024c747 Add "installsets" target, which copies the sets ${INSTALLSETS} from
${DESTDIR} into ${INSTALLDIR}.
INSTALLDIR is mandatory.
INSTALLSETS is optional, and if its not given, the following sets are used:
	base comp games man misc text
2002-12-12 08:54:25 +00:00
lukem 94989d34ca switch from checking USE_NEW_TOOLCHAIN == yes to TOOLCHAIN_MISSING != yes,
and don't bother with tc.old any more
2002-09-19 22:04:34 +00:00
lukem dc4928f26f checkflist:
- add "-M metalog".  if metalog starts with "${DESTDIR}/", it
	  will be skipped in the flist check, to prevent unnecessary
	  warnings about extraneous ./METALOG
	- if the diff returned a non-zero exit code, print a warning message,
	  and for the default diff output, print a blurb describing the
	  meaning of the output.

Makefile:
	- call checkflist with "-M ${METALOG}" if UNPRIVED
	- run "${MAKE} checkflist" if ${DESTDIR} != ""

 NOTE:	this change will prevent maketars from running if the
	sets lists are out of date.  This is intentional.
	Better to fail than to build tar files with missing files.
2002-07-09 16:08:38 +00:00
lukem ed8e534c7e yet another distrib overhaul:
- move guts of distrib/Makefile.inc to distrib/common/Makefile.distrib
  (fixes problem caused by implicit include of ../Makefile.inc in certain
  submake conditions triggered by makefiles not yet in tree)
- removed mkdir of ${RELEASEDIR}/*;  rely upon "snap_pre" target of
  etc/Makefile to create all the release directories
- renamed RELINSTALL to RELEASE_INSTALL
- renamed FLOPPYINSTDIR to FLOPPY_RELEASEDIR
- renamed MDSETDIR to MDSET_RELEASEDIR
- removed ITARGET
- move release target from top level to appropriate subdirectory
- ensure release target has correct depends
- replace miniroot's IMAGE_MD_POST with common/Makefile.image IMAGEPOSTBUILD
- Makefile.image: add realall: ${IMAGE}
2002-05-02 18:02:14 +00:00
sommerfeld dbe42df9af Insert .WAIT between maketars and makesums in sets: dependancy.
An explicit makesums: maketars dependancy was not used because a
release engineer might want to regenerate the sums only and not the
tarballs; there's no explicit dependancy tracking here or elsewhere
between the input files and the output tarballs so everything gets
rebuild always.

XXX The existing "maketars" script is also not friendly to parallel
builds -- all of the sets files should be visible to the makefile so
they can be built in parallel.
2002-04-29 05:02:57 +00:00
lukem 9e5598221a replace _SRC_TOP_ with NETBSDSRCDIR, since the latter is the "public" version 2002-04-26 15:50:21 +00:00
lukem c05d3b41d1 call maketars with ${MAKETARSETS}; if empty (default), all sets are built 2002-04-13 12:38:31 +00:00
lukem 501746db1f use ${MAKESUMS} from ../Makefile.inc 2002-04-11 06:11:10 +00:00
bjh21 85a0df2127 Remove a spurious crypto-related comment that should have gone long ago. 2002-03-31 15:49:58 +00:00
bjh21 080ea4721e Set CKSUM in the environment when calling makesums. 2002-03-31 15:49:20 +00:00
lukem 6cc7ab3543 Pull in <bsd.sys.mk> so that defaults for $PAX, $MTREE (etc) are
provided, which is required for USETOOLS=no because <bsd.own.mk>
doesn't set those in that case.  Should fix [toolchain/16009]
2002-03-22 23:15:32 +00:00
lukem 4b99ad4ad4 provide check_DESTDIR and check_RELEASEDIR targets in <bsd.own.mk>
and use those rather than local versions
2002-03-05 03:51:21 +00:00
lukem c71e0408fb Fixes to allow unprivileged building of the binary tar files to
contain the correct permissions.

Makefile:
- set SETSENV to the list of variables we wish to pass to each shell
  script and use that, rather than duplicating the effort below
- call maketars with "-M ${METALOG}" if UNPRIVED is set.

getdirs.awk:
- takes a list of filenames and outputs the list along with all the
  directories used by those filenames

maketars:
- support "-M metalog"
- merge etc/mtree/NetBSD.dist with the "-M metalog" for use in the tgz build
- for a given set, find the union between the set list and the metalog
  generated above and use that as the list of files to ${PAX} up as the
  tgz file.
2002-02-27 10:51:47 +00:00
tron 24a6d142c3 First step of supporting XFree86 4.x binary sets:
- Recognize version dependent X11 lists files.
- Move all files which only belong to XFree86 3.3.6 in lists for version 3.
2002-02-11 16:23:17 +00:00
mrg 4ea659d3c8 add a checkflist-x11 target 2002-01-01 07:59:32 +00:00
thorpej b98949efa8 Use the logic in bsd.own.mk to figure out the toolchain format,
and to convert MACHINE_ARCH to a CPU.  Make this cross-build
friendly by specifying MACHINE, MACHINE_ARCH, and MAKE in the
makeflist/checkflist environment.
2001-11-24 02:54:50 +00:00
thorpej e7d6b96938 Merge a bunch of things from crypto-us and crypto-intl into basesrc,
adding support for Heimdal/KTH Kerberos where easy to do so.  Eliminate
bsd.crypto.mk.

There is still a bunch more work to do, but crypto is now more-or-less
fully merged into the base NetBSD distribution.
2000-06-20 06:00:24 +00:00
thorpej 5c4ddfff99 Make doing a few things here (e.g. checkflist) a little easier. This
determines which crypto set to build based on <bsd.crypto.mk> and invokes
the programs with the various correct options.

Not complete yet, but a good starting point for a few things, and a little
more flexible than the method used in the release: target in etc/Makefile.
2000-03-28 00:38:06 +00:00