diff --git a/icu4c/debian/README.Debian.libicu-dev b/icu4c/debian/README.Debian.libicu-dev index 8f1d7bb4315..af99c2af436 100644 --- a/icu4c/debian/README.Debian.libicu-dev +++ b/icu4c/debian/README.Debian.libicu-dev @@ -4,18 +4,6 @@ Corporation and others. All Rights Reserved. libicu-dev for Debian --------------------- -This package was debianized by Jay Berkenbilt on -August 5, 2005. - -The original source was downloaded from -ftp://ftp.software.ibm.com/software/globalization/icu/3.6/icu4c-3_6-src.tgz - -The main web sites for ICU are -http://icu.sourceforge.net/ -http://www.ibm.com/software/globalization/icu/ - ---------------------- - The documentation in /usr/share/doc/libicu-dev/docs/ provides a high-level overview of ICU. Detailed API documentation is provided by the icu-docs package. diff --git a/icu4c/debian/changelog b/icu4c/debian/changelog index 61ef9aeb519..379ee4b7b8d 100644 --- a/icu4c/debian/changelog +++ b/icu4c/debian/changelog @@ -1,84 +1,3 @@ -icu (3.6~d02-1) experimental; urgency=low - - * New upstream release. - * Remove special optimization hack to work around now-fixed m68k build - problems. (Closes: #360743) - * Update standards version. No changes required. - - -- Jay Berkenbilt Tue, 15 Aug 2006 16:34:34 -0400 - -icu (3.4.1a-1) unstable; urgency=low - - * Upstream re-released 3.4.1 without changing the version number because - the header file with 3.4.1 still said it was 3.4. Unfortunately, the - debian 3.4.1 package had already been uploaded. This "3.4.1a" release - now matches upstream's 3.4.1. - - -- Jay Berkenbilt Wed, 29 Mar 2006 22:19:08 -0500 - -icu (3.4.1-1) unstable; urgency=low - - * New upstream release - - -- Jay Berkenbilt Fri, 3 Mar 2006 23:07:52 -0500 - -icu (3.4-4) unstable; urgency=low - - * Build with g++ 4.0 with -fno-strict-aliasing to work around g++ 4.0 - bugs that impact ICU. Future versions should work properly with the - latest g++ without any special flags. (Closes: #342970) - * Enable static libraries. - - -- Jay Berkenbilt Sun, 22 Jan 2006 11:36:59 -0500 - -icu (3.4-3) unstable; urgency=low - - * Explicitly build with g++ 3.4. The current ICU fails its test suite - with 4.0 but not with 3.4. Future versions should work properly with - 4.0. - - -- Jay Berkenbilt Sat, 19 Nov 2005 11:29:31 -0500 - -icu (3.4-2) unstable; urgency=low - - * Remove some extraneous build steps that may cause problems with - autobuilders. - - -- Jay Berkenbilt Sat, 13 Aug 2005 12:41:35 -0400 - -icu (3.4-1) unstable; urgency=low - - * New upstream release - * Completely new packaging - - -- Jay Berkenbilt Fri, 5 Aug 2005 21:57:15 -0400 - -icu (2.1-3) unstable; urgency=low - - * New maintainer as per discussion with Ivo. - * g++ 4.0 transition: libicu21c102 is now libicu21c2. - * Accepted changes from NMU below for now. This change will be - reversed soon when icu is updated to the current upstream version. - The icu28 package will also be removed at that time, as per discussion - with the icu28 maintainer. Closes: #301316 - * Add shlibs files - - -- Jay Berkenbilt Sat, 9 Jul 2005 13:33:35 -0400 - -icu (2.1-2.1) unstable; urgency=medium - - * Rename icu-doc to icu21-doc. icu-doc is built by the icu28 package. - - -- Matthias Klose Sat, 21 May 2005 22:44:31 +0200 - -icu (2.1-2) unstable; urgency=low - - * debian/control: Changed maintainer, added Daniel Glassey as Uploader. - (Reference: - http://lists.debian.org/debian-devel/2003/debian-devel-200308/msg01963.html) - - -- Ivo Timmermans Sun, 18 Jan 2004 23:52:03 +0100 - icu (2.6.1-1) experimental; urgency=low * New upstream version. @@ -93,7 +12,6 @@ icu (2.6-1) experimental; urgency=low * New upstream version. Closes: #162975 * debian/control: New maintainers * Daniel Glassey: - * debian/rules Don't use --enable-static as it bloats the packages * debian/rules Change the optimisations to -O3 and -O to get it to build * debian/rules get the latest config.{sub,guess} from /usr/share/misc so add build-dep on autotools-dev @@ -118,6 +36,7 @@ icu (2.1-1.1) unstable; urgency=low * source/common/unicode/docmain.h: Fix \mainpage and \section tags, so doxygen doesn't get confused any more. Closes: #178344 * debian/copyright: Added upstream URL. Closes: #165780 + * -- Ivo Timmermans Fri, 14 Feb 2003 15:21:56 +0100 @@ -230,3 +149,7 @@ icu (1.6.0.1-20001017-1) unstable; urgency=low * Initial Release. -- Yves Arrouye Tue, 24 Oct 2000 16:14:12 -0700 + +Local variables: +mode: debian-changelog +End: diff --git a/icu4c/debian/control b/icu4c/debian/control index f8fbdda019e..a183a62d463 100644 --- a/icu4c/debian/control +++ b/icu4c/debian/control @@ -1,39 +1,90 @@ Source: icu Section: libs Priority: optional -Maintainer: Jay Berkenbilt -Standards-Version: 3.7.2 -Build-Depends: cdbs, debhelper (>= 4.1.0), doxygen +Maintainer: Daniel Glassey +Uploaders: Ivo Timmermans +Standards-Version: 3.6.0 +Build-Depends: debhelper (>> 3.0), doxygen, autotools-dev -Package: libicu36 -Section: libs +Package: libicu30-dev +Section: devel Architecture: any -Depends: ${shlibs:Depends} -Replaces: icu, icu-locales -Conflicts: icu, icu-locales -Description: International Components for Unicode (libraries) - ICU is a C++ and C library that provides robust and full-featured - Unicode and locale support. This package contains the runtime - libraries for ICU. - -Package: libicu36-dev -Section: libdevel -Architecture: any -Depends: libicu36 (= ${Source-Version}), libc6-dev | libc-dev +Depends: libicu${major} (= ${Source-Version}), libc6-dev Provides: libicu-dev -Replaces: libicu21-dev, libicu28-dev, icu-data, icu-i18ndata -Conflicts: libicu21-dev, libicu28-dev, libicu-dev, icu-data, icu-i18ndata, libicu34-dev +Conflicts: libicu-dev Suggests: icu-doc Description: International Components for Unicode (development files) - ICU is a C++ and C library that provides robust and full-featured - Unicode and locale support. This package contains the development - files for ICU along with programs used to manipulate data files found - in the ICU sources. + ICU is a C++ and C library that provides robust and full-featured Unicode + and locale support. This package contains the development files for ICU. Package: icu-doc Section: doc Architecture: all Description: API documentation for ICU classes and functions - ICU is a C++ and C library that provides robust and full-featured - Unicode and locale support. This package contains HTML files - documenting the ICU APIs. + ICU is a C++ and C library that provides robust and full-featured Unicode + and locale support. This package contains HTML files documenting the ICU + APIs. + +Package: libicu30 +Section: libs +Architecture: any +Depends: ${shlibs:Depends} +Recommends: icu +Description: International Components for Unicode (libraries) + ICU is a C++ and C library that provides robust and full-featured Unicode + and locale support. This package contains the runtime libraries for + ICU. It does not contain any of the data files needed at runtime and + present in the `icu' and `icu-locales` packages. + +Package: icu +Section: libs +Architecture: any +Depends: libicu${major} (>= ${Source-Version}), make +Recommends: icu-locales +Description: International Components for Unicode (non locale data) + ICU is a C++ and C library that provides robust and full-featured Unicode + and locale support. The library provides calendar support, conversions + for more than 230 character sets, language-sensitive collation, date + and time formatting, support for more than 140 locales, message catalogs + and resources, message formatting, normalization, number and currency + formatting, time zones support, transliteration, word, line and + sentence breaking, etc. + . + This package contains the Unicode character database and derived + properties, along with converters and time zones data. + It also contains the tools needed to manipulate these data. + +Package: icu-locales +Section: libs +Architecture: any +Depends: libicu${major} (>= ${Source-Version}) +Description: Locale data for ICU + The locale data are used by ICU to provide localization (l10n) and + internationalization (i18n) support to applications using the ICU library. + This package also contains break data for various languages, and + transliteration data. + +Package: icu-data +Priority: extra +Section: libs +Architecture: all +Depends: icu +Description: Data for ICU (source files) + These data describe the Unicode data (normative and informative), and + also all the table-based converters provided in the ICU distribution. + . + This package contains uncompiled source data. Precompiled data are in the + `libicu${major}' package. + +Package: icu-i18ndata +Priority: extra +Section: libs +Architecture: all +Depends: icu +Description: Locale data for ICU (source files) + The locale data are used by ICU to provide localization (l10n) and + internationalization (i18n) support to ICU applications. This package + also contains break data for various languages, and transliteration data. + . + This package contains uncompiled source data. Precompiled data are in the + `icu-locales' package. diff --git a/icu4c/debian/icu-doc.install b/icu4c/debian/icu-doc.install deleted file mode 100644 index 060a2631e22..00000000000 --- a/icu4c/debian/icu-doc.install +++ /dev/null @@ -1 +0,0 @@ -debian/tmp/usr/share/doc/icu/html usr/share/doc/icu-doc diff --git a/icu4c/debian/rules b/icu4c/debian/rules index 7aec9d6ac2a..47d6dea3a92 100755 --- a/icu4c/debian/rules +++ b/icu4c/debian/rules @@ -1,47 +1,256 @@ #!/usr/bin/make -f # Copyright (c) 2000-2006 International Business Machines # Corporation and others. All Rights Reserved. +# ICU debian/rules that uses debhelper. -# To distinguish variables that are truly local to this file (rather -# than for use by cdbs), we adopt the convention of starting local -# variables' names with l_. +# The Debian packages for ICU are created and maintained by +# Yves Arrouye . They are part of Debian GNU/Linux +# since the Debian woody release. -l_PWD := $(shell pwd) -l_STAMPS := debian/l_stamps -l_RUN_CHECK := 1 +# Decide whether we want to automatically manage the repackaging of +# the common data from individual files or not. +ICU_AUTO_COMMON=NO -# Variables used by cdbs +# Uncomment this to turn on verbose mode. +#export DH_VERBOSE=1 -VERSION := $(shell dpkg-parsechangelog | \ - awk '/Version:/ {print $$2}' | cut -d- -f 1) +# This is the debhelper compatability version to use. +export DH_COMPAT=2 +#firstdir := $(shell sed -n 's/Package: \(.*\)/\1/p' debian/control | head -1)else -DEB_TAR_SRCDIR = icu/source -DEB_CONFIGURE_USER_FLAGS = --disable-samples --enable-static -DEB_COMPRESS_EXCLUDE = html examples -DEB_INSTALL_EXAMPLES_libicu36-dev = \ - build-tree/$(DEB_TAR_SRCDIR)/samples/* -# Include cdbs rules files. -include /usr/share/cdbs/1/rules/tarball.mk -include /usr/share/cdbs/1/rules/simple-patchsys.mk -include /usr/share/cdbs/1/rules/debhelper.mk -include /usr/share/cdbs/1/class/autotools.mk +# Where the source for ICU is, where to build +srcdir = source +builddir = build +# How to get to $(srcdir) from $(builddir) +builddir_relative_topdir = .. +builddir_relative_srcdir = $(builddir_relative_topdir)/$(srcdir) -DEB_MAKE_INSTALL_TARGET += install-doc +# Getting the ICU version numbers, stolen from configure.in (that's okay, I +# wrote the configure.in part anyway) -cleanbuilddir:: - $(RM) -r $(l_STAMPS) +version := $(shell sed -n -e 's/^[ ]*\#[ ]*define[ ]*U_ICU_VERSION[ ]*"\([^"]*\)".*/\1/p' $(srcdir)/common/unicode/uversion.h) +libversion := $(shell echo $(version) | sed -e 's/\.//' -e 's/^\([^.]*\)$$/\1.0/') +major := $(shell echo $(libversion) | sed 's/\..*//') -# As 0.4.21, cdbs creates but doesn't remove debian/compat. It -# creates it conditionally, so this doesn't have a trivial fix. -clean:: - $(RM) debian/compat *.cdbs-config_list +# ICU installation directories, w/o the initial slash +pkgdatadir = usr/share/icu +icudatadir = $(pkgdatadir)/$(version) +pkglibdir = usr/lib/icu +iculibdir = $(pkglibdir)/$(version) +datasrcdir = usr/share/icu/$(version)/data +# This is where data needs to be moved +ifeq ($(ICU_AUTO_COMMON),YES) +icufildir = $(iculibdir)/files +else +icufildir = $(iculibdir) +endif -binary-post-install/libicu36-dev:: - find debian/$(cdbs_curpkg) -type f -name .cvsignore | xargs rm +# Build flags -# Install lintian override files -binary-post-install/%:: - if [ -f debian/$*.lintian ]; then \ - mkdir -p debian/$*/usr/share/lintian/overrides && \ - cp -p debian/$*.lintian debian/$*/usr/share/lintian/overrides/$*; \ +CFLAGS = -O3 # -Wall +ifeq ($(shell uname -m),s390) +CXXFLAGS = -O1 # -Wall +else +CXXFLAGS = -O # -Wall +endif + +INSTALL_PROGRAM = /usr/bin/install + +ifneq (,$(findstring debug,$(DEB_BUILD_OPTIONS))) +CFLAGS += -g +CXXFLAGS += -g +endif +ifneq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS))) +INSTALL_PROGRAM += -s +endif + +all: build + +configure: $(builddir)/configure-stamp +$(builddir)/configure-stamp: + # Add here commands to configure the package. + test -d $(builddir) || mkdir $(builddir) + cd $(builddir); CFLAGS='$(CFLAGS)' CXXFLAGS='$(CXXFLAGS)' INSTALL_PROGRAM='$(INSTALL_PROGRAM)' $(SHELL) $(builddir_relative_srcdir)/configure --srcdir=$(builddir_relative_srcdir) --prefix=/usr --mandir=/usr/share/man --sysconfdir=/etc --localstatedir=/var --with-data-packaging=files --enable-shared --enable-static --disable-samples + touch $@ + +build: $(builddir)/configure-stamp debian-files $(builddir)/build-stamp + +# Build some Debian files +DEBIAN_FILES=icu.conffiles postinst prerm icu.postinst icu.prerm libicu$(major).postinst README.Debian.libicu$(major)-dev + +debian/%: debian/%.in + cd $(builddir) \ + && CONFIG_FILES=$(builddir_relative_topdir)/$@ CONFIG_HEADERS= $(SHELL) ./config.status + +debian/libicu$(major)%: debian/libicu% + cp $< $@ +debian/README.Debian.libicu$(major)%: debian/README.Debian.libicu% + cp $< $@ + +debian-files: $(addprefix debian/,$(DEBIAN_FILES)) + +$(builddir)/build-stamp: + dh_testdir + + # Add here commands to compile the package. + $(MAKE) -C $(builddir) + $(MAKE) -C $(builddir) doc + + touch $@ + +clean: update-debian-files + dh_testdir + dh_testroot + -test -r /usr/share/misc/config.sub && \ + cp -f /usr/share/misc/config.sub $(srcdir)/config.sub + -test -r /usr/share/misc/config.guess && \ + cp -f /usr/share/misc/config.guess $(srcdir)/config.guess + + $(RM) $(builddir)/build-stamp $(builddir)/configure-stamp + + # Add here commands to clean up after the build process. + -$(MAKE) -C $(builddir) distclean + #-$(RM) `find $(builddir)/samples $(builddir)/test -name Makefile -print` + -$(RM) `find $(builddir) -name Makefile -print` + dh_clean + $(RM) $(addprefix debian/,$(DEBIAN_FILES)) debian/control.new + + #if test -d $(builddir) -a $(builddir) != $(srcdir); then rmdir `find $(builddir) -type d -print | sort -r`; fi + if test -d $(builddir) -a $(builddir) != $(srcdir); then $(RM) -r $(builddir); fi + +install: build + dh_testdir + dh_testroot + dh_clean -k + dh_installdirs + + # Add here commands to install the package into debian/tmp + $(MAKE) -C $(builddir) install DESTDIR=`pwd`/debian/tmp + $(MAKE) -C $(builddir) install-doc DESTDIR=`pwd`/debian/tmp + +# Build architecture-independent files here. +binary-indep: build install + # + # build icu-doc package by moving files + # + mv debian/tmp/usr/share/doc/icu debian/tmp/usr/share/doc/icu-doc + dh_movefiles -picu-doc \ + usr/share/doc/icu-doc + # + # build icu-i18ndata from the source data + # + for d in locales translit brkitr; do \ + test -d debian/icu-i18ndata/$(datasrcdir)/$$d || \ + mkdir -p debian/icu-i18ndata/$(datasrcdir)/$$d; \ + install -m 644 $(srcdir)/data/$$d/*.* \ + debian/icu-i18ndata/$(datasrcdir)/$$d; \ + done + # + # build icu-data from the source data + # + for d in mappings unidata misc; do \ + test -d debian/icu-data/$(datasrcdir)/$$d || \ + mkdir -p debian/icu-data/$(datasrcdir)/$$d; \ + install -m 644 $(srcdir)/data/$$d/*.* \ + debian/icu-data/$(datasrcdir)/$$d; \ + done + +# Build architecture-dependent files here. +binary-arch: build install +# dh_testversion + dh_testdir + dh_testroot + # + # build libicu${major} package by moving files from icu-dev + # + $(RM) debian/tmp/usr/lib/libicuctestfw.* + dh_movefiles -plibicu$(major) \ + usr/lib/*.so.* + mkdir debian/libicu$(major)/usr/lib/icu + # + # massage data files + # +# $(RM) debian/tmp/$(iculibdir)/cnvalias.dat +ifneq ($(iculibdir),$(icufildir)) + test -d debian/tmp/$(icufildir) || mkdir debian/tmp/$(icufildir) + mv debian/tmp/$(iculibdir)/*.* debian/tmp/$(icufildir) + mv debian/tmp/$(icufildir)/*msg.dat debian/tmp/$(iculibdir) + mv debian/tmp/$(icufildir)/*.inc debian/tmp/$(iculibdir) +endif + # + # build icu package by moving files from icu-dev + # + $(RM) debian/tmp/$(iculibdir)/../Makefile.inc debian/tmp/$(iculibdir)/../current +ifneq ($(iculibdir),$(icufildir)) + dh_movefiles -picu \ + $(iculibdir)/*msg.dat +endif + # The license.html must be installed with ICU's source code. + # This includes the headers. + dh_movefiles -picu \ + etc \ + usr/bin \ + usr/sbin \ + $(icudatadir)/license.html \ + $(iculibdir)/*.inc \ + $(icufildir)/*.cnv \ + $(icufildir)/*.dat \ + usr/share/man + # + # build icu-locales package by moving files from icu-dev + # + dh_movefiles -picu-locales \ + $(icufildir)/*.res \ + $(icufildir)/*.brk + # + # move the rest of the development files + # in their package + # + dh_movefiles -a usr + # + # do a bit of cleanup + # + $(RM) -r debian/tmp/etc debian/tmp/usr/sbin \ + debian/tmp/usr/share/man + # + # continue to prepare packages + # +# dh_installdebconf + dh_installdocs -a + dh_installexamples -a $(srcdir)/samples/* + find debian/libicu$(major)-dev -name CVS -o -name .cvsignore | xargs $(RM) -r + dh_installmenu -a +# dh_installemacsen +# dh_installpam +# dh_installinit + dh_installcron -a + dh_installmanpages -picu + dh_installinfo -a + # dh_undocumented -picu + dh_installchangelogs -a + dh_link -a + dh_strip -a + dh_compress -a + dh_fixperms -a + # You may want to make some executables suid here. + dh_makeshlibs -a + dh_installdeb -a +# dh_perl + dh_shlibdeps -a -ldebian/libicu$(major)/usr/lib + dh_gencontrol -a -- -Vversion=$(version) -Vmajor=$(major) + dh_md5sums -a + dh_builddeb -a + +# Automatically update changelog and control +update-debian-files: + if [ x"$$NO_AUTO_DCH" = x ]; \ + then \ + cvers=`sed -n 's/^icu (\([^)]*\)).*/\1/p' debian/changelog | head -1`; if dpkg --compare-versions $$cvers lt $(version)-1; then \ + dch -v $(version)-1 "Update to ICU version $(version). (This comment is generated.)"; \ + sed 's/libicu[0-9][0-9]*/libicu$(major)/g' debian/control >debian/control.new && mv debian/control.new debian/control; \ + fi; \ fi + +binary: update-debian-files binary-indep binary-arch +.PHONY: build clean binary-indep binary-arch binary install debian-files update-changelog + diff --git a/icu4c/debian/watch.not-yet b/icu4c/debian/watch.not-yet deleted file mode 100644 index d422394c26d..00000000000 --- a/icu4c/debian/watch.not-yet +++ /dev/null @@ -1,16 +0,0 @@ -# Copyright (c) 2006-2006 International Business Machines -# Corporation and others. All Rights Reserved. -# -# This doesn't work because ICU upstream doesn't always have the -# latest version in the latest directory. See debian bug 375138 for -# details. - -version=3 - -# ICU repackaged 3.4.1 without changing the version number, so we -# called our local version 3.4.1a. These opts could be removed when -# the latest version no longer needs to be hacked locally. We -# hardcode 3.4.1 here because we are not going to generally be adding -# "a" to the end of the version number.... -opts="uversionmangle=s/^(3\.6)$/$1a/" \ - ftp://ftp.software.ibm.com/software/globalization/icu/(?:\d+\.[\d\.]+)/icu4c-([\d\.]+).tgz