Home | History | Annotate | Download | only in sets
History log of /src/distrib/sets/makeflist
RevisionDateAuthorComments
 1.80  08-Nov-2023  christos More conservative umask
 1.79  08-Nov-2023  christos Set the file creation mask consistently because the files these scripts
create can become part of an iso image.
 1.78  21-Aug-2022  lukem Deprecate extsrc/, EXTSRCSRCDIR, MKEXTSRC

Remove support for building extsrc/:
1. Makefile: remove do-extsrc target.
2. build.sh: remove options -y and -Y extsrcdir.
3. distrib/sets: remove support for extsrc in various tools
including the options -L ext and -y, and the extsrc sets.
4. doc/BUILDING.mdoc: remove docs for extsrc/, EXTSRCSRCDIR, MKEXTSRC (etc)
5. bsd.own.mk and various Makefiles: remove support for extsrc/,
EXTSRCSRCDIR, MKEXTSRC.

As proposed on tech-kern and tech-userlevel on 2022-01-07
and followed up on 2022-08-21.
 1.77  14-Jan-2013  christos there is no -X flag
 1.76  05-Dec-2009  cegger branches: 1.76.6; 1.76.12;
Fix syntax error on OSX 10.5.
While here, simplify handling with OPTARG using IFS.

developped with and 'go for it' dsl@
 1.75  30-Nov-2009  uebayasi Support "extsrc", externally added programs and libraries. Users can write
their own reach-overs, cross-build, install, and get set files just like base
and X11 / X.org. (These sets are not included as TNF releases.)
 1.74  04-Jan-2006  apb branches: 1.74.20;
Use "$*", not "$@", where we want a space-separated list of words.
 1.73  03-Jan-2006  apb 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
 1.72  03-Jan-2006  apb 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.
 1.71  23-Jul-2004  erh 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.
 1.70  08-Jan-2004  lukem implement -l, to list the selected set names rather than the contents
 1.69  03-Jan-2004  lukem optimise invocation of list_set_files()
 1.68  03-Jan-2004  lukem rename all the <bsd.own.mk> derived variables to uppercase, and export
them to the environment.
 1.67  29-Dec-2003  lukem 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).
 1.66  19-Dec-2003  jmc Redo creation of sets/sums so this can be parallelized if using -j.
Suggested in PR#20115 and PR#20116
 1.65  25-Nov-2003  dyoung 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.
 1.64  21-Sep-2003  tron Backout last change, it's not necessary.
 1.63  21-Sep-2003  tron Fix sets handling so that GCC specific lists are really used.
 1.62  04-Aug-2003  mrg add initial support for gcc3
 1.61  23-Jun-2003  dyoung Don't duplicate code for listing sets used by makeplist, regpkg.
Instead, use the routine in sets.subr.
 1.60  26-May-2003  thorpej Check if md.${MACHINE}.${MACHINE_ARCH} exists and prefer it over
md.${MACHINE}.
 1.59  15-Mar-2003  he Do not try to build LKMs on evbppc, because we cannot predetermine
the PPC_INTR_IMPL, which is used to include a file in <machine/intr.h>.
To allow evbppc to complete a ``make release'', we also need to
factor out the LKM files to a new set list file, and tweak makeflist
to not include this file for evbppc.

Discussed with Matt Thomas.
 1.58  29-Jan-2003  simonb Enable MIPS now that crunchgen works again for this arch.
 1.57  10-Dec-2002  fvdl Remove conditional for x86_64 to not include lintlibs, they're ok now.
 1.56  26-Nov-2002  lukem use ${make} instead of ${MAKE} in the shell scripts, to prevent weird
lossage with the modified ${MAKE} getting passed to child make's
 1.55  25-Nov-2002  lukem 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
 1.54  10-Oct-2002  briggs Some systems/shells have difficulty if the closing ] of a test does not have
preceding whitespace. Ensure that there is whitespace.
 1.53  09-Oct-2002  thorpej * Clean up the handling of rescue.* files makeflist.
* Move all md.* and ad.* /rescue/... files into their
own list files.
 1.52  06-Oct-2002  thorpej * Move the rescue bits into their own file.
* In makeflist, skip rescue bits in arch's that don't yet support it
(MIPS, currently, due to an objcopy-crunch bug).
 1.51  19-Sep-2002  lukem switch from checking USE_NEW_TOOLCHAIN == yes to TOOLCHAIN_MISSING != yes,
and don't bother with tc.old any more
 1.50  10-Aug-2002  thorpej If ad.${machine_arch} exists, perfer it over ad.${machine_cpu},
because it will have more specific information.
 1.49  23-Jul-2002  lukem 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
 1.48  17-Jul-2002  fredette Added support for ad.${machine_cpu}.shl listfiles. These list
