Commit Graph

256 Commits

Author SHA1 Message Date
dsl a276117721 Optimise DISTRIBUTION_DONE= KERNELS_DONE= nbmake snapshot
- If DISTRIBUTION_DONE is defined, don't add the 'root' directory to METALOG.
  (maybe install -M shouldn't write to the METALOG file if it doesn't install
  the file either)
- Don't re-compress the kernels if the compressed file is newer than the
  kernel.
Useful if all you want to do is rebuild the ramdisk image.
2003-08-22 19:03:03 +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 eaaa8e8699 Invoke makeobsolete with ${HOST_SH} and pass in ${MAKE}.
Fixes FreeBSD cross-build problem noted by Valeriy E. Ushakov <uwe@>
2003-06-08 23:49:21 +00:00
lukem 6087671da1 * Always include <bsd.endian.mk>, and include it much earlier so that
it's available for the MD etc.${MACHINE}/Makefile.inc
* Set PWD_MKDB_ENDIAN to the cap_mkdb(8) endian flag, rather than
  overriding TARGET_ENDIANNESS.
2003-05-18 08:28:05 +00:00
thorpej 3449ccac0f Install powerd(8) scripts when installing etc files. 2003-04-18 05:41:47 +00:00
perry c85da95565 For consistency and simplicity, move the default location for cron logs
from /var/cron/log to /var/log/cron
2003-04-02 14:38:26 +00:00
jdolecek 2a74d10407 atc uses /var/games/atc_score, not atc_scores
Problem pointed out and fix supplied in PR install/20709 by Kazuhito Tsuburaya
2003-03-15 08:44:16 +00:00
lukem 7dbfbdf511 - rename 'iso-image_*' -> 'iso-image-*'
- run MAKESUMS in iso-image, *after* the MD iso-image-md-post has run,
  since the latter might actually modify the generated image...
2003-03-08 00:22:29 +00:00
lukem 4f6381b784 all:
Use /var/db/obsolete instead of /etc/obsolete

etc/Makefile:
	Create separate target "install-obsolete-files" to populate
	/var/db/obsolete, instead of using "install-etc-files".

Makefile:
	Add do-obsolete target, to run "cd etc && make install-obsolete-files",
	and add this to BUILDTARGETS.
	This moves the "obsolete files" creation from "distribution" to "build".


