README
1
2 OPENSOLARIS.ORG G11N LOCALE WORKSPACE
3 =====================================
4
5 This file describes the structure and contains the instructions for
6 downloading and building the G11n Locale workspace for OpenSolaris.
7
8
9 Description of the Workspace
10 ----------------------------
11
12 This workspace is a part of G11n Common Workspace (CWS). Along with other parts
13 it allows to build all OpenSolaris.org G11n packages. See build instructions at:
14 http://www.opensolaris.org/os/project/nv-g11n/documents/building/
15
16 The workspace allows to compile OpenSolaris locale data objects (locales) based
17 on the CLDR data (http://cldr.unicode.org/). This workspace does not contain the
18 upstream sources and tools. The sources are downloaded during the build process,
19 so internet access is required to build the workspace.
20
21
22 Structure of the Workspace
23 --------------------------
24
25 ./Makefile master makefile
26
27 ./downloads/ all data downloaded from internet,
28 'make clean' does not clean this directory
29 some are built from upstream
30
31 ./locales/*.spec locale spec files (see 'Locale Spec File Structure' section)
32
33 ./misc/ misc files for locale object generation
34
35 ./misc/mk/ makefiles for the workspace
36
37 ./misc/patches/ patches of upstream code
38
39 ./misc/patches/cldr_core/ patches of CLDR locale data,
40 fix known bugs or add solaris specific code
41
42 ./misc/patches/cldr_tools/ patches of CLDR tools,
43 fix known bugs and add solaris specific code
44
45 ./misc/templates/prototype/ prototypes templates
46
47 ./misc/templates/manifest/ manifest templates
48
49 ./misc/templates/locale_map/ locale_map templates
50
51 ./tools tools used for build
52
53 (./build) all build files are created in the dir
54 (the dir is created during the build process,
55 'make clean' = rm -Rf ./build)
56
57
58 Locale Specification File Structure
59 -----------------------------------
60
61 Locale is described by files locale/*.spec. The files are named:
62 locales/xx_YY.eee[@variant].spec
63
64 Format of the files is:
65 # comments ...
66 <key>TAB+<data>
67
68 If a key is missing default value is used. The default value is perfect for
69 most of the locales, so for ordinary locales the file is empty.
70
71
72 Keys:
73 pkg_name pkg name for the locale
74 default: 'lang-xx'
75
76 cldr_variant cldr locale variant, see XXX for description
77 default: 'xx_YY'
78
79 locale_desc locale description (/usr/lib/locales/<loc>/locale_description file)
80 default: 'Language, Country (Encoding)'
81
82 prototype pkg prototype
83 default: 'utf8'
84
85 manifest ips manifest
86 default: 'header,utf8'
87
88 locale_map locale_map (/usr/lib/locale/<loc>/locale_mask file)
89 default: 'default'
90
91
92
93
94 Build Instructions
95 ------------------
96
97 The following build instructions are for OpenSolaris 2009.06 (and later).
98 Building on older versions of Solaris/OpenSolaris is possible, but there
99 would be difference in installation of the build tools.
100
101
102 Prepare the build environment:
103
104 $ pfexec pkg install SUNWmercurial SUNWgmake SUNWant sunstudio
105 $ # 'pfexec svccfg -s application/pkg/server setprop pkg/port=10000'
106 $ # or 'export PKG_REPO=http://localhost:80'
107 $ # pfexec svccfg -s application/pkg/server setprop pkg/inst_root=/export/home/tester/repository
108 $ pfexec svcadm refresh application/pkg/server
109 $ pfexec svcadm restart pkg/server
110
111 $ hg clone ssh://anon (a] hg.opensolaris.org/hg/nv-g11n/locale g11n-locale
112 $ cd g11n-locale
113
114
115 Build the workspace:
116
117 $ gmake (use '-j X', where X=#CPU+1 on multicore machines)
118
119
120 Test the pkgs:
121
122 $ gmake ips
123 $ pfexec pkg install SUNWlang-xx
124
125