Blame packaging/PACKAGES

Packit 85c618
Copyright (C) 2000-2003, International Business Machines
Packit 85c618
Corporation and others.  All Rights Reserved.
Packit 85c618
ICU is packaged into a number of small, interdependent packages. This
Packit 85c618
file describes what these packages are, what their name should be
Packit 85c618
like, and what their contents are. It is useful as a reference and a
Packit 85c618
guide when packaging ICU on a new system.
Packit 85c618
Packit 85c618
+ List of ICU packages.
Packit 85c618
Packit 85c618
ICU is distributed as the following packages:
Packit 85c618
Packit 85c618
- ICU libraries. This package contains the runtime libraries needed by
Packit 85c618
applications that use ICU. All the other packages require this package
Packit 85c618
to be installed.
Packit 85c618
- ICU. This package contains the converters data, the timezones data,
Packit 85c618
and all the ICU tools.
Packit 85c618
- ICU locales. This package adds locales and break data.
Packit 85c618
- ICU development. This package contains the files necessary to build
Packit 85c618
applications that use ICU, i.e. header files, links to shared
Packit 85c618
libraries used by the linker, static libraries, etc... It also
Packit 85c618
contains sample applications and documentation.
Packit 85c618
- ICU docs. This package contains further documentation for ICU,
Packit 85c618
including a complete API reference.
Packit 85c618
- ICU data. This package contains the source for the compiled data
Packit 85c618
contained by the ICU package.
Packit 85c618
- ICU international data. This package contains the source for the
Packit 85c618
compiled data contained by the ICU locales package.
Packit 85c618
Packit 85c618
In this file, we will refer to Autoconf variables as in $(bindir). In
Packit 85c618
addition to these, we will use the following variables to denote
Packit 85c618
ICU-specific directories or information:
Packit 85c618
Packit 85c618
  VERSION       ICU's dotted version number, e.g. 1.6.0.1 as of this
Packit 85c618
		writing.
Packit 85c618
Packit 85c618
  ICUDATADIR	The directory where portable ICU data are. This is
Packit 85c618
	        defined as $(datadir)/icu/$(VERSION).
Packit 85c618
  ICULIBDIR	The directory where platform-specific ICU data
Packit 85c618
		are. This is defined as $(libdir)/icu/$(VERSION).
Packit 85c618
  ICUSYSCONFDIR	The directory where ICU configuration files are. This
Packit 85c618
		is defined as $(sysconfdir)/icu.
Packit 85c618
Packit 85c618
When referring to libraries, .so will be used to denote the extension
Packit 85c618
of a shared library, and .a to denote the extension of a static
Packit 85c618
library. These extensions will actually be different on some platforms.
Packit 85c618
Packit 85c618
+ Configuration and compilation of ICU
Packit 85c618
Packit 85c618
ICU should be configured with the following options:
Packit 85c618
Packit 85c618
  --with-data-packaging=files
Packit 85c618
  --disable-rpath
Packit 85c618
  --enable-shared
Packit 85c618
  --enable-static
Packit 85c618
  --without-samples
Packit 85c618
Packit 85c618
in addition to platform-specific settings (like a specific mandir or
Packit 85c618
sysconfdir). Note that the use of --disable-rpath assumes that the
Packit 85c618
packaging is made for a standard location, or that the package
Packit 85c618
installation/deinstallation will correctly manage the configuration
Packit 85c618
of the system's dyanmic loader. This is the right way of doing things.
Packit 85c618
Packit 85c618
The configure script invokation should also be done with
Packit 85c618
Packit 85c618
  CFLAGS="-O2"
Packit 85c618
Packit 85c618
set, as in:
Packit 85c618
Packit 85c618
  $ CFLAGS="-O2" ./configure ...
