Commit Graph

176 Commits

Author SHA1 Message Date
kre a550fa2998 test ! -n "$foo" is just a quaint way of saying test -z "$foo"
and test ! -z "$foo" is really just test -n "$foo"  so let's just
use the simple (and more obvious) forms.

NFCI.
2020-01-19 00:57:00 +00:00
kre 11f716dcce The idiom
set $whatever
	while [ $# - gt 10 ]; do shift 10; done
	eval echo \$$#

fails when $# turns out to be 10 (or any multiple), it would need
to be instead

	while [ $# -ge 10 ]; do shift 9; done

but there hasn't been a shell that cannot handle ${10} (etc) correctly
in a very long time, so let's just use that instead (properly quoted,
in case IFS happens to contain a digit for some bizarre reason).

We should also "set -f" / "set +f" (or better, restore the prev setting of -f)
around the "set $whatever" part, but if that was ever going to cause a problem
here, it would have already, so leave that for now.
2020-01-19 00:50:25 +00:00
tsutsui b35929bc17 Fix "[: SMALL test, no fallback usage" error on miniroot installation.
Avoid and replace use of '-a', '(' and ')' operatos marked obsolescent
by modern POSIX.1-2017:
 https://pubs.opengroup.org/onlinepubs/9699919799/utilities/test.html#tag_20_128_16
as suggested by kre@ in PR/54835.

Should be pulled up to netbsd-9.
2020-01-12 03:56:14 +00:00
tsutsui 49eb82c34f Fix miniroot installation failure on network configuration. PR/54833
No particular comment in the PR.
Should be pulled up to netbsd-9.
2020-01-12 03:37:10 +00:00
christos 128e5f5e67 1. Remove all the special handling of variables (-d -p -P -s -S) that
were dealing with DBG (-d) LDSTATIC/NOPIE (-p), and the rest with
   disabling/enabling sanitizers.
2. Use emalloc/estrdup for all the allocators instead of only some cases.
3. Add -V varspec which passes variables on the command line (as DBG
   and LDSTATIC used to be passed before) instead of appending them
   to the on-the-fly Makefile using -v varspec.
4. Change the distrib and rescue Makefiles to use -V instead of the removed
   flags.

The motivation of this is to make variable handling consistent, less magical,
and remove the need for changing crunchgen each time we want to add disabling
an option by default.

(as proposed in tech-toolchain)
2019-12-29 18:26:16 +00:00
maya 50f7458533 Split out /rescue to its own set and adapt installers/images to add it.
This is meant to make updates safer: if something goes wrong with updating
base, we still have the old, standalone /rescue to recover from.
2019-10-02 11:15:59 +00:00
christos a672382c55 adjust miniroot scripts to deal with the time prefix in dmesg 2019-04-10 14:52:53 +00:00
christos 95c3b60f74 eXorcize and `` -> $() 2019-04-04 20:51:35 +00:00
kre 327d4df346 Remove uses of test ... -a ... and test ... -o ... 2018-09-16 21:32:29 +00:00
mlelstv 0f299d7b4f Support installing from a CD9660 formatted disk partition. 2017-08-15 09:49:38 +00:00
tsutsui 3465cbe0d7 Fix indent. 2011-06-19 06:48:07 +00:00
tsutsui 800a8fccb7 Remove unnecessary gnu/usr.bin path from SRCDIRS. 2011-06-19 06:44:04 +00:00
tsutsui 91502ada24 Use src/distrib/utils/x_gzip in all install ramdisks/miniroots for now
since installation file systems might be flooded by -llzma.
2011-06-19 02:36:59 +00:00
tsutsui 7e57c1a44f Adjust file lists for recent move:
usr/sbin/chown -> sbin/chown
 usr/bin/chgrp  -> bin/chgrp
2011-01-14 10:26:28 +00:00
roy bb3a353864 Use the rescue terminfo.db in our images instead of termcap. 2010-02-05 10:01:16 +00:00
tsutsui 2087c24e30 Remove -ledit and -lmagic from LIBS.
No program requires -ledit in crunched SMALLPROG case, and
miniroot doesn't have /usr/bin/file which requires -lmagic.
(sparc had it but it was removed in distrib/sparc/miniroot/list rev 1.29)
2010-01-02 06:37:28 +00:00
abs 1fabe01b0f remove references to disktab.{preinstall,shadow} 2009-09-20 22:44:06 +00:00
abs 6f653b39ef ${NETBSDSRCDIR}/distrib/common/protocols => ${DISTRIBDIR}/common/protocols
${NETBSDSRCDIR}/distrib/common/services => ${DISTRIBDIR}/common/services
2009-09-20 19:49:07 +00:00
abs 7fb2fc21e2 Of the arious list files 28 said
PROG   usr/bin/gzip    usr/bin/gzcat usr/bin/gunzip
while 14 picked
    PROG   usr/bin/gzip    usr/bin/gunzip usr/bin/gzcat

Make them all choose the former. No functional change.
2009-09-18 10:49:08 +00:00
tsutsui 1bdd710904 Fix indent on common/protocols changes. 2009-04-29 18:20:00 +00:00
abs 7a3d39395e Use the cutdown distrib/common/services and distrib/common/protocols
rather than the full fat etc versions
2009-01-25 22:08:37 +00:00
tsutsui 4154691ca5 Add ${IMAGE}.gz to dependency list of release:: target as well as the one
in src/distrib/common/Makefile.image so that ${MAKESUMS} will be invoked
after the target image is installed into the releasedir, not before,
even if make -jN is specified.

XXX some ports do ${MAKESUMS} for installation/miniroot files
XXX in etc/etc.${MACHINE}/Makefile.inc later again.
2008-09-19 17:23:32 +00:00
matt 7cd6f44757 Change remaining instances of ${RELEASEDIR}/${MACHINES} to
${RELEASEDIR}/${RELEASEMACHINEDIR}
2008-06-23 02:16:53 +00:00
dyoung fdf6250eac Add -lprop to the LIBS line so that ifconfig will link. 2008-05-06 15:32:06 +00:00
martin 11a6dbe728 Convert TNF licenses to new 2 clause variant 2008-04-30 13:10:46 +00:00
dogcow c1583b0d2c Since /etc/services has gotten rather large, use a minimal one for install
kernels. (mount_nfs is notably the only binary that doesn't gracefully deal
with the lack of an /etc/services file, it appears.)
2007-05-10 23:22:27 +00:00
snj a640fe8c43 It's "its." 2006-04-24 19:00:29 +00:00
is c5b9cc482c Instead of abusing the function md_prep_label(), create a new (optional)
md_view_labels() and a variable to mark its availability, so checking of
the available disklabels can be done before the root device is chosen.
Suggested by Martin Bertelsmann.
2006-01-18 13:39:05 +00:00
martin 5d2216c751 More crunchgen lists needing -lz now for new gzip.
Noticed by Markus W Kilbinger.
2003-12-27 21:30:27 +00:00
tron a996f679ab Link crunched binary with "-lmagic" required for file(1). 2003-03-31 18:10:40 +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
bouyer d5bc7a86e8 If it exists, source /mnt/etc/defaults/rc.conf before /mnt/etc/rc.conf,
so that upgrade.sh gets all the parameters in its initialisation phase.
2002-06-12 09:10:02 +00:00
lukem 0647769f2d - fix permissions on generated install.sub
- COPY install & upgrade with 555 (not 755) perms
- sort some entries
2002-05-29 04:06:09 +00:00
nathanw c19639f45d Tell the user consistently that time zone files are in
/usr/share/zoneinfo, rather than that in one place and
/usr/share/timezone in another.
2002-05-23 02:57:08 +00:00
lukem 535cb8be26 enable (default) libhack for all miniroots.
for atari, also add gethost.o (as before)
2002-05-07 14:59:34 +00:00
lukem 6007cc8838 Use release:: instead of release: when multiple release targets may exist 2002-05-07 03:34:16 +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
lukem 9e5598221a replace _SRC_TOP_ with NETBSDSRCDIR, since the latter is the "public" version 2002-04-26 15:50:21 +00:00
tv aa25460ffb Make sure DBG setting is passed to crunch Makefile to get proper
compile-time options.
2002-04-23 19:44:14 +00:00
fredette e19ecd314c Fixed a spelling mistake. 2002-04-18 21:41:38 +00:00
lukem 8f603e224b consistency cleanup 2002-04-13 13:42:57 +00:00
lukem 983821fd73 - replace image_md_post: target with IMAGE_MD_POST variable, and use
that after building ${IMAGE}
- use ${IMAGEBUILT} to ensure that IMAGE_MD_POST is only run if IMAGE changes
2002-04-12 03:21:09 +00:00
lukem 5ecebad8d3 remove MAKESUMS (provided by ../Makefile.inc). minor tweaks 2002-04-12 02:34:21 +00:00
lukem 7f1019eef4 tweak how distrib/Makefile.inc is pulled in. use realall: instead of all: 2002-04-10 16:14:11 +00:00
bjh21 c8d2650761 Set CKSUM in makesums' environment. 2002-04-08 23:15:50 +00:00
lukem a92372d6b7 add empty image_md_post rule so ports that don't provide one won't barf 2002-03-18 04:08:47 +00:00
lukem 71a6f6b575 If we're going to use DISTRIB(REV|VER) in generated files, have those files
depend upon osrelease.sh.  Issue raised by Havard Eidnes.
2002-03-17 22:30:31 +00:00
lukem c7ab75bebc need to pass DISTRIBREV and DISTRIBVER to parselist as well 2002-03-16 01:32:21 +00:00
lukem deffb66504 parselist.awk
- improve comments
- provide a general purpose variable replacement; replace contents of ${FOO}
  with ENVIRON["FOO"].
- deprecate @MACHINE@ and @MACHINE_ARCH@ in favour of using ${MACHINE}
  and ${MACHINE_ARCH} instead
- add errx() function; like err(), but doesn't print the line number
- invoke this script with various variables defined via PARSELISTENV

*/Makefile*
- use PARSELISTENV instead of POPULATEENV, and add variables like DESTDIR
- other minor tweaks

*/list*
- replace @MACHINE@ with ${MACHINE}
2002-03-14 22:26:08 +00:00
lukem a8025d95ae Commit work-in-progess rototill of distrib/miniroot and associated machine
dependent files:

- Use infrastructure from distrib/common to build file system images with
  crunchgen-ed programs from a list file.

- Non root ("UNPRIVED") builds from a read-only source tree are possible,
  as makefs(8) replaces vnconfig(8)/vnd use, devices are generated using
  common/makedev2spec.awk, etc.

- Cross builds should be possible, except that some ports need cross-compile
  host tool versions of installboot and any appropriate host disk labelling
  tools.
	XXX: pmax, sparc and vax need fixing for this!

- This code has NOT YET BEEN TESTED on most of the ports.
  It should work, but it is extremely likely that the file system
  parameters may need tweaking to get things to fit.
  See MAKEFS_FLAGS in sparc/miniroot/Makefile.inc for an example.
  If assistance is required, please ask!
2002-03-06 12:04:48 +00:00