Commit Graph

239 Commits

Author SHA1 Message Date
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
bjh21 3f0d7066b3 Add a MAKESUMS variable which invokes makesums with CKSUM in its environment.
Use this whenever we want to invoke makesums.
2002-03-31 16:07:53 +00:00
matt e4d7babf1f Change pcs750.bin processing so it works UNPRIVED=. XXX this needs to be
moved to someplace with an objdir.
2002-03-29 04:45:37 +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
chs 4318a1a32b copy kernels to the releasedir even when KERNELS_DONE is defined
(i.e. only skip building the kernels).  fix some comments while I'm here.
2002-03-01 06:22:09 +00:00
lukem 7b1ed2d086 - add check_destdir and check_releasedir targets, and use appropriately
(easier to read that large nested .if's
- use INSTALL_FILE, INSTALL_LINK and INSTALL_SYMLINK instead of INSTALL
- when creating release directories, don't bother setting owner and group
2002-02-09 11:09:29 +00:00
lukem 6af35d5a81 - replace "tar -cf - ... | gzip -9 > foo" with "GZIP=-9 ${PAX} -zwf foo ... "
- more comment hacking
2002-01-27 06:49:22 +00:00
lukem 03a5940a64 - add the following targets to the DESTDIR=="" check:
install-etc-files iso_image_mi iso-image_md_pre iso-image_md_post snap_kern
- add the following targets to the RELEASEDIR=="" check:
    iso_image_mi iso-image_md_pre iso-image_md_post snap_kern
- improve comments around make .flow control statements (including adding
  some helper # { ... # } comments around large .if statements for (ab)use
  with vi showmatch mode)
- clean up whitespace
2002-01-27 01:44:02 +00:00
tv a2291b79c0 MKfoo=no -> NOfoo= 2001-12-12 00:07:45 +00:00
jmc 5baaa9092b Make pwd_mkdb a conditional set so bsd.own.mk can override it 2001-12-07 02:30:22 +00:00
thorpej 8aa58740cf Add support for specifying extra kernel name suffixes to search for
when building the kernel sets and placing gzip'd kernels in binary/kernels.
For example, if KERNEL_SUFFIXES were set to "ecoff srec", then the kernel
set would include:

	netbsd
	netbsd.ecoff (only if it exists in the kernel compile directory)
	netbsd.srec (only if it exists in the kernel compile directory)

This is useful for packaging kernel sets for platforms which have
extra special requirements for loading the kernel.
2001-11-30 18:50:09 +00:00
thorpej 44f4566e1a Change the way kernel sets are specified, and make them
more consistent.  To quote the comment in etc/Makefile
that describes how it's done:

# This target builds the kernels specified by each port.  A port may
# specify the following kernels:
#
#       KERNEL_SETS             The list of kernels that will be
#                               packaged into sets, named
#                               kern-${kernel}.tgz.  These kernels
#                               are also placed in the binary/kernels
#                               area of the release package as
#                               netbsd-${kernel}.gz.
#
#       EXTRA_KERNELS           Additional kernels to place in the
#                               binary/kernels area of the release
#                               package as netbsd-${kernel}.gz, but
#                               which are not placed into sets. This
#                               allows a port to provide e.g. a netbootable
#                               installation kernel containing a ramdisk.
#
#       BUILD_KERNELS           Additional kernels to build which are
#                               not placed into sets nor into the
#                               binary/kernels area of the release
#                               package.  These are typically kernels
#                               that are built for inclusion only in
#                               installation disk/CD-ROM/tape images.
#
2001-11-29 22:45:53 +00:00
thorpej ff0f6d3aec Fix oversight in the addition of install-etc-files target; move the
.endif for DISTRIBUTION_DONE to the right place.
2001-11-25 18:19:14 +00:00
perry 33c33d421a Synthetically generate metadata entries for passwd, spwd.db, pwd.db.
XXX Note that it can easily be argued that these should be generated by
the installer, not shipped in the tar files, but that's for another day.
2001-11-24 21:41:12 +00:00
thorpej ba119b4fb0 Split the "distribution" target into "distribution" and "install-etc-files",
the latter being called by the "distribution" target.  This allows the
various /etc/... files to be installed manually in a convenient way, if
desired.

NOTE: It is INTENTIONAL that this target is not named "install".
2001-11-20 16:07:59 +00:00
perry 2d02e3afad UNPRIVILEGED->UNPRIVED 2001-11-19 05:05:06 +00:00
tv 0b5c0ba712 Make the TARGET_ENDIANNESS check only valid when making release, snapshot,
or distribution.

Also, clean up the check and include <sys/endian.h> instead -- some platforms'
<machine/endian_machdep.h> pull in the definitions of _BIG_ENDIAN and
_LITTLE_ENDIAN, invalidating the test; this makes the check values uniformly
"4321" and "1234" respectively.
2001-11-13 17:14:27 +00:00
jmc 7526979e21 Don't run rules unless DESTDIR is set *and* contains a value. Fixes PR 14410 2001-10-31 02:58:58 +00:00