architecture-dependent files that are present when shared libraries are in use.
 1.47  06-May-2002  nathanw branches: 1.47.2;
cat the tc.shl setlist, instead of trying to run it.
 1.46  05-May-2002  thorpej Not all new-toolchain platforms support shared libraries (m68000 and
sh3, for example, due to defincencies in the current compiler version).

Deal with this by splitting toolchain shlibs into tc.shl, and teachking
makeflist about it.

Also, fix an old-toolchain remnant in the sh3 set lists.
 1.45  02-May-2002  wiz According to thorpej, only x86_64 doesn't provide lint files now.
Remove corresponding conditionals for sparc64, m68000, and sh3, and
add one for x86_64.
 1.44  08-Apr-2002  tron 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.
 1.43  26-Mar-2002  fredette Added support for stl.mi and a stl.${objfmt} files for each set,
which respectively contain MI and objfmt-specific things associated
with static libraries. Useful for systems that don't have shared
libraries. Currently only used by lists/comp/stl.elf.
 1.42  27-Feb-2002  lukem " egrep ... | awk" can be replaced by a smarter bit of awk...
 1.41  11-Feb-2002  tron First step of supporting XFree86 4.x binary sets:
- Recognize version dependent X11 lists files.
- Move all files which only belong to XFree86 3.3.6 in lists for version 3.
 1.40  24-Nov-2001  thorpej Oversight in last.
 1.39  24-Nov-2001  thorpej Use the logic in bsd.own.mk to figure out the toolchain format,
and to convert MACHINE_ARCH to a CPU. Make this cross-build
friendly by specifying MACHINE, MACHINE_ARCH, and MAKE in the
makeflist/checkflist environment.
 1.38  19-Nov-2001  tv The test for USE_NEW_TOOLCHAIN is based on the variable being *set*, not
a comparison of its value. Instead, use ${USE_NEW_TOOLCHAIN:Dyes} and
change the if block back to [ ... = "yes" ].
 1.37  19-Nov-2001  jmc Change to check for nowarn instead of yes as USE_NEW_TOOLCHAIN changed formats
in bsd.own.mk.
Also, change the make line to use
 1.36  20-Oct-2001  jmc Change sets so the differing toolchain bits only (not the complete toolchain
at the moment) are pulled out into tc.mi and tc.old files.

tc.mi has any files which are in the new toolchain only and tc.old contains
the reverse (files which only existed in the old toolchain). The remainder
of the toolchain that is common between both old and new is still contained
in the various mi/md files.

Check for USE_NEW_TOOLCHAIN=yes in makeflist to determine which tc files to
pull in if they exist.

XXX - All the toolchain bits should eventually be pulled out into separate
lists as tc.mi and tc.<arch>. Leaving it for now until the new toolchain is
fully integrated on all ports.
 1.35  08-Sep-2001  thomas Atari now has ELF shared libs.
 1.34  25-Aug-2001  chs switch cesfic to ELF.
 1.33  19-Aug-2001  mrg add support for ports that do not (can not) build lint libraries.
 1.32  12-May-2001  chs next68k is now ELF.
 1.31  19-Mar-2001  tsutsui Switch news68k to ELF:
- Set shlib=elf on news68k
 1.30  22-Feb-2001  chs sun3 now uses ELF.
 1.29  17-Jan-2001  jwise Kill package field much more efficiently when creating flists from set lists.
 1.28  04-Jan-2001  itojun sh3e[bl] -> sh3.
sh3 has no shlib yet.
 1.27  02-Jan-2001  simonb Add hp300 to the increasingly ugly `Compute toolchain' test.
 1.26  19-Dec-2000  scw Set shlib=elf for mvme68k.
(The mvme68k set lists still have a few problems even with this
change, but until all m68k ports -> ELF, there's no Other Way).
 1.25  20-Oct-2000  bjh21 arm26 is ELF, even if its shared libraries are currently broken.
 1.24  05-Oct-2000  tv 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).
 1.23  01-Oct-2000  thorpej Add the xmisc set.
 1.22  09-Aug-2000  mrg sparc64 is elf, too
 1.21  20-Jun-2000  thorpej branches: 1.21.2;
Merge a bunch of things from crypto-us and crypto-intl into basesrc,
adding support for Heimdal/KTH Kerberos where easy to do so. Eliminate
bsd.crypto.mk.

There is still a bunch more work to do, but crypto is now more-or-less
fully merged into the base NetBSD distribution.
 1.20  23-Jan-2000  jwise 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.
 1.19  27-Nov-1999  mrg add crypto-intl support in the "cryptint" set.
 1.18  04-Jul-1999  fvdl branches: 1.18.4;
Bring setlists up to date for i386 switch to ELF and ipv6.
 1.17  06-Jun-1999  pk Make the sparc use the elf sets.
 1.16  19-Apr-1999  simonb Ignore lines starting with a ``#'' in the set list files.
 1.15  29-Mar-1999  simonb branches: 1.15.2;
Convert mipse[lb] to mips _after_ processing command line arguments.
 1.14  13-Feb-1999  itohy Use "$MAKE" instead of "make" for cross environment.
 1.13  09-Feb-1999  tv Remap mipse[bl] to mips for set lists.
 1.12  30-Jan-1999  veego Remove the machine check for missing shared libs support on the vax.
 1.11  20-Jan-1999  tsubai powerpc ports use ELF shlib.
 1.10  22-Jul-1998  perry Add options for including the "domestic" ("secr") sets.
 1.9  02-Jul-1998  jonathan Do datbase normalization on sets/lists/*/* containing shared-library
related files. Partition into three categories:
* shl.mi -- MI sharedlib files present on all ports with shared libs
* shl.aout -- MI sharedlib files present on all ELF ports
* shl.elf -- MI sharedlib files present on all a.out ports

Add rudimentary shl* support to makeflist.
Remove files left empty after shlib normalization.
Add ad.mips where appropriate.
Make libc, libedit numbers consistent (libc.so.12.29, libedit.2.1).
 1.8  15-Jun-1998  lukem * 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
 1.7  15-Dec-1997  gwr Fix syntax error with multiple "set" args
 1.6  09-Nov-1997  chopps add -both arg for when one puts xsrc and src builds in same DESTDIR
 1.5  05-Nov-1997  scottr When deciding which md set lists to use, prefer $MACHINE over
uname -m
 1.4  28-Oct-1997  veego Add xcontrib to xlists.
 1.3  28-Oct-1997  veego Add a new option '-x11' for the xsets.
 1.2  20-May-1996  gwr branches: 1.2.4;
More portable versions of makeflist and maketars that can be used to
cross-make a distribution. Also avoid duplicating makeflist logic.
 1.1  29-Aug-1994  cgd branches: 1.1.1;
Initial revision
 1.1.1.1  29-Aug-1994  cgd branches: 1.1.1.1.2;
distribution sets contents lists
 1.1.1.1.2.2  29-Aug-1994  cgd distribution sets contents lists
 1.1.1.1.2.1  29-Aug-1994  cgd file makeflist was added on branch netbsd-1-0 on 1994-08-29 15:21:03 +0000
 1.2.4.4  09-Nov-1997  mellon Pull rev 1.6 up from trunk (chopps)
 1.2.4.3  06-Nov-1997  mellon Pull rev 1.5 up from trunk (scottr)
 1.2.4.2  29-Oct-1997  mellon Pull rev 1.4 up from trunk (veego)
 1.2.4.1  28-Oct-1997  mellon Pull rev 1.3 up from trunk (veego)
 1.15.2.1  10-Sep-1999  he Pull up revision 1.16:
Cope with #-comments in distrib set files. (he)
 1.18.4.1  27-Dec-1999  wrstuden Pull up to last week's -current.
 1.21.2.4  01-Nov-2000  tv Pullup 1.23 [jmc]:
Enable xmisc in sysinst.
 1.21.2.3  05-Oct-2000  tv Pull up 1.24 (obliterate man/md_share), approved by thorpej.
 1.21.2.2  22-Aug-2000  mrg pull up from trunk, approved by thorpej:
>revision 1.22
>date: 2000/08/09 10:51:50; author: mrg; state: Exp; lines: +2 -2
>sparc64 is elf, too
 1.21.2.1  20-Jun-2000  mrg file makeflist was added on branch netbsd-1-5 on 2000-08-22 05:38:13 +0000
 1.47.2.3  18-Nov-2002  he Pull up revision 1.50 (requested by thorpej in ticket #664):
If ad.${machine_arch} exists, prefer it over ad.${machine_cpu}
because it will have more specific information.
 1.47.2.2  23-Jul-2002  lukem Pull up revision 1.49 (requested by lukem):
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
 1.47.2.1  18-Jul-2002  lukem Pull up revision 1.48 (requested by fredette in ticket #516):
Added support for ad.${machine_cpu}.shl listfiles. These list
architecture-dependent files that are present when shared libraries are in use.
 1.74.20.1  05-Oct-2008  mjf Sync with HEAD.
 1.76.12.1  25-Feb-2013  tls resync with head
 1.76.6.1  23-Jan-2013  yamt sync with head

RSS XML Feed