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