Commit Graph

262 Commits

Author SHA1 Message Date
jdolecek
67702193cc explicitly pass MACHINE and MACHINE_ARCH to MAKEDEV.awk via environment,
so that this works as expected when not invoked via build.sh
2003-11-15 08:50:26 +00:00
cl
7833f0afc9 now that MAKEDEV is generate, install it from ${.OBJDIR} 2003-10-26 23:34:29 +00:00
lukem
f85d2d1c14 Use ${HOST_SH} instead of `sh'.
If necessary, pull in <bsd.sys.mk> to get the definition of HOST_SH;
Makefiles that pull in one of (most of) <bsd.*.mk> will get this anyway.
2003-10-26 07:25:33 +00:00
ross
b9e3ec284d Add the -T etc_pkg arg back to the MAKEDEV install. 2003-10-25 03:55:26 +00:00
ross
ebbe98fcaf Now that MAKEDEV is generated, just do an ordinary ${INSTALL_FILE} instead
of going back to the source dir (and losing) with ${ETC_INSTALL_FILE}
2003-10-24 22:39:51 +00:00
jdolecek
1b00681156 switch over to unified MAKEDEV 2003-10-24 20:12:04 +00:00
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