Per discussion with Andrew Brown.
2003-02-22 03:20:45 +00:00
lukem 5c198ab018 etc/postinstall
*	Improve message display in find_file_in_dirlist()
    *	do_obsolete(): instead of running distrib/sets/makeobsolete to
	temporarily generate the obsolete sets lists, look for them in
	${SRC_DIR}/etc/obsolete/* or ${DEST_DIR}/etc/obsolete/*.
	The obsolete check now works for "extracted etc.tgz" as the source dir.

etc/Makefile (install-etc-files), distrib/sets/lists/*
    *	Install obsolete set lists into /etc/obsolete/
    *	Tweak how pwd_mkdb files are added to METALOG

distrib/sets/makeobsolete
    *	Don't bother with "_obsolete" suffix on generated file names.
2003-02-20 11:40:28 +00:00
lukem ed45489d27 be more obvious about the requirement on mkisofs 2.0 2003-02-16 00:22:37 +00:00
mrg b83a08e1ff allow NO_SENDMAIL to equal "no" 2003-01-09 16:57:45 +00:00
lukem bc4b0716ee Missed a 'cd ${.CURDIR}' when adding the OBJDIR support here,
causing "make distribution" to fail on "install-etc-files".
(oops!)
2003-01-06 14:47:28 +00:00
lukem 7b4296a270 - Enable OBJ support for etc/; a scratch dir is needed for iso-image.
- Add ${.CURDIR} to various rules.
- Remove the ${KERNOBJDIR} (sys/arch/${MACHINE}/compile) objdir creation
  from here.
- Rework iso-image to copy temporary files (such as kernels or boot files)
  into a temporary directory instead of stomping over ${RELEASEDIR}, and
  use mkisofs -graft-points to merge the temporary directory and
  ${RELEASEDIR}/${MACHINE}.
	NOTE: mkisofs 2.0 is highly recommended for functioning -graft-points
- Add some more comments
2003-01-04 15:49:29 +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 cdee7cbdf4 Don't remove ${RELEASEDIR} if UPDATE is defined. 2003-01-03 14:27:54 +00:00
lukem 144b55005f Rework METALOG manipulation:
- add '-D ${DESTDIR}' to INSTPRIV, so install(8) removes the leading
  ${DESTDIR} from the metalogged path
- provide ${METADB.add} variable (for "${CAT} -l >> ${METALOG}"), to make
  it easier to replace manual metalog manipulation in the future.
- with manual metalog additions, don't add the leading ${DESTDIR} in the path
- in maketars, use "mtree -C ..." instead of
  "mtree -D ... | sed -e 's,\(.*\) \(\..*\),\2 \1,";

Benefits:
- maketars "Parsing METALOG" step speeds up from 29 seconds to 1.2 seconds
  on a P3-600.
  (This also benefits "make installworld" at the top level.)
- ${DESTDIR}/METALOG is easier to read without the leading "${DESTDIR}"
  on all the pathnames, and it's smaller as well.
2002-12-23 06:52:48 +00:00
lukem d9aa9519e8 Invoke ${PAX} with '-O' so that various errors don't hang the make
or the command with an interactive question.  (This also prevents
weird problems if a directory element of '-f path' is missing and
'make -j N' is being used).
2002-12-21 15:54:48 +00:00
lukem 9dac6e17e3 Remove /sys -> /usr/src/sys symlink. 2002-12-19 23:04:26 +00:00
jdolecek 67705b22ff use single minimal default disktab file for most archs, replacing
MD disktab where possible (everything but vax)
the MD disktab was often either empty, or contained entries even for disks
which support geometry autodetection (SCSI), and/or non-interesting/long
obsolete entries

the old records are still available in example disktab in
/usr/share/examples/disktab/disktab in case anyone would need them
2002-12-19 20:03:46 +00:00
lukem 9f5d4466a9 Always invoke mtree & pax with "-N ${NETBSDSRCDIR}/etc" so that user & group
lookups occur from there rather than from the host system.
2002-12-19 12:35:01 +00:00
jdolecek 1e127d86d1 ttyaction is ${MACHINE}-specific, not per ${MACHINE_ARCH}
remove special ttyaction hook from etc/etc.sun[23]/Makefile.inc, it's no longer
  needed
ld.so.conf is ${MACHINE}-specific, the code happened to work for i386 and sparc
  only because ${MACHINE} == ${MACHINE_ARCH} there
remove basesrc/etc/ld.so.conf and its special vax/ns32k/m68k hook in Makefile -
  vax & m68k are ELF now, and ns32k doesn't need to be handled here
2002-12-17 15:54:59 +00:00
lukem fe5f6ce974 - add snap_post, which makes "clean depend all release" in ../distrib/
for all platforms.
- remove now unnecessary replicated code in the various snap_md_post targets
- remove snap_md_pre; nothing uses it any more
- use ${NETBSDSRCDIR} and ${KERNSRCDIR} as appropriate
2002-12-02 13:18:03 +00:00
lukem e7bf86cbd5 Separate snap_kern into three targets, to allow finer control over
which bits to build, and to allow "make -j N" actually do something in
parallel:
- build_kernels: for each of ${ALL_KERNELS}, create kern-${NAME} target
  which configures & builds the kernel ${NAME}.
- build_kernsets: for each of ${KERNEL_SETS}, create kernset-${NAME} target
  to create ${RELEASEDIR}/binary/sets/kern-${NAME}.tgz
- build_releasekernels: for each of ${KERNEL_SETS} ${EXTRA_KERNELS}, create
  ${RELEASEDIR}/binary/kernel/netbsd-${NAME}.gz (et al)
(The latter two .WAIT until build_kernels has completed)
2002-11-18 07:09:46 +00:00
perry 59af185fe1 Add hackdir/perm and hackdir/record
move larn files into alphabetical order
2002-10-23 20:35:45 +00:00
perry e0ea033b82 add code to include (primitive) package tag names
XXX This file has gotten big and ugly enough that a bit of a rewrite
is likely in order.
2002-10-23 19:50:30 +00:00
lukem 407233e842 Set
ALL_KERNELS ?= ${KERNEL_SETS} ${EXTRA_KERNELS} ${BUILD_KERNELS}
and use ALL_KERNELS instead of the latter three in the loop to configure
& build kernels. This allows ALL_KERNELS to be overridden in make(1)'s
environment or on make(1)'s command line... (I got sick of waiting for
all eleven i386 kernels to rebuild when I was only testing one)
2002-10-16 02:30:48 +00:00
grant 904247526b create /etc/mail/local-host-names, required by sendmail(8). 2002-10-05 15:23:19 +00:00
perry a2bd5604f5 Make utmp and utmpx group utmp, not group wheel. This gets masked by
the fact that rc.d sets it to group utmp anyway, but it was certainly
wrong in principle.
2002-09-16 02:35:04 +00:00
perry e1fd62d224 Create wtmpx, just as wtmp is created. 2002-09-16 02:30:29 +00:00
wiz bd93d53f7c Add /var/run/utmpx, requested by soren. 2002-09-03 00:56:08 +00:00
bjh21 2e5fd793fb Set the volume ID on CDs produced my "make iso-image" to something meaningful,
rather than the default of "CDROM".  The volume ID now looks like
"NETBSD_ACORN26_16D".
2002-07-28 01:21:07 +00:00
fredette 1c928c08b2 Removed ftpwelcome from BIN1; it was removed. 2002-07-06 18:19:31 +00:00
lukem 6f9558487e use ` | ${CAT} -l >> ${METALOG} ' to serialise writes to the metalog 2002-06-11 15:50:05 +00:00
itojun dbbcec2c04 have bsd.endian.mk, which detects target endian.
generate *.db in target endian.  (see tech-userlevel for discussions)
2002-05-30 21:40:47 +00:00
itojun b837b667b8 set TARGET_ENDIANNESS appropriately. 2002-05-30 09:49:22 +00:00
jdolecek 074863cac2 Move the sample fstab files to /usr/share/examples/fstab/. Duplicates
or very similar configs removed.
2002-05-04 19:43:57 +00:00
sommerfeld 965e0acae4 Correct BUGS in BUILDING.mdoc now that most ports are USE_NEW_TOOLCHAIN
Obsolete NBUILDJOBS; build.sh just passes -jN through to make(1),
which inherits it cooperatively through the build tree.  Fix
documentation so that it's shown to be deprecated.

If you use build -jN, please save full build logs so that errors due
to missing dependancies can be analyzed and corrected.
2002-05-02 22:13:30 +00:00
lukem 2d1f93d643 - consistency cleanup
- ensure INSTALLATION_DIRS contains the appropriate extra directories
  for a given platform
2002-05-02 15:09:40 +00:00
lukem 8feb052770 s/_SRC_TOP_/NETBSDSRCDIR/ 2002-04-26 16:23:14 +00:00
lukem 9ada96166d install postinstall 2002-04-26 15:43:39 +00:00
lukem 46de584226 When building kernel .tgz sets, take advantage of pax's new ability to
not store optional directory entries when copying from a specfile.
2002-04-21 00:06:03 +00:00
perry 9c429c8cc6 add default passwd.conf file 2002-04-15 03:01:31 +00:00
lukem 818750e0b3 if UNPRIVED, call ${PAX} with -N ${_SRC_TOP}/etc 2002-04-10 15:12:37 +00:00
lukem cf1352743d now <bsd.kernobj.mk> defines KERNSRCDIR correctly, pull it in earlier
and clean up related goop
2002-04-10 14:57:45 +00:00
lukem fbeeec837c When building kern-*.tgz, output an mtree specfile to pipe into
${PAX} -M so that the contents get the appropriate ownership.
Fixes [toolchain/16161] from Ben Harris <bjh21@netbsd.org>
2002-04-10 12:05:20 +00:00
matt a6a8089c11 Don't install pcs750.bin in here anymore. 2002-04-09 18:07:24 +00:00
wiz f4c143690e arm32 is not a valid MACHINE_ARCH anymore. 2002-04-07 15:52:27 +00:00
bjh21 9f2fd14aea When doing a "for" loop over a potentially-empty list
(${KERNEL_SUFFIXES}), put the list in a shell variable and use that.
Both bash (before 2.05a) and Solaris /usr/xpg4/bin/sh report a syntax
error otherwise.
2002-04-01 17:32:19 +00:00