Commit Graph

40 Commits

Author SHA1 Message Date
perry 2c736e195a Temporarily revert last. It now screws over symlinks from the destdir,
which is the inverse problem. It is fixable by piping one pax -w into
a pax -r instead of using a pax -rw, but unfortunately that won't work
yet because I've hit a pax issue. I'll fix that and then fix this right.
2003-04-07 17:22:19 +00:00
perry 1b49023f24 do pax -L so that symlinks aren't blown away.
Beginning of work to fix PR install/8090 from Luke Mewburn
2003-04-06 19:41:03 +00:00
erh f3281c94bd Return the correct exit status in the trap handler so errors get caught.
Also make sure the status is less than 256.
2003-01-21 19:07:05 +00:00
wiz 1035faff1d writable, not writeable. 2003-01-06 20:30:28 +00:00
lukem 245a0c292b improve description of -t 2003-01-03 15:26:32 +00:00
lukem 7f4e9b543c improve description 2002-12-25 23:47:32 +00:00
lukem 12837cbb48 fix header to match usage 2002-12-25 23:44:06 +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 a4a6515a36 Always call maketars (and subsequently pax) with -N ${NETBSDSRCDIR}/etc,
so that we always use the user & group databases from there rather than
the host systems.
2002-12-19 12:33:10 +00:00
lukem e629b6c337 maketars:
- add "-N etcdir", to be used for pax & mtree -N.  defaults to ${DESTDIR}/etc

Makefile:
- if UNPRIVED, call maketars with "-N ${NETBSDSRCDIR}/etc", so that
  "make UNPRIVED= DESTDIR=/foo installsets" can work with an empty
  ${DESTDIR}/etc. (i.e, after a make build without install-etc-files)
2002-12-19 06:21:45 +00:00
lukem 27015a09a7 consistently use $dest instead of $DESTDIR 2002-12-17 01:59:32 +00:00
lukem 25193201ba Add '-i installdir', to copy the given sets from $DESTDIR to installdir
instead of creating tar files.  If the default sets are used, "etc" is
removed from the list, because it's highly unlikely that it's wanted
in that case.

Tested against a DESTDIR created with "make UNPRIVED= DESTDIR=.... build".
2002-12-12 08:51:49 +00:00
lukem 62148d5f92 use ${make} instead of ${MAKE} in the shell scripts, to prevent weird
lossage with the modified ${MAKE} getting passed to child make's
2002-11-26 06:22:22 +00:00
lukem 8fa5df2d2d explicitly add " -f `dirname $0`/Makefile " to ${MAKE}, so that
these scripts do not need to be run from this directory in order
to function correctly
2002-11-25 23:29:54 +00:00
lukem c64952588e set MAKE="${MAKE:-make} -j 1" to prevent problems where the output
of make -j N>1 would result in junk in various shell variables
2002-07-23 09:02:45 +00:00
lukem 86d7ecae0d keep separate temp files for "full" flists 2002-05-19 13:24:22 +00:00
lukem 828711201d - clean up SDIR (temporary directory) creation
- improve munging of NetBSD.dist and METALOG into metalog, using mtree to
  "cleanup" / "merge" entries, and don't sort the result.
  relies upon mtree to not change the order (see below)
- use (newly added) join.awk to output lines in metalog that are listed
  in flist.${set}.  join.awk doesn't require either file to be sorted
  (unlike join(1)), which is required because we want to retain the
  order of the metalog, because certain entries in the metalog (such
  as hard links) make assumptions about the permissions of earlier entries.
  this should fix [toolchain/16207]
