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