ok'ed by core and releng.
(thanks for agc@, snj@ and i'm sorry for long time patience).
[libc]
- localeio.[ch] and lc*.[ch] in src/lib/libc/locale was replaced by
new locale-db implementation using citrus_db backend,
see src/lib/libc/citrus/citrus_lc_*.[ch].
- add citrus_bcs_strtou?l.c. don't use strtou?l locale implementation
internally, because they're locale-aware function.
- add some stubs for multi-locale issue, see {current,global}_locale.c.
- remove some obsolete file, setrunelocale.c, ___runetype_mb.c.
- remove __savectype() from ctypeio.[ch].
[tools]
- mklocale(1): add new option ``-t'' that generates new style
LC_{MONETARY,NUMERIC,TIME,MESSAGES} locale-db format.
- chrtbl(1): added ctypeio.[ch] for __savectype().
[locale-db]
- added en_US.US-ASCII locale.
- removed some shareable locale definition file:
en_US.US-ASCII -> en_US.ISO8859-1, en_US.UTF-8
zh_CN.eucCN -> zh_CN.GB18030
and more...see src/share/locale/*/Makefile.
- remove obsoleted locale sr_YU, added new locale sr_ME, sr_RS.
- change locale name ja_JP.ISO2022-JP* -> ja_JP.ISO-2022-JP*
for X11's locale.alias file alignments.
- fix regression test, wrong wcs?width(3), NAN/INF usage.
i tested release-build following arch:
i386, amd64, hpc{mips,arm,sh}, sparc64, vax.
citrus_lc_*.[ch] also can read old-plain-text style locale-db.
so that backward compatibility is keeped, but lc*.[ch] can't read
new citrus_db'ed locale-db and localeio.c never check sanity,
so forward compatibility is broken ;-<
old mklocale(1) doesn't know -t option, so you have to rebuild toolchain.
not use real locales, but this at least allows single byte character
locales to work as expected (i.e. the existing translations for sysinst).
Once we get a sysinst translation that needs more, we'll have to drop this
and the castrated setlocale(), and go for a real solution.
for one more that is needed, and commented out partial implementations for
the test of the functions. This should stop the re-defined symbol errors
for now.
as they only support reading /etc/hosts, and its the "least useful" of
the libhack routines. Add gethost.o back to Really Small media which
appears to need the space savings.
only?) are sorted out. speculation (based on some analysis by simonb)
is that it's because fts calls _opendir2 directly, which forces both
the libhack and the libc versions of opendir.o to be linked in.
in any case, there's space saves to be had elsewhere...
The same change has already been applied on the 1.5 branch. The problems
(i.e. ifconfig not showing IP addresses) have been verified to still exist
with the new toolchain.
install.sub:
- fix interface grovelling, ifmedia support, allow ifmedia and link
to have a "none" (-> "") answer (which lets you give nothing when
a default answer is given)
- allow installing more than one set at a time, including "all" as
a synonym for all remaining sets
- mount -o async when extracting sets
makeconf.awk:
- put default "libs" section at the end rather than the start, so
you can put other "libs" in before this list
- minor cleanup
mtree.conf:
- create /kern
sparc install.md:
- MDSETS are now "kern xbase xcomp xcontrib xfont xserver"
- use /kern & kernfs (replaces dmesg)
- replace grep & cut pipe lines with sed
- replace grep hackery with sed hackery
- grep and cut are no longer required! yay!
- deal with no /usr/bin/vi -- call disklabel -i
- in md_copy_kern() link the netbsd.GENERIC we got from the kern set,
rather than the miniroot kernel
sparc miniroot list:
- no more dmesg, cut or grep
sparc ramdisk changes:
Makefile:
- `ramdiskbin.conf' is now generated by makeconf.awk
- don't use libhack's opendir, it breaks
dot.profile:
- don't assume terminal is `sun'
- set EDITOR=ed
-
list:
- instbin -> ramdiskbin to make `makeconf.awk' work
- CRUNCHSPECIAL those special dirs
- add our LIBS as necessary
libhack changes:
- if NOLIBHACKOPENDIR is set, don't build opendir.o