2002-04-13 12:47:10 +00:00
tron 7547e52684 Solve problem with with XFree86 3.3.6/4.x set "maketars" differently:
We don't want e.g. a seperate "xbase.tgz" and "xbase3.tgz" but one
combined archive.
2002-04-08 17:18:22 +00:00
tron 9ee8792ae0 Fix problem with building X11 release "tar" archives after support for
XFree86 4.x sets has been added. Problem noted by Richard Earnshaw in
private e-mail.
2002-04-08 15:39:32 +00:00
bjh21 fe26e66da4 Instead of using mktemp -d (which isn't available on many systems), use mkdir
in a loop to create a temporary directory.  Add a few chacks for the sanity
of /tmp first, so as to avoid making the loop infinite.
2002-04-01 15:50:30 +00:00
lukem a5fc5a8af0 - use numeric rather than symbolic trap names; it's more portable
- read NetBSD.dist from ${DESTDIR}/etc/mtree instead of /usr/src/etc/mtree
- run mtree with "-N ${DESTDIR}/etc" instead of using the host user databases
2002-03-01 07:21:14 +00:00
lukem c71e0408fb Fixes to allow unprivileged building of the binary tar files to
contain the correct permissions.

Makefile:
- set SETSENV to the list of variables we wish to pass to each shell
  script and use that, rather than duplicating the effort below
- call maketars with "-M ${METALOG}" if UNPRIVED is set.

getdirs.awk:
- takes a list of filenames and outputs the list along with all the
  directories used by those filenames

maketars:
- support "-M metalog"
- merge etc/mtree/NetBSD.dist with the "-M metalog" for use in the tgz build
- for a given set, find the union between the set list and the metalog
  generated above and use that as the list of files to ${PAX} up as the
  tgz file.
2002-02-27 10:51:47 +00:00
he e0e10bde3f Wait with exiting on error until all the install sets have been
attempted to be created.

This way, in "discover missing files" mode, you'll get the benefit
of getting all the missing files listed before this script bombs
out with a non-zero exit status, something which can be of benefit
on slow machines.
2002-02-26 20:03:08 +00:00
thorpej 35a01e1ce7 Use the logic in bsd.own.mk to determine machine/machine_arch. 2001-11-24 03:08:27 +00:00
jmc 37a2db8a6c Change pipeline in sets building so proper error detection for each stage
can be detected. This way sets stop building at the exact file that doesn't
exist rather than continuing.
2001-01-22 07:03:44 +00:00
thorpej d01921b990 Add the xmisc set. 2000-10-01 22:49:05 +00:00
itohy d2ebbdebdc Use "$MAKE" instead of "make" for cross environment. 1999-02-13 07:59:45 +00:00
frueauf aa66b9fc72 Use $out correctly, pointed out in pr 6526 by Dave Huang. 1998-12-03 18:17:45 +00:00
he 335e356232 There should be no need for the "set -x" now, it clutters output. 1998-11-18 11:09:12 +00:00
ross 86c54874c2 The newly churned maketars was apparently not tested in its normal
mode with no options and no parameters.

You have to be careful about the difference between $@ and $*.
In particular, "if [ -n "$@" ]" does not do what you think it will.
1998-06-27 08:27:36 +00:00
lukem c1ad909d7a * replace '-arch arch' with '-m machine' (as per make(1)'s $MACHINE). e.g, i386
* add '-a arch' - $MACHINE_ARCH. e.g, m68k, powerpc
* replace long -options with short -options (with backward compat)
* ``knf''ify scripts
1998-06-15 14:45:05 +00:00
jonathan 9b4334217f Change ".tar.gz" tarball suffix to ".tgz", per release(7). 1997-11-27 11:05:25 +00:00
chopps 37ac6a5ba8 add -both arg for when one puts xsrc and src builds in same DESTDIR 1997-11-09 20:47:29 +00:00
scottr 0b1a63b86b When deciding which md set lists to use, prefer $MACHINE over
uname -m
1997-11-05 22:08:22 +00:00
veego c9872b6bf8 Add xcontrib to xlists. 1997-10-28 17:29:45 +00:00
veego 6f2a7e6f08 Add a new option '-x11' for the xsets. 1997-10-28 13:35:23 +00:00
mikel b1c7774932 Feed makeflist to sh, instead of relying on x-bits; from Andrew
Wheadon in PR 3116.
1997-02-18 06:03:48 +00:00
gwr 7bb94b7bdf More portable versions of makeflist and maketars that can be used to
cross-make a distribution.  Also avoid duplicating makeflist logic.
1996-05-20 19:10:28 +00:00
cgd 02c6564e0e distribution sets contents lists 1994-08-29 15:21:02 +00:00