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