Packit 85c618
Packit 85c618
The files packaging mode is chosen because it offers the maximum
Packit 85c618
flexibility. Packages can be split easily, and system administrators
Packit 85c618
can add converters, aliases, and other resources with little
Packit 85c618
effort. Ideally, the ICU build will be modified to allow for distributing a
Packit 85c618
libicudata.so with all the converters and locales, but indexes and aliases
Packit 85c618
as separate files. But for now, this is the easiest way to get started.
Packit 85c618
Packit 85c618
+ The ICU libraries package
Packit 85c618
Packit 85c618
The ICU libraries package is typically named `libicuXX' where XX is
Packit 85c618
the major number of ICU's libraries. This number is ICU's version
Packit 85c618
number multiplied by 10 and rounded down to the nearest integer (it is
Packit 85c618
also the value of the LIB_VERSION_MAJOR configure substitution
Packit 85c618
variable). For example, for ICU 1.6.0.1, it is 16, so the package name
Packit 85c618
is `libicu16'. The major version is part of the package name to allow
Packit 85c618
for the simultaneous installation of different ICU releases.
Packit 85c618
Packit 85c618
This package contains:
Packit 85c618
Packit 85c618
- All the shared libraries, and their major number symbolic link, but
Packit 85c618
not the .so symbolic link that is only used at link time (this one is
Packit 85c618
part of the development package). These are $(libdir)/libicu*.so.* and
Packit 85c618
$(libdir)/libustdio.so.* at the time of this writing.
Packit 85c618
Packit 85c618
+ The ICU package
Packit 85c618
Packit 85c618
The ICU package is simply named `icu'.  It provides data used by the ICU
Packit 85c618
libraries package and commands to create and manipulate that data.
Packit 85c618
Packit 85c618
This package contains:
Packit 85c618
Packit 85c618
- The Unicode data files (uprops.dat and unames.dat as of this writing).
Packit 85c618
- The time zones data files (tz.dat).
Packit 85c618
- All the binary data files for converters (.cnv files).
Packit 85c618
- All the ICU commands.
Packit 85c618
- The manual pages for ICU commands and file formats.
Packit 85c618
Packit 85c618
+ The ICU locales package
Packit 85c618
Packit 85c618
The ICU locales package is named `icu-locales'. It provides data used by
Packit 85c618
internationalization support in ICU.
Packit 85c618
Packit 85c618
This package contains:
Packit 85c618
Packit 85c618
- All the data for locales in ICU (.dat files).
Packit 85c618
- All the break data for specific locales (.brk files).
Packit 85c618
Packit 85c618
+ The ICU development package
Packit 85c618
Packit 85c618
The ICU developpment package is named `libicu-dev'. It provides all
Packit 85c618
the files necessary to write applications that use ICU, along with
Packit 85c618
examples and some documentation.
Packit 85c618
Packit 85c618
This package contains:
Packit 85c618
Packit 85c618
- The /usr/include/unicode directory which contains all the ICU
Packit 85c618
headers.
Packit 85c618
- The .so symbolic links used by the linker to link against the
Packit 85c618
latest version of the libraries.
Packit 85c618
- A sample Makefile fragment that can be included by applications
Packit 85c618
using ICU, to faciliate their building, along with a platform-specific
Packit 85c618
configuration file included by this fragment.
Packit 85c618
- The sample applications from the ICU source tree, in an appropriate
Packit 85c618
location for the system that the package is installed on (for example,
Packit 85c618
on Debian, in /usr/share/doc/libicu-dev/examples).
Packit 85c618
Packit 85c618
This package depends on the ICU libraries package with the exact same
Packit 85c618
version, since it provides .so symbolic links to the latest libraries.
Packit 85c618
Packit 85c618
+ The ICU docs package
Packit 85c618
Packit 85c618
The ICU docs package is named `libicu-doc'. It contains the files
Packit 85c618
generated by doxygen when the `make doc' command is executed, in a
Packit 85c618
location appropriate for the system that the package is installed on.
Packit 85c618
Packit 85c618
+ The ICU data package
Packit 85c618
Packit 85c618
The ICU data package is named `icu-data'. It contains source files for
Packit 85c618
the data found in the ICU package. These files are installed in
Packit 85c618
$(ICUDATADIR).
Packit 85c618
Packit 85c618
+ The ICU international data package
Packit 85c618
Packit 85c618
The ICU data package is named `icu-i18ndata'. It contains source files for
Packit 85c618
the dat founf in the ICU locales package. These files are installed in
Packit 85c618
$(ICUDATADIR).
Packit 85c618
Packit 85c618
----
Packit 85c618
Yves Arrouye <yves@realnames.com>