Commit Graph

27 Commits

Author SHA1 Message Date
apb
0bee96eab7 Ensure that (almost) all shell variables in distrib/sets/* scripts are
used with curly braces and quotes, as in "${var}".

Also ensure that command substitution is quoted, as in "$(command)", and
convert `command` to $(command).

Reviewed by agc
2006-01-03 18:31:09 +00:00
apb
3a0b541193 Add shell variables defined in sets.subr for almost all commands used
by scripts in distrib/sets/*.  This is intended to be useful when cross
building.  Only trivial commands like echo, cat, and rm are excluded
from this treatment.

While I am here, make ${MTREE} and ${DB} follow the pattern used by most
other such variables.

Reviewed by agc.
2006-01-03 16:40:16 +00:00
lukem
d967a961ee Don't remove empty obsolete lists; it unnecessarily complicates etc/Makefile 2005-03-28 03:12:34 +00:00
erh
10d0173282 Make all the sets scripts work even when not run from the directory that
they reside in.
Change any uses of dirname to use shell variable substitution instead.
2004-07-23 15:11:26 +00:00
lukem
6f9a1982b5 rename all the <bsd.own.mk> derived variables to uppercase, and export
them to the environment.
2004-01-03 02:38:58 +00:00
lukem
b852db83fb Significant overhaul of how the sets are used:
* Add an optional third field to the sets file which is a list of
  comma separated keywords that control if the line is printed.
  Currently supported keywords
	kerberos4	${MKKERBEROS4} != no
	kerberos	${MKKERBEROS} != no
	lint		${MKLINT} != no
	obsolete	${obsolete} != 0.
			In this case, non obsolete files are not printed.
  (This will allow future support for builds with variables such as
  MKHESIOD and MKYP set to "no".)

* Use sh(1)'s getopts where appropriate, and otherwise cleanup the
  various scripts.

* Move defaults for sets.subr from sets.defaults into sets.subr.
  Move replicated code for determining stuff such as shlibs type
  from various scripts into sets.subr.

* Merge the obsolete.*, krb.*, krb4.* and lint.* into the appropriate
  main lists with the relevant third field keyword(s).
2003-12-29 03:13:25 +00:00
jmc
62fcaffaa9 Redo creation of sets/sums so this can be parallelized if using -j.
Suggested in PR#20115 and PR#20116
2003-12-19 22:25:53 +00:00
matt
ad4eec9581 Export use_tools_toolchain. Change last use of have_gcc3 to
use_tools_toolchain
2003-12-09 17:57:42 +00:00
dyoung
17b5668ccd Factor duplicated code for setting variables such as machine_cpu
and machine_arch to their defaults into sets.defaults, and source
it at the top of each script.

Also, to be consistent with variable naming, s/arch/machine_arch/.

sets.defaults introduces two new variables, krb and krb4, which
will affect whether Kerberos- or Kerberos IV-only files are put
into the set lists.
2003-11-25 07:19:46 +00:00
tron
b02749036c Fix sets handling so that GCC specific lists are really used. 2003-09-21 19:26:02 +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
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
e97eca6cda grammar fix 2002-11-17 03:04:53 +00:00
lukem
e134704457 remove unnecessary code, and add minor code formatting tweak 2002-11-17 02:59:56 +00:00
lukem
ac1a503233 use ${MAKE} print_machine(_arch)? where appropriate 2002-11-17 02:22:11 +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
tron
be265ddb84 Adapt support for XFree86 3.3.6/4.x lists to match behaviour of
"makeflist".
2002-04-09 06:07:17 +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
itojun
56d8774587 sh3e[bl] -> sh3.
sh3 has no shlib yet.
2001-01-04 11:15:32 +00:00
wiz
73818de477 retire secr here, too. 2000-11-18 05:32:00 +00:00
fvdl
cc689750bb Sort obsolete file lists in reverse order, so that subdirectories come
before their parent dirs. Avoids 'directory not empty' problems when
removing directories.
2000-10-27 13:04:58 +00:00
tv
8b5d5857ce Obliterate "man/md_share". The difference is negligible relative to the
size of the man set, and with all architectures' man pages in "man", we
can now share both "man" and "misc" on all platforms (CD-ROM space saver).
2000-10-05 00:11:43 +00:00
thorpej
d01921b990 Add the xmisc set. 2000-10-01 22:49:05 +00:00
ad
27ce48dc85 Look for and use `obsolete.md_share'. 2000-08-03 10:41:02 +00:00
jwise
f2cc32c633 Compatible upgrade to set list behavior -- any (whitespace separated) fields
after the first in each line of a set list are ignored.  This introduces
no change in current set list behavior, but will need to be revisited if
we wish to distribute files with spaces in their names -- in this case we can
move to tab separated fields or some other behavior.

Current set lists work exactly as before, but in the future set lists may
have additional fields for use in a system packaging script.

I will post a detailed work plan for the system package system which uses
this to tech-pkg and tech-install in the next day or so.
2000-01-23 20:31:17 +00:00
bouyer
90d35fd201 Generate the /dist/obsolete_* files used by sysinst from the obsolete lists
in sets/lists/*. The sript sets/makeobsolete concatenates the mi and md
obsolete list files all or a specified set and dumps it in a file, in a
subdir specified on the command line (inspired from the maketar and makeflist
files).
Use this for all the sysinst-based installs.
Untested for non-i386, and the md obsolete list may be wrong or incomplete.
Each postmaster is supposed to check this on his port.
1999-06-05 20:17:38 +00:00