--- a/Makefile Tue Oct 20 13:45:43 2009 +0200
+++ b/Makefile Thu Oct 22 10:09:58 2009 +0200
@@ -32,6 +32,7 @@
UNZIP ?= unzip
GNU_GREP ?= ggrep
PERL ?= perl
+BZIP2 ?= bzip2
ifeq ($(origin CC),default)
CC = /opt/SUNWspro/bin/cc
@@ -128,7 +129,7 @@
doc: build/report_diff.html
clean:
- rm -Rf build
+ rm -Rf build pkgmaps proto
include misc/mk/common.mk
--- a/misc/mk/cldr.mk Tue Oct 20 13:45:43 2009 +0200
+++ b/misc/mk/cldr.mk Thu Oct 22 10:09:58 2009 +0200
@@ -40,14 +40,22 @@
build/UTF-8.cm: $(CLDR_TOOLS_DEPS) build/.dir build/.dtd_cache/.src
$(call cmd,gencharmap_utf8)
+
build/%.cm: $(CLDR_TOOLS_DEPS) build/.dir build/.dtd_cache/.src
$(call cmd,gencharmap)
$(Q)[ "$(call charmap,$*)" = "$(call charmap_cldr,$*)" ] || mv build/$(call charmap_cldr,$*).cm $@
+build/%.cm.bz2: build/%.cm
+ $(call cmd,bzip2)
+
+
$(LOCALES:%=build/%/posix.src): build/%/posix.src: build/%/cldr_variant $(CLDR_TOOLS_DEPS) build/.dtd_cache/.src
$(call cmd,genposix)
+$(LOCALES:%=build/%/posix.src.bz2): build/%/posix.src.bz2: build/%/posix.src
+ $(call cmd,bzip2)
+
$(LOCALES:%=build/%/locale_desc): build/%/locale_desc: locale/%.spec $(CLDR_TOOLS_DEPS) build/%/cldr_variant build/.dtd_cache/.src
$(call cmd,gendesc)
--- a/misc/mk/common.mk Tue Oct 20 13:45:43 2009 +0200
+++ b/misc/mk/common.mk Thu Oct 22 10:09:58 2009 +0200
@@ -40,7 +40,8 @@
quiet_cmd_clean = CLEAN
cmd_clean = $(RM) -Rf $(CLEAN)
-
+quiet_cmd_bzip2 = BZIP2 $<
+ cmd_bzip2 = $(BZIP2) -c $< > $@
%/.dir:
$(Q)mkdir -p "$*"
--- a/misc/mk/locale.mk Tue Oct 20 13:45:43 2009 +0200
+++ b/misc/mk/locale.mk Thu Oct 22 10:09:58 2009 +0200
@@ -33,12 +33,3 @@
$(call cmd,localedef32)
$(LOCALES:%=build/%/64bit.so.3): build/%/64bit.so.3: build/%/posix.src build/%/64bit/.dir
$(call cmd,localedef64)
-
-
-$(LOCALES:%=build/%/.installed): build/%/.installed: build/%/32bit.so.3 build/%/64bit.so.3 build/%/locale_desc build/%/locale_map
- $(Q)[ -d $(FILEROOT)/usr/lib/locale/$*/$(MACH64) ] || mkdir -p $(FILEROOT)/usr/lib/locale/$*/$(MACH64)
- $(Q)cp build/$*/32bit.so.3 $(FILEROOT)/usr/lib/locale/$*/$*.so.3
- $(Q)cp build/$*/64bit.so.3 $(FILEROOT)/usr/lib/locale/$*/$(MACH64)/$*.so.3
- $(Q)cp build/$*/locale_desc $(FILEROOT)/usr/lib/locale/$*/locale_description
- $(Q)cp build/$*/locale_map $(FILEROOT)/usr/lib/locale/$*/locale_map
- $(Q)touch $@
--- a/misc/mk/pkgs.mk Tue Oct 20 13:45:43 2009 +0200
+++ b/misc/mk/pkgs.mk Thu Oct 22 10:09:58 2009 +0200
@@ -24,6 +24,7 @@
-include build/pkgs.d
+
.PHONY: install_svr4 install_ips
install_svr4: build/pkgs.d $(PKGS:%=build/%/.installed_prototype)
install_ips: build/pkgs.d $(PKGS:%=build/%/.installed_manifest)
@@ -50,9 +51,41 @@
cp $< $@
+$(LOCALES:%=build/%/.installed_locale): build/%/.installed_locale: build/%/32bit.so.3 build/%/64bit.so.3 build/%/locale_desc build/%/locale_map
+ $(Q)[ -d $(FILEROOT)/usr/lib/locale/$*/$(MACH64) ] || mkdir -p $(FILEROOT)/usr/lib/locale/$*/$(MACH64)
+ $(Q)cp build/$*/32bit.so.3 $(FILEROOT)/usr/lib/locale/$*/$*.so.3
+ $(Q)cp build/$*/64bit.so.3 $(FILEROOT)/usr/lib/locale/$*/$(MACH64)/$*.so.3
+ $(Q)cp build/$*/locale_desc $(FILEROOT)/usr/lib/locale/$*/locale_description
+ $(Q)cp build/$*/locale_map $(FILEROOT)/usr/lib/locale/$*/locale_map
+ $(Q)touch $@
+
+$(LOCALES:%=build/%/.installed_localesrc): build/%/.installed_localesrc: build/%/posix.src.bz2
+ $(Q)[ -d $(FILEROOT)/usr/lib/localedef/src/locales ] || mkdir -p $(FILEROOT)/usr/lib/localedef/src/locales
+ $(Q)cp build/$*/posix.src.bz2 $(FILEROOT)/usr/lib/localedef/src/locales/$*.src.bz2
+ $(Q)touch $@
+
+build/SUNWlocaledefsrc/.installed_charmap.%: build/%.cm.bz2
+ $(Q)[ -d $(FILEROOT)/usr/lib/localedef/src/charmaps ] || mkdir -p $(FILEROOT)/usr/lib/localedef/src/charmaps
+ $(Q)cp build/$*.cm.bz2 $(FILEROOT)/usr/lib/localedef/src/charmaps/$*.cm.bz2
+ $(Q)touch $@
+
+
+
# dependecies (little woo-doo, %pkg is hash of arrays, key is pkg_name, values are locales; look to the 'build/pkgs.d')
build/pkgs.d: $(LOCALES:%=build/%/pkg_name)
$(Q)$(PERL) -e 'push @{$$pkg{substr(`cat $$_`,0,-1)}},m!build/(.*)/pkg_name! foreach (glob "build/*/pkg_name"); \
- print "PKGS ?= " . join(" ", keys %pkg) . "\n"; \
- print "build/$$_/prototype: " . join(" ", map { "build/$$_/prototype build/$$_/.installed" } @{$$pkg{$$_}}) ."\n" foreach (keys %pkg); \
- print "build/$$_/manifest: " . join(" ", map { "build/$$_/manifest build/$$_/.installed" } @{$$pkg{$$_}}) ."\n" foreach (keys %pkg); ' > $@
+ print "PKGS ?= SUNWlocaledefsrc " . join(" ", keys %pkg) . "\n"; \
+ print "build/$$_/prototype: " . join(" ", map { "build/$$_/prototype build/$$_/.installed_locale" } @{$$pkg{$$_}}) ."\n" foreach (keys %pkg); \
+ print "build/$$_/manifest: " . join(" ", map { "build/$$_/manifest build/$$_/.installed_locale" } @{$$pkg{$$_}}) ."\n" foreach (keys %pkg); ' > $@
+
+# SUNWlocaledefsrc
+build/SUNWlocaledefsrc/prototype.src: build/SUNWlocaledefsrc/.dir $(LOCALES:%=build/%/.installed_localesrc) installed_charmaps
+ $(Q)cat misc/templates/prototype/localedefsrc > $@
+ $(Q)echo $(LOCALES)| $(PERL) -npe 's!\s*(\S+)!f none usr/lib/localedef/src/locales/\1.src.bz2 0644 root bin\n!g' >> $@
+
+build/SUNWlocaledefsrc/manifest.src: build/SUNWlocaledefsrc/.dir $(LOCALES:%=build/%/.installed_localesrc) installed_charmaps
+ $(Q)cat misc/templates/manifest/localedefsrc > $@
+ $(Q)echo $(LOCALES)| $(PERL) -npe 's!\s*(\S+)!file usr/lib/localedef/src/locales/\1.src.bz2 mode=0644 owner=root group=bin path=usr/lib/localedef/src/locales/\1.src.bz2\n!g' >> $@
+
+build/SUNWlocaledefsrc/prototype: build/SUNWlocaledefsrc/prototype.src
+build/SUNWlocaledefsrc/manifest: build/SUNWlocaledefsrc/manifest.src
--- a/misc/mk/spec.mk Tue Oct 20 13:45:43 2009 +0200
+++ b/misc/mk/spec.mk Thu Oct 22 10:09:58 2009 +0200
@@ -72,6 +72,7 @@
$(Q)$(PERL) -e 'my %loc = map { m!build/(.*)/cldr_variant! => `cat $$_` =~ m!.*copy_ctype=([^,\n]*).*! } qw($^); \
print "build/$$k/posix.src: $$v\n" while(($$k,$$v) = each %loc); %loc = map { $$_ => m!\.([^@]*)! } keys %loc; \
print "build/$$k/32bit.so.3 build/$$k/64bit.so.3: build/$$v.cm misc/$$v.x\n" while(($$k,$$v) = each %loc); \
+ print "installed_charmaps: " . join(" ", map { "build/SUNWlocaledefsrc/.installed_charmap.$$_" } grep { ! $$seen{$$_}++ } values %loc) . "\n"; \
print "build/cmap.c: " . join(" ", map { "build/$$_.cm" } grep { ! $$seen{$$_}++ } values %loc) . "\n";' > $@
-include build/cldr.d
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/misc/templates/prototype/localedefsrc Thu Oct 22 10:09:58 2009 +0200
@@ -0,0 +1,47 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+# Copyright 2009 Sun Microsystems, Inc. All rights reserved.
+# Use is subject to license terms.
+#
+
+d none usr 0755 root sys
+d none usr/lib 0755 root bin
+d none usr/lib/localedef 0755 root bin
+d none usr/lib/localedef/src 0755 root bin
+d none usr/lib/localedef/src/charmaps 0755 root bin
+
+f none usr/lib/localedef/src/charmaps/charmap.ansi-1251.bz2=usr/lib/localedef/src/charmaps/ANSI1251.cm.bz2 0644 root bin
+f none usr/lib/localedef/src/charmaps/charmap.iso-8859-1.bz2=usr/lib/localedef/src/charmaps/ISO8859-1.cm.bz2 0644 root bin
+f none usr/lib/localedef/src/charmaps/charmap.iso-8859-13.bz2=usr/lib/localedef/src/charmaps/ISO8859-13.cm.bz2 0644 root bin
+f none usr/lib/localedef/src/charmaps/charmap.iso-8859-15.bz2=usr/lib/localedef/src/charmaps/ISO8859-15.cm.bz2 0644 root bin
+f none usr/lib/localedef/src/charmaps/charmap.iso-8859-2.bz2=usr/lib/localedef/src/charmaps/ISO8859-2.cm.bz2 0644 root bin
+f none usr/lib/localedef/src/charmaps/charmap.iso-8859-5.bz2=usr/lib/localedef/src/charmaps/ISO8859-5.cm.bz2 0644 root bin
+f none usr/lib/localedef/src/charmaps/charmap.iso-8859-7.bz2=usr/lib/localedef/src/charmaps/ISO8859-7.cm.bz2 0644 root bin
+f none usr/lib/localedef/src/charmaps/charmap.iso-8859-8.bz2=usr/lib/localedef/src/charmaps/ISO8859-8.cm.bz2 0644 root bin
+f none usr/lib/localedef/src/charmaps/charmap.iso-8859-9.bz2=usr/lib/localedef/src/charmaps/ISO8859-9.cm.bz2 0644 root bin
+f none usr/lib/localedef/src/charmaps/charmap.koi8-r.bz2=usr/lib/localedef/src/charmaps/KOI8-R.cm.bz2 0644 root bin
+f none usr/lib/localedef/src/charmaps/charmap.utf-8.bz2=usr/lib/localedef/src/charmaps/UTF-8.cm.bz2 0644 root bin
+s none usr/lib/localedef/src/charmaps/charmap.ar.bz2=./charmap.iso-8859-6.bz2
+s none usr/lib/localedef/src/charmaps/charmap.he.bz2=./charmap.iso-8859-8.bz2
+
+d none usr/lib/localedef/src/locales 0755 root bin
+
+d none usr/lib/localedef/src/extensions 0755 root bin
--- a/misc/unicode.ctype Tue Oct 20 13:45:43 2009 +0200
+++ b/misc/unicode.ctype Thu Oct 22 10:09:58 2009 +0200
@@ -21,7 +21,7 @@
*
***************************************************************************************
*
-* Copyright 2006 Sun Microsystems, Inc. All rights reserved.
+* Copyright 2009 Sun Microsystems, Inc. All rights reserved.
* Use is subject to license terms.
*
***************************************************************************************