[neon/backports-focal/icu/Neon/unstable] /: manual copy of package
Jonathan Esk-Riddell
null at kde.org
Thu Mar 3 11:08:34 GMT 2022
Git commit e875dd00b19f76aac061ef0afc98dbd85c30ccb9 by Jonathan Esk-Riddell.
Committed on 03/03/2022 at 11:08.
Pushed by jriddell into branch 'Neon/unstable'.
manual copy of package
D +0 -92 README.md
A +18 -0 debian/README.source
A +1284 -0 debian/changelog
A +5 -0 debian/clean
A +73 -0 debian/control
A +49 -0 debian/copyright
A +52 -0 debian/fix_substvars.pl
A +13 -0 debian/icu-devtools.install
A +13 -0 debian/icu-doc.doc-base
A +1 -0 debian/icu-doc.install
A +6 -0 debian/libicu-dev.install
A +6 -0 debian/libicu70.install
A +3 -0 debian/libicu70.lintian-overrides
A +6 -0 debian/libicu70.shlibs
A +39 -0 debian/patches/Fix_ucptrietest_golden_diff.patch
A +26 -0 debian/patches/Fix_undefined_behaviour_in_ComplexUnitsConverter_applyRounder.patch
A +15 -0 debian/patches/icudata-stdlibs.patch
A +3 -0 debian/patches/series
A +74 -0 debian/rules
A +1 -0 debian/source/format
A +10 -0 debian/tests/build-test
A +7 -0 debian/tests/control
A +11 -0 debian/tests/smoke
A +622 -0 debian/tests/ustring.cpp *
A +962 -0 debian/upstream/signing-key.asc
A +6 -0 debian/watch
The files marked with a * at the end have a non valid license. Please read: https://community.kde.org/Policies/Licensing_Policy and use the headers which are listed at that page.
https://invent.kde.org/neon/backports-focal/icu/commit/e875dd00b19f76aac061ef0afc98dbd85c30ccb9
diff --git a/README.md b/README.md
deleted file mode 100644
index fee2aa5..0000000
--- a/README.md
+++ /dev/null
@@ -1,92 +0,0 @@
-# icu
-
-icu (manual copy, no debian repo)
-
-## Getting started
-
-To make it easy for you to get started with GitLab, here's a list of recommended next steps.
-
-Already a pro? Just edit this README.md and make it your own. Want to make it easy? [Use the template at the bottom](#editing-this-readme)!
-
-## Add your files
-
-- [ ] [Create](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#create-a-file) or [upload](https://docs.gitlab.com/ee/user/project/repository/web_editor.html#upload-a-file) files
-- [ ] [Add files using the command line](https://docs.gitlab.com/ee/gitlab-basics/add-file.html#add-a-file-using-the-command-line) or push an existing Git repository with the following command:
-
-```
-cd existing_repo
-git remote add origin https://invent.kde.org/neon/backports-focal/icu.git
-git branch -M master
-git push -uf origin master
-```
-
-## Integrate with your tools
-
-- [ ] [Set up project integrations](https://invent.kde.org/neon/backports-focal/icu/-/settings/integrations)
-
-## Collaborate with your team
-
-- [ ] [Invite team members and collaborators](https://docs.gitlab.com/ee/user/project/members/)
-- [ ] [Create a new merge request](https://docs.gitlab.com/ee/user/project/merge_requests/creating_merge_requests.html)
-- [ ] [Automatically close issues from merge requests](https://docs.gitlab.com/ee/user/project/issues/managing_issues.html#closing-issues-automatically)
-- [ ] [Enable merge request approvals](https://docs.gitlab.com/ee/user/project/merge_requests/approvals/)
-- [ ] [Automatically merge when pipeline succeeds](https://docs.gitlab.com/ee/user/project/merge_requests/merge_when_pipeline_succeeds.html)
-
-## Test and Deploy
-
-Use the built-in continuous integration in GitLab.
-
-- [ ] [Get started with GitLab CI/CD](https://docs.gitlab.com/ee/ci/quick_start/index.html)
-- [ ] [Analyze your code for known vulnerabilities with Static Application Security Testing(SAST)](https://docs.gitlab.com/ee/user/application_security/sast/)
-- [ ] [Deploy to Kubernetes, Amazon EC2, or Amazon ECS using Auto Deploy](https://docs.gitlab.com/ee/topics/autodevops/requirements.html)
-- [ ] [Use pull-based deployments for improved Kubernetes management](https://docs.gitlab.com/ee/user/clusters/agent/)
-- [ ] [Set up protected environments](https://docs.gitlab.com/ee/ci/environments/protected_environments.html)
-
-***
-
-# Editing this README
-
-When you're ready to make this README your own, just edit this file and use the handy template below (or feel free to structure it however you want - this is just a starting point!). Thank you to [makeareadme.com](https://www.makeareadme.com/) for this template.
-
-## Suggestions for a good README
-Every project is different, so consider which of these sections apply to yours. The sections used in the template are suggestions for most open source projects. Also keep in mind that while a README can be too long and detailed, too long is better than too short. If you think your README is too long, consider utilizing another form of documentation rather than cutting out information.
-
-## Name
-Choose a self-explaining name for your project.
-
-## Description
-Let people know what your project can do specifically. Provide context and add a link to any reference visitors might be unfamiliar with. A list of Features or a Background subsection can also be added here. If there are alternatives to your project, this is a good place to list differentiating factors.
-
-## Badges
-On some READMEs, you may see small images that convey metadata, such as whether or not all the tests are passing for the project. You can use Shields to add some to your README. Many services also have instructions for adding a badge.
-
-## Visuals
-Depending on what you are making, it can be a good idea to include screenshots or even a video (you'll frequently see GIFs rather than actual videos). Tools like ttygif can help, but check out Asciinema for a more sophisticated method.
-
-## Installation
-Within a particular ecosystem, there may be a common way of installing things, such as using Yarn, NuGet, or Homebrew. However, consider the possibility that whoever is reading your README is a novice and would like more guidance. Listing specific steps helps remove ambiguity and gets people to using your project as quickly as possible. If it only runs in a specific context like a particular programming language version or operating system or has dependencies that have to be installed manually, also add a Requirements subsection.
-
-## Usage
-Use examples liberally, and show the expected output if you can. It's helpful to have inline the smallest example of usage that you can demonstrate, while providing links to more sophisticated examples if they are too long to reasonably include in the README.
-
-## Support
-Tell people where they can go to for help. It can be any combination of an issue tracker, a chat room, an email address, etc.
-
-## Roadmap
-If you have ideas for releases in the future, it is a good idea to list them in the README.
-
-## Contributing
-State if you are open to contributions and what your requirements are for accepting them.
-
-For people who want to make changes to your project, it's helpful to have some documentation on how to get started. Perhaps there is a script that they should run or some environment variables that they need to set. Make these steps explicit. These instructions could also be useful to your future self.
-
-You can also document commands to lint the code or run tests. These steps help to ensure high code quality and reduce the likelihood that the changes inadvertently break something. Having instructions for running tests is especially helpful if it requires external setup, such as starting a Selenium server for testing in a browser.
-
-## Authors and acknowledgment
-Show your appreciation to those who have contributed to the project.
-
-## License
-For open source projects, say how it is licensed.
-
-## Project status
-If you have run out of energy or time for your project, put a note at the top of the README saying that development has slowed down or stopped completely. Someone may choose to fork your project or volunteer to step in as a maintainer or owner, allowing your project to keep going. You can also make an explicit request for maintainers.
diff --git a/debian/README.source b/debian/README.source
new file mode 100644
index 0000000..bfdc143
--- /dev/null
+++ b/debian/README.source
@@ -0,0 +1,18 @@
+INFORMATION SPECIFIC TO ICU
+===========================
+
+The packaging guidelines in the ICU documentation suggest that
+packagers should use the --enable-renaming option to ./configure. We
+should not do this could potentially result in using the same soname
+with ABI changes. Although ICU guarantees that no documented parts of
+the public ABI will change, there is nothing to stop people from using
+undocumented or deprecated interfaces. For additional details, please
+see the thread about this topic on the icu-design list. You can get
+to the mailing list archives here:
+
+http://sourceforge.net/mailarchive/forum.php?forum_name=icu-design
+
+and find the thread from June 10, 2008 with the subject "debian: use
+of --disable-rename and ICU library sonames".
+
+ -- Jay Berkenbilt <qjb at debian.org>, Sat, 6 Feb 2010 16:47:07 -0500
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 0000000..2a45e7a
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,1284 @@
+icu (70.1-2) experimental; urgency=medium
+
+ * Backport fix for ucptrietest golden diff.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Thu, 04 Nov 2021 07:01:38 +0100
+
+icu (70.1-1) experimental; urgency=medium
+
+ * New major upstream release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Mon, 01 Nov 2021 20:45:57 +0100
+
+icu (70.1~rc-1) experimental; urgency=medium
+
+ * New major upstream release candidate version.
+ * Update homepage location.
+ * Update watch file.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Thu, 30 Sep 2021 15:09:38 +0200
+
+icu (69.1-2) experimental; urgency=high
+
+ * Backport upstream security fix for CVE-2021-30535: crash caused by locale
+ assign/move operators.
+ * Backport proposed fix for undefined behaviour in
+ ComplexUnitsConverter::applyRounder() .
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Tue, 06 Jul 2021 17:40:00 +0200
+
+icu (69.1-1) experimental; urgency=medium
+
+ * New major upstream release.
+ * Update debhelper level to 13 .
+ * Update homepage location.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Sun, 11 Apr 2021 11:12:58 +0200
+
+icu (68.2-1) experimental; urgency=medium
+
+ * New upstream release.
+ * Fix autopkg tests.
+ * Update Standards-Version to 4.5.1 .
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Thu, 17 Dec 2020 23:59:11 +0100
+
+icu (68.1-1) experimental; urgency=medium
+
+ * New major upstream release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Thu, 29 Oct 2020 17:29:01 +0100
+
+icu (68.1~rc-1) experimental; urgency=medium
+
+ * New major upstream release candidate version.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Sat, 10 Oct 2020 09:44:25 +0200
+
+icu (68.1~alpha-1) experimental; urgency=medium
+
+ * New major upstream alpha version.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Mon, 05 Oct 2020 01:02:38 +0200
+
+icu (67.1-4) unstable; urgency=medium
+
+ * Backport upstream fix for missing empty string checks in
+ addLikelySubtags() and minimizeSubtags() (closes: #968609).
+ * Update watch file.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Tue, 18 Aug 2020 17:39:36 +0200
+
+icu (67.1-3) unstable; urgency=medium
+
+ * Don't run self-tests parallel until make-dfsg is fixed (closes: #964682).
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Wed, 15 Jul 2020 06:51:53 +0200
+
+icu (67.1-2) unstable; urgency=medium
+
+ * Upload to Sid.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Mon, 01 Jun 2020 14:58:12 +0200
+
+icu (67.1-1) experimental; urgency=medium
+
+ * New major upstream release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Fri, 24 Apr 2020 09:41:25 +0000
+
+icu (67.1~rc-1) experimental; urgency=medium
+
+ * New major upstream release candidate version.
+
+ [ Dimitri John Ledkov <xnox at ubuntu.com> ]
+ * Build with U_TIMEZONE_FILES_DIR defined to update tzdata post-release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Sat, 04 Apr 2020 09:49:40 +0000
+
+icu (66.1-2) experimental; urgency=high
+
+ * Backport upstream security fix for CVE-2020-10531: SEGV_MAPERR in
+ UnicodeString::doAppend() (closes: #953747).
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Fri, 13 Mar 2020 00:18:02 +0000
+
+icu (66.1-1) experimental; urgency=medium
+
+ * New major upstream release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Wed, 11 Mar 2020 23:46:38 +0000
+
+icu (66.1~rc-1) experimental; urgency=medium
+
+ * New major upstream release candidate version.
+ * Update debhelper level to 12 .
+ * Update Standards-Version to 4.5.0 .
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Sat, 29 Feb 2020 17:25:27 +0000
+
+icu (65.1-1) experimental; urgency=medium
+
+ * New major upstream release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Fri, 04 Oct 2019 00:19:19 +0000
+
+icu (65.1~rc-1) experimental; urgency=medium
+
+ * New major upstream release candidate version.
+ * ICU time zone data update for 2019c.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Tue, 17 Sep 2019 16:51:06 +0000
+
+icu (64.2-4) experimental; urgency=medium
+
+ * Fix big-endian FTBFS.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Tue, 10 Sep 2019 20:23:08 +0000
+
+icu (64.2-3) experimental; urgency=medium
+
+ * Backport upstream fixes:
+ - ICU-20558 fix regression in DateTimePatternGenerator,
+ - ICU-20575 fix broken default locale mapping for C.UTF-8 .
+ * Disable flaky self-tests to fix FTBFS.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Mon, 26 Aug 2019 18:23:05 +0000
+
+icu (64.2-2) experimental; urgency=medium
+
+ * Fix build dependencies.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Wed, 07 Aug 2019 15:19:46 +0000
+
+icu (64.2-1) experimental; urgency=medium
+
+ * New major upstream release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Fri, 26 Jul 2019 19:01:33 +0000
+
+icu (63.2-2) unstable; urgency=medium
+
+ * Revert ICU-20250 (ICU 63 UnicodeSet startup performance regression) to
+ fix ABI break (closes: #929474).
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Sat, 08 Jun 2019 21:46:51 +0000
+
+icu (63.2-1) experimental; urgency=medium
+
+ * New upstream release with Japanese new era "Reiwa" support
+ (closes: #927933).
+ * Drop backported ICU-20246 and ICU-20208 fixes as no longer needed.
+ * Break Chromium versions that not built with this ICU release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Sat, 27 Apr 2019 06:44:54 +0000
+
+icu (63.1-6) unstable; urgency=medium
+
+ * Build without icu-config (closes: #898820).
+ * Update Standards-Version to 4.3.0 .
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Wed, 23 Jan 2019 16:51:20 +0000
+
+icu (63.1-5) unstable; urgency=medium
+
+ * Build without Paragraph Layout API.
+ * Remove libiculx63 package, no longer needed (closes: #898571).
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Sun, 02 Dec 2018 10:31:22 +0000
+
+icu (63.1-4) unstable; urgency=medium
+
+ * Build with Paragraph Layout API.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Tue, 13 Nov 2018 05:48:13 +0000
+
+icu (63.1-3) unstable; urgency=high
+
+ * Backport fix for ICU-20246: fixing another integer overflow in number
+ parsing - fixes CVE-2018-18928 .
+ * Backport fix for ICU-20208: uspoof.cpp function checkImpl() should be
+ static, regenerate urename.h .
+ * Build without Paragraph Layout API.
+ * Upload to Sid.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Wed, 07 Nov 2018 18:15:15 +0000
+
+icu (63.1-2) experimental; urgency=medium
+
+ * Build with Paragraph Layout API.
+ * Link with the -Wl,--as-needed flag.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Wed, 31 Oct 2018 18:39:52 +0000
+
+icu (63.1-1) experimental; urgency=medium
+
+ * New major upstream release.
+ * Build without Paragraph Layout API.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Wed, 17 Oct 2018 16:44:27 +0000
+
+icu (62.1-2) experimental; urgency=medium
+
+ * Build with Paragraph Layout API.
+ * Add break for OpenTTD.
+
+ [ Matthias Klose <doko at ubuntu.com> ]
+ * Split Layout Engine shared library into a separate package, due to
+ heavy dependencies, and breaking circular dependency
+ (closes: #893801, #898571, #898806).
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Sat, 29 Sep 2018 16:45:41 +0000
+
+icu (62.1-1) experimental; urgency=medium
+
+ * New major upstream release (closes: #907748).
+ * Update Standards-Version to 4.2.1 .
+
+ [ Helmut Grohne <helmut at subdivi.de> ]
+ * Fix FTCBFS: Build the native pass without libicu-le-hb-dev
+ (closes: #906906).
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Tue, 04 Sep 2018 20:49:13 +0000
+
+icu (60.2-6) unstable; urgency=medium
+
+ * Build with Paragraph Layout API.
+ * Don't break OpenTTD anymore.
+ * Remove multiarch of libicu-dev due to icu-config installed
+ (closes: #898331).
+ * Remove libstdc++-6-dev dependency on libicu-dev (closes: #892598).
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Thu, 10 May 2018 15:14:59 +0000
+
+icu (60.2-5) unstable; urgency=medium
+
+ * Upload to Sid.
+ * Break OpenTTD as this build is without Paragraph Layout API.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Wed, 09 May 2018 04:31:49 +0000
+
+icu (60.2-4) experimental; urgency=medium
+
+ * Install icu-config again.
+ * Don't specify parallel to debhelper.
+ * Update Standards-Version to 4.1.4 .
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Tue, 24 Apr 2018 16:45:42 +0000
+
+icu (60.2-3) experimental; urgency=medium
+
+ * Don't distclean in parallel (closes: #884898).
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Sun, 24 Dec 2017 08:49:27 +0000
+
+icu (60.2-2) experimental; urgency=medium
+
+ * Backport Calendar buffer overrun compatibility fix.
+ * Remove outdated patches.
+ * Update debhelper level to 11 .
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Mon, 18 Dec 2017 19:32:35 +0000
+
+icu (60.2-1) experimental; urgency=high
+
+ * New upstream release.
+ * Build with ICU Layout Engine API (closes: #879820):
+ - add libicu-le-hb-dev build dependency,
+ - add libicu-le-hb-dev dependency to libicu-dev package,
+ - update layout extension tests,
+ - add libiculx to shlibs.
+ * Remove icu-config manpage.
+ * Backport fix for UTF-8->UTF-8 conversion overflow.
+ * Update Standards-Version to 4.1.2 .
+
+ [ Matthias Klose <doko at ubuntu.com> ]
+ * Revert the upstream fix for #13104, requiring C++11 for some header files.
+ The archive still has packages not ready for C++11, e.g. firebird3.0.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Sat, 09 Dec 2017 16:20:17 +0000
+
+icu (60.1-1) experimental; urgency=medium
+
+ * New major upstream release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Wed, 01 Nov 2017 18:22:48 +0000
+
+icu (59.1-3) experimental; urgency=medium
+
+ * Refresh packaging:
+ - drop outdated -dbg packages,
+ - drop outdated NEWS file,
+ - build with all hardening.
+ * Fix spelling errors in upstream binaries and manpages.
+
+ [ Matthias Klose <doko at ubuntu.com> ]
+ * Fix build with glibc-2.26 (closes: #879233).
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Thu, 19 Oct 2017 21:50:55 +0000
+
+icu (59.1-2) experimental; urgency=high
+
+ * Backport upstream security fix for CVE-2017-14952: double free in
+ createMetazoneMappings() .
+ * Disable self-test failure on x86 architectures due to French locale
+ problems.
+ * Make libicu59-dbg package 'Multi-Arch: same'.
+ * Update Standards-Version to 4.1.1:
+ - change libicu59-dbg priority to optional,
+ - change icu-devtools-dbg priority to optional.
+ * Update debhelper level to 10:
+ - remove autotools-dev build dependency.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Wed, 18 Oct 2017 21:12:22 +0000
+
+icu (59.1-1) experimental; urgency=low
+
+ * New major upstream release.
+ * Remove icu-config from libicu-dev :
+ - make the package 'Multi-Arch: same' again (closes: #837898).
+ * Don't fail on i386 self-tests, known problem.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Fri, 12 May 2017 15:34:54 +0000
+
+icu (58.2-1) experimental; urgency=low
+
+ * New upstream release.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Sun, 11 Dec 2016 14:02:13 +0000
+
+icu (58.1-1) experimental; urgency=low
+
+ * New major upstream release.
+ * Drop old patches.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Sat, 22 Oct 2016 11:08:24 +0200
+
+icu (57.1-4) unstable; urgency=high
+
+ * Backport upstream fix for CVE-2016-0494: integer signedness issue in
+ IndicRearrangementProcessor.
+ * Backport upstream fix for CVE-2016-6293: the uloc_acceptLanguageFromHTTP
+ function does not ensure that there is a '\0' character at the end of a
+ certain temporary array.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Wed, 07 Sep 2016 22:17:44 +0000
+
+icu (57.1-3) unstable; urgency=low
+
+ * Update libicu-dev dependency of libstdc++-dev (closes: #833938).
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Wed, 10 Aug 2016 16:57:09 +0000
+
+icu (57.1-2) unstable; urgency=medium
+
+ [ Helmut Grohne <helmut at subdivi.de> ]
+ * Implement cross build support again for debhelper packaging
+ (closes: #833416).
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Thu, 04 Aug 2016 04:57:45 +0000
+
+icu (57.1-1.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Upload to unstable.
+ * Update Standars-Version to 3.9.8.
+
+ -- Matthias Klose <doko at debian.org> Wed, 03 Aug 2016 20:49:39 +0200
+
+icu (57.1-1) experimental; urgency=low
+
+ * New major upstream release (closes: #804026).
+ * Update package names due to soname bump.
+ * Add icu-devtools debug package.
+ * Drop CVE-2015-2632.patch as this release contains it.
+ * Update patches.
+ * Keep rebuildable.
+ * Update Standars-Version to 3.9.7 .
+
+ [ Helmut Grohne <helmut at subdivi.de> ]
+ * Move icu-config to a M-A:no package (closes: #776821).
+ + Move icu-config from icu-devtools to libicu-dev.
+ + Declare relevant Breaks and Replaces.
+ + Remove Multi-Arch:same from libicu-dev.
+
+ [ Guido Günther <agx at sigxcpu.org> ]
+ * Add build and smoke autopkgtest (closes: #813338).
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Sun, 27 Mar 2016 10:46:16 +0000
+
+icu (55.1-7) unstable; urgency=high
+
+ * Fix CVE-2015-2632 vulnerability.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Sun, 03 Jan 2016 16:44:55 +0100
+
+icu (55.1-6) unstable; urgency=low
+
+ * Don't force libicu-dev to depend on g++ (closes: #799100, #799101).
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Tue, 03 Nov 2015 19:07:10 +0100
+
+icu (55.1-5) unstable; urgency=high
+
+ * Correct patch for CVE-2015-1270 (closes: #798647).
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Fri, 11 Sep 2015 15:23:53 +0000
+
+icu (55.1-4) unstable; urgency=low
+
+ [ Helmut Grohne <helmut at subdivi.de> ]
+ * Support parallel building (closes: #794617).
+ * Support cross compilation (closes: #784668).
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Sat, 08 Aug 2015 10:39:07 +0000
+
+icu (55.1-3.1) unstable; urgency=medium
+
+ * Non-maintainer upload.
+ * Fix build on hurd-i386 (Samuel Thibault). Closes: #794404.
+
+ -- Matthias Klose <doko at debian.org> Mon, 03 Aug 2015 12:21:04 +0200
+
+icu (55.1-3) unstable; urgency=high
+
+ * Fix CVE-2015-1270 .
+ * Add fixes for CVE-2014-6585.patch and CVE-2015-4760.patch .
+ * Upload to unstable for GCC 5 transition (closes: #791072).
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Sun, 02 Aug 2015 14:13:05 +0200
+
+icu (55.1-2) experimental; urgency=low
+
+ [ Matthias Klose <doko at debian.org> ]
+ * Build using GCC 5.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Sat, 18 Jul 2015 12:33:19 +0000
+
+icu (55.1-1) experimental; urgency=low
+
+ * New upstream release (closes: #779245).
+ * Remove two-digit-year-test.patch , mlym-crash.patch and icu-config.patch
+ as applied upstream.
+ * Doesn't build with clang (closes: #778501).
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Sat, 04 Apr 2015 07:57:47 +0000
+
+icu (52.1-8) unstable; urgency=high
+
+ * New maintainer (closes: #777694).
+ * Update Standars-Version to 3.9.6 .
+
+ [ Michael Gilbert <mgilbert at debian.org> ]
+ * Apply a more complete fix for CVE-2014-7940 (closes: #780503).
+ - Thanks to Marc Deslauriers.
+
+ -- Laszlo Boszormenyi (GCS) <gcs at debian.org> Tue, 17 Mar 2015 11:14:15 +0000
+
+icu (52.1-7.1) unstable; urgency=high
+
+ * Non-maintainer upload by the Security Team.
+ * Unfixed issue from the previous upload (closes: #776264)
+ - CVE-2014-6585: out-of-bounds read.
+ * Issues fixed in chromium 40.0.2214.91 (closes: #776265, #776719).
+ - CVE-2014-7923: memory corruption in regular expression comparison.
+ - CVE-2014-7926: memory corruption in regular expression comparison.
+ - CVE-2014-7940: uninitialized memory in i18n/icol.cpp.
+ - CVE-2014-9654: more regular expression handling issues.
+
+ -- Michael Gilbert <mgilbert at debian.org> Sun, 15 Feb 2015 22:19:14 +0000
+
+icu (52.1-7) unstable; urgency=high
+
+ * Patch to CVE-2014-6591, CVE-2014-6585 a font parsing bug.
+ (Closes: #775884)
+
+ -- Jay Berkenbilt <qjb at debian.org> Wed, 21 Jan 2015 21:33:19 -0500
+
+icu (52.1-6) unstable; urgency=medium
+
+ * Ensure that only flags intended to be set by users make it into
+ icu-config. Previously hardening flags were sneaking in there.
+ (Closes: #759792)
+
+ -- Jay Berkenbilt <qjb at debian.org> Mon, 29 Sep 2014 09:59:09 -0400
+
+icu (52.1-5) unstable; urgency=medium
+
+ * Switch hardening back to dpkg-buildflags. It wasn't previously working
+ but now is, probably because of other bugfixes that have happened in
+ the mean time.
+
+ -- Jay Berkenbilt <qjb at debian.org> Sat, 26 Jul 2014 12:54:32 -0400
+
+icu (52.1-4) unstable; urgency=medium
+
+ * Fix test case that fails with gcc 4.9. Fix is from upstream. (Closes:
+ #746860)
+
+ -- Jay Berkenbilt <qjb at debian.org> Sat, 21 Jun 2014 16:52:47 -0400
+
+icu (52.1-3) unstable; urgency=medium
+
+ * Add package dependency information to assist with upgrades in Ubuntu.
+ This eliminates the need for a delta on the Ubuntu version of the
+ package.
+
+ -- Jay Berkenbilt <qjb at debian.org> Tue, 24 Dec 2013 11:45:03 -0500
+
+icu (52.1-2) unstable; urgency=low
+
+ * Re-upload to unstable
+
+ -- Jay Berkenbilt <qjb at debian.org> Tue, 03 Dec 2013 16:05:40 -0500
+
+icu (52.1-1) experimental; urgency=low
+
+ * New upstream release
+ * Standards version 3.9.5 (no changes required)
+
+ -- Jay Berkenbilt <qjb at debian.org> Wed, 13 Nov 2013 16:20:40 -0500
+
+icu (52~m1-2) experimental; urgency=low
+
+ * Updated year in copyright file
+ * Standards version 3.9.4 (no changes required)
+
+ -- Jay Berkenbilt <qjb at debian.org> Sun, 15 Sep 2013 09:02:30 -0400
+
+icu (52~m1-1) experimental; urgency=low
+
+ * New upstream release
+ * Fixed debian/watch file based on new version numbering
+ * Various bugs have been fixed upstream. (Closes: #712501, #690156)
+ * Avoid packaging debugging library for libicudata since it has no
+ debugging symbols in it. (Closes: #698696)
+ * Clarify some ambiguous language in the copyright file, and address the
+ issue of derived data from an IETF RFC that does not actually appear
+ in the sources. (Closes: #721590)
+
+ -- Jay Berkenbilt <qjb at debian.org> Sat, 14 Sep 2013 20:52:27 -0400
+
+icu (4.8.1.1-14) unstable; urgency=high
+
+ * Acknowledge NMU. Thanks.
+ * Update standards version to 3.9.5. No changes required.
+ * No changes other than version numbers; uploading with urgency=high.
+
+ -- Jay Berkenbilt <qjb at debian.org> Wed, 13 Nov 2013 16:19:32 -0500
+
+icu (4.8.1.1-13+nmu1) unstable; urgency=high
+
+ * Non-maintainer upload by the Security Team.
+ * Fix CVE-2013-2924: use-after-free issue in csrucode.cpp (closes: #726477).
+
+ -- Michael Gilbert <mgilbert at debian.org> Sun, 27 Oct 2013 03:49:58 +0000
+
+icu (4.8.1.1-13) unstable; urgency=low
+
+ * Multi-arch libicu-dev. Thanks Dmitrijs Ledkovs
+ <dmitrij.ledkov at ubuntu.com>! (Closes: #699763)
+ * Mark doxygen as architecture-independent build dependency.
+ (Closes: #706795)
+ * Depend on autotools-dev to update config.guess
+
+ -- Jay Berkenbilt <qjb at debian.org> Wed, 21 Aug 2013 20:01:15 -0400
+
+icu (4.8.1.1-12) unstable; urgency=high
+
+ * Add patch to address CVE-2013-0900, a threading race condition.
+ (Closes: #702346)
+
+ -- Jay Berkenbilt <qjb at debian.org> Thu, 21 Mar 2013 11:29:08 -0400
+
+icu (4.8.1.1-11) unstable; urgency=medium
+
+ * Fix crash on rendering incremental Malayalam text input. Thanks Colin
+ Watson. (Closes: #702982)
+
+ -- Jay Berkenbilt <qjb at debian.org> Sat, 16 Mar 2013 14:58:15 -0400
+
+icu (4.8.1.1-10) unstable; urgency=low
+
+ * Include pkg-config files in dev package. Thanks Tommi Vainikainen.
+ (Closes: #687339)
+
+ -- Jay Berkenbilt <qjb at debian.org> Sat, 17 Nov 2012 14:37:40 -0500
+
+icu (4.8.1.1-9) unstable; urgency=low
+
+ * debian/rules: Use xz compression for binary packages.
+ (Closes: #683901)
+
+ -- Jay Berkenbilt <qjb at debian.org> Sat, 11 Aug 2012 12:41:28 -0400
+
+icu (4.8.1.1-8) unstable; urgency=low
+
+ * Switch hardening back to hardening-wrapper again since otherwise some
+ things sneak into icu-config's output.
+
+ -- Jay Berkenbilt <qjb at debian.org> Tue, 05 Jun 2012 14:27:27 -0400
+
+icu (4.8.1.1-7) unstable; urgency=low
+
+ * Switch hardening back to dpkg-buildoptions.
+ * Fix doc install for newer doxygen. (Closes: #674382)
+
+ -- Jay Berkenbilt <qjb at debian.org> Thu, 24 May 2012 13:55:13 -0400
+
+icu (4.8.1.1-6) unstable; urgency=low
+
+ * Remove 32-bit packages built on 64-bit architectures, and enable
+ Multiarch. (Closes: #665416)
+
+ -- Jay Berkenbilt <qjb at debian.org> Sun, 22 Apr 2012 08:40:16 -0400
+
+icu (4.8.1.1-5) unstable; urgency=low
+
+ * Enable security hardening flags. Thanks to Simon Ruderich for doing
+ 100% of the work, sending a clean patch, and providing clear
+ instructions on how to verify. (Closes: #663601)
+
+ -- Jay Berkenbilt <qjb at debian.org> Fri, 23 Mar 2012 22:45:55 -0400
+
+icu (4.8.1.1-4) unstable; urgency=low
+
+ * Add patch to add CCMP support for Indic. (Closes: #655101)
+ * Update standards version.
+
+ -- Jay Berkenbilt <qjb at debian.org> Sun, 11 Mar 2012 18:30:29 -0400
+
+icu (4.8.1.1-3) unstable; urgency=high
+
+ * Add patch to address CVE-2011-4599, a potential buffer overflow.
+ (Closes: #654883)
+
+ -- Jay Berkenbilt <qjb at debian.org> Sat, 21 Jan 2012 19:44:44 -0500
+
+icu (4.8.1.1-2) unstable; urgency=low
+
+ * debian/patches/icudata-stdlibs.patch: Link stdlibs to libicudata so we
+ get reasonably sane ELF headers on armhf. Thanks Adam Conrad
+ <adconrad at ubuntu.com>. (Closes: #653457)
+
+ -- Jay Berkenbilt <qjb at debian.org> Wed, 04 Jan 2012 09:52:11 -0500
+
+icu (4.8.1.1-1) unstable; urgency=low
+
+ * New upstream release
+ * Add simple patch to define PATH_MAX when not defined. Not an ideal
+ solution, but it will do for now. (Closes: #643661)
+
+ -- Jay Berkenbilt <qjb at debian.org> Wed, 09 Nov 2011 09:59:08 -0500
+
+icu (4.8.1-2) experimental; urgency=low
+
+ * Fix 64-bit kfreebsd configure problem. Thanks Petr Salinger.
+ (Closes: #630517)
+
+ -- Jay Berkenbilt <qjb at debian.org> Sat, 10 Sep 2011 08:17:58 -0400
+
+icu (4.8.1-1) experimental; urgency=low
+
+ * New upstream release
+ * Remove 32-bit source directory on clean. (Closes: #630514)
+
+ -- Jay Berkenbilt <qjb at debian.org> Sat, 03 Sep 2011 10:14:57 -0400
+
+icu (4.8-1) experimental; urgency=low
+
+ * New upstream release
+ * Upstream release includes fix to RegexMatch crash (Closes: #606886)
+ * Updated standards to 3.9.2; no changes required
+
+ -- Jay Berkenbilt <qjb at debian.org> Sat, 28 May 2011 11:30:22 -0400
+
+icu (4.4.2-2) unstable; urgency=low
+
+ * Apply patch to fix Malayam rendering. (Closes: #591615)
+
+ -- Jay Berkenbilt <qjb at debian.org> Thu, 25 Nov 2010 12:51:18 -0500
+
+icu (4.4.2-1) unstable; urgency=low
+
+ * New upstream release
+ * Updated standards version to 3.9.1; no changes required
+
+ -- Jay Berkenbilt <qjb at debian.org> Sun, 17 Oct 2010 11:06:20 -0400
+
+icu (4.4.1-7) testing-proposed-updates; urgency=high
+
+ * Apply patch to fix Malayam rendering. (Closes: #591615)
+
+ -- Jay Berkenbilt <qjb at debian.org> Thu, 25 Nov 2010 12:07:26 -0500
+
+icu (4.4.1-6) unstable; urgency=low
+
+ * Include patch from Alexander Kurtz to solve failure to build from
+ source resulting from doxygen generating different files. (Closes:
+ #590393)
+
+ -- Jay Berkenbilt <qjb at debian.org> Wed, 28 Jul 2010 18:44:01 -0400
+
+icu (4.4.1-5) unstable; urgency=low
+
+ * Include patch from upstream to fix arm assembler bug. Thanks to Adam
+ Barratt for finding the fix. (Closes: #589076)
+
+ -- Jay Berkenbilt <qjb at debian.org> Sat, 17 Jul 2010 07:30:22 -0400
+
+icu (4.4.1-4) unstable; urgency=low
+
+ * Re-upload to unstable
+ * Remove conficts and replaces for packages that have been gone since
+ before the release of lenny
+ * Updated standards version to 3.9.0
+
+ -- Jay Berkenbilt <qjb at debian.org> Sun, 11 Jul 2010 12:19:00 -0400
+
+icu (4.4.1-3) experimental; urgency=low
+
+ * Replace my patch with a complete fix from upstream. The fix in the
+ previous upload behaves identically in a debian environment, but it's
+ better to track with upstream.
+
+ -- Jay Berkenbilt <qjb at debian.org> Sat, 22 May 2010 08:32:48 -0400
+
+icu (4.4.1-2) experimental; urgency=low
+
+ * Increase buffer sizes in pkgdata. Prevents bus errors in kfreebsd and
+ undetected overruns everywhere else. (Closes: #581174)
+
+ -- Jay Berkenbilt <qjb at debian.org> Fri, 21 May 2010 21:56:34 -0400
+
+icu (4.4.1-1) experimental; urgency=low
+
+ * New upstream release
+ * Removed kfreebsd patch as kfreebsd works out of the box now, according
+ to upstream.
+
+ -- Jay Berkenbilt <qjb at debian.org> Sat, 01 May 2010 10:45:04 -0400
+
+icu (4.4-1) experimental; urgency=low
+
+ * New upstream release
+
+ -- Jay Berkenbilt <qjb at debian.org> Fri, 09 Apr 2010 22:27:30 -0400
+
+icu (4.4~rc1-1) experimental; urgency=low
+
+ * New upstream release
+
+ -- Jay Berkenbilt <qjb at debian.org> Sat, 06 Mar 2010 11:54:54 -0500
+
+icu (4.3.4-1) experimental; urgency=low
+
+ * New upstream release
+ * Upstream release includes change of static library names to be
+ consistent with normal standards. (Closes: #469454)
+ * Updated standards to 3.8.4. No changes needed.
+ * Updated source format to '3.0 (quilt)'
+
+ -- Jay Berkenbilt <qjb at debian.org> Sat, 06 Feb 2010 16:55:29 -0500
+
+icu (4.2.1-3) unstable; urgency=low
+
+ * Change install-doc target to not fail if there are subdirectories of
+ doc/html. This is necessary to handle the doc/html/search directory
+ created by doxygen 3.6.1. (Closes: #544799)
+
+ -- Jay Berkenbilt <qjb at debian.org> Fri, 04 Sep 2009 11:56:06 -0400
+
+icu (4.2.1-2) unstable; urgency=low
+
+ * Added missing 4.0.1-4 entry to changelog.
+
+ -- Jay Berkenbilt <qjb at debian.org> Wed, 19 Aug 2009 21:58:56 -0400
+
+icu (4.2.1-1) unstable; urgency=low
+
+ * New upstream release
+ * Updated standards version to 3.8.3. No changes required.
+ * First unstable upload to not use tarball in tarball packaging.
+ (Closes: #538560)
+
+ -- Jay Berkenbilt <qjb at debian.org> Wed, 19 Aug 2009 17:11:40 -0400
+
+icu (4.2.1~rc1-3) experimental; urgency=low
+
+ * More aggressive fix to invalid object files being written by pkgdata.
+ This is a temporary fix until upstream provides a better one.
+ (Closes: #530568)
+
+ -- Jay Berkenbilt <qjb at debian.org> Sun, 28 Jun 2009 09:57:40 -0400
+
+icu (4.2.1~rc1-2) experimental; urgency=low
+
+ * Bug 530568 is not fixed. Add some debugging code.
+
+ -- Jay Berkenbilt <qjb at debian.org> Sat, 27 Jun 2009 09:34:16 -0400
+
+icu (4.2.1~rc1-1) experimental; urgency=low
+
+ * New upstream release
+ * Fixed bug in pkgdata that was causing build failures on most
+ platforms. (Closes: #530568)
+ * Removed /emul/ia32-linux stuff. (Closes: #533850)
+ * Updated standards version to 3.8.2
+
+ -- Jay Berkenbilt <qjb at debian.org> Fri, 26 Jun 2009 22:12:55 -0400
+
+icu (4.0.1-4) unstable; urgency=high
+
+ * Added conflicts on older versions of libc6-i386 for 32-bit versions of
+ the libraries installed on 64-bit systems. (Closes: #538836)
+
+ -- Jay Berkenbilt <qjb at debian.org> Tue, 04 Aug 2009 08:54:45 -0400
+
+icu (4.0.1-3) unstable; urgency=low
+
+ * Removed /emul/ia32-linux stuff. (Closes: #533850)
+ * Updated standards version to 3.8.2
+ * Fixed section of -dbg package
+
+ -- Jay Berkenbilt <qjb at debian.org> Fri, 26 Jun 2009 22:12:06 -0400
+
+icu (4.2-1) experimental; urgency=low
+
+ * New upstream release
+ * Updated standards to 3.8.1: no changes required.
+ * Removed arm workarounds since the underlying problem has been fixed
+ upstream and arm is no longer supported anyway.
+ * Now that upstream has removed obsolete debian directory, this package
+ no longer uses tarball-in-tarball packaging.
+
+ -- Jay Berkenbilt <qjb at debian.org> Sun, 24 May 2009 09:35:30 -0400
+
+icu (4.0.1-2) unstable; urgency=low
+
+ * Include work-around from 3.8.1-3, inadvertently omitted from 4.0.1-1.
+
+ -- Jay Berkenbilt <qjb at debian.org> Sun, 08 Mar 2009 09:39:51 -0400
+
+icu (4.0.1-1) unstable; urgency=low
+
+ * New upstream release (Closes: #516674)
+ * Create README.source, convert patch system to quilt, update standards
+ version to 3.8.0
+ * Applied patch for compilation under gcc 4.4. This has also been fixed
+ upstream. (Closes: #505371)
+
+ -- Jay Berkenbilt <qjb at debian.org> Sat, 07 Mar 2009 19:19:39 -0500
+
+icu (3.8.1-3) unstable; urgency=medium
+
+ * Work around gcc internal error on armel. Temporary until bug 484053
+ is resolved.
+
+ -- Jay Berkenbilt <qjb at debian.org> Thu, 10 Jul 2008 14:25:30 -0400
+
+icu (4.0-1) experimental; urgency=low
+
+ * New upstream release
+ * Remove setBreakType patch. See
+ http://bugs.icu-project.org/trac/ticket/5498 for a discussion. Based
+ on this report, and looking at the OpenOffice.org bug tracking system,
+ it seems that this is no longer needed by OpenOffice.
+
+ -- Jay Berkenbilt <qjb at debian.org> Tue, 08 Jul 2008 12:08:13 -0400
+
+icu (4.0~d3-1) experimental; urgency=low
+
+ * New upstream release
+
+ -- Jay Berkenbilt <qjb at debian.org> Fri, 27 Jun 2008 22:23:10 -0400
+
+icu (3.8.1-2) unstable; urgency=low
+
+ * Patch from Harshula to fix split conjuncts problem in
+ Sinhala. (Closes: #483563)
+ * Force structures to be padded at byte boundaries (rather than 32-bit
+ boundaries) on arm. (Closes: #484138)
+ * Update doc-base section.
+
+ -- Jay Berkenbilt <qjb at debian.org> Sat, 07 Jun 2008 13:09:07 -0400
+
+icu (3.8.1-1) unstable; urgency=low
+
+ * New upstream release
+ * Patch to support GNU/kFreeBSD. Thanks Aurelien Jarno. (Closes:
+ #461782)
+
+ -- Jay Berkenbilt <qjb at debian.org> Mon, 11 Feb 2008 20:11:00 -0500
+
+icu (3.8-6) unstable; urgency=high
+
+ * Add debian/patches/00-cve-2007-4770-4771.patch created from with
+ svn diff -c 23292 \
+ http://source.icu-project.org/repos/icu/icu/branches/maint/maint-3-8
+ to address the following security vulnerablilities:
+ - CVE-2007-4770: reference to non-existent capture group may
+ cause access to invalid memory
+ - CVE-2007-4771: buffer overflow in regexcmp.cpp
+ (Closes: #463688)
+ * Updated standards version to 3.7.3: no changes required.
+
+ -- Jay Berkenbilt <qjb at debian.org> Thu, 07 Feb 2008 12:58:34 -0500
+
+icu (3.8-5) unstable; urgency=low
+
+ * Filter out extraneous dependencies among different versions of the
+ library packages. (Closes: #451767, 451978)
+
+ -- Jay Berkenbilt <qjb at debian.org> Sat, 01 Dec 2007 09:47:32 -0500
+
+icu (3.8-4) experimental; urgency=low
+
+ * Include changes from 3.6-10.
+
+ -- Jay Berkenbilt <qjb at debian.org> Sun, 18 Nov 2007 11:04:16 -0500
+
+icu (3.6-10) unstable; urgency=low
+
+ * It appears that amd64 requires 32-bit libraries to be in
+ /emul/ia32-linux/usr/lib instead of /usr/lib32. Following zlib's
+ example of moving them around for amd64 only. (Closes: #451495)
+
+ -- Jay Berkenbilt <qjb at debian.org> Sun, 18 Nov 2007 11:03:10 -0500
+
+icu (3.8-3) experimental; urgency=low
+
+ * Include changes from 3.6-9.
+ * Include -dbg package with unstripped versions of the libraries.
+
+ -- Jay Berkenbilt <qjb at debian.org> Sat, 17 Nov 2007 15:02:36 -0500
+
+icu (3.6-9) unstable; urgency=low
+
+ * Yet another 32-bit library fix. Files were installed in /32 because
+ of the debian/tmp32 thing. How did this ever work? (Closes: #451495)
+
+ -- Jay Berkenbilt <qjb at debian.org> Sat, 17 Nov 2007 12:12:18 -0500
+
+icu (3.8-2) experimental; urgency=low
+
+ * Include changes from 3.6-8. (Closes: #448747)
+
+ -- Jay Berkenbilt <qjb at debian.org> Tue, 06 Nov 2007 20:58:09 -0500
+
+icu (3.6-8) unstable; urgency=low
+
+ * Clean up 32-bit library patch to avoid excessive and unnecessary runs
+ of configure. (Closes: #447771)
+ * make setBreakType public in rbbi.h; needed by OpenOffice.org. This
+ patch is included in OpenOffice.org's internal ICU. Including it here
+ allows OpenOffice.org to continue to use this ICU package. Thanks
+ Rene Engelhard. (Closes: #448745)
+ * Rename debian/watch.not-yet to debian/no-watch so it won't get picked
+ up even though it's not supposed to. ICU's ftp site uses a structure
+ that isn't supported by uscan. (Closes: #449701)
+
+ -- Jay Berkenbilt <qjb at debian.org> Tue, 06 Nov 2007 20:56:38 -0500
+
+icu (3.8-1) experimental; urgency=low
+
+ * New upstream release. All previously included patches have been
+ incorporated into upstream.
+
+ -- Jay Berkenbilt <qjb at debian.org> Sat, 20 Oct 2007 11:53:32 -0400
+
+icu (3.6-7) unstable; urgency=low
+
+ * Fix bug in which 32-bit library installs were overwriting files for
+ 64-bit libraries on amd64. Thanks Robert Millan for the patch.
+ (Closes: #447275)
+
+ -- Jay Berkenbilt <qjb at debian.org> Sat, 20 Oct 2007 11:30:12 -0400
+
+icu (3.6-6) unstable; urgency=low
+
+ * Oops: fixed one more problem with 32-bit builds on a 64-bit platform.
+ Thanks Aaron Ucko. (Closes: #398778)
+
+ -- Jay Berkenbilt <qjb at debian.org> Mon, 17 Sep 2007 15:19:59 -0400
+
+icu (3.6-5) unstable; urgency=low
+
+ * Add additional Build-Depends for 64-bit platforms. Thanks Robert
+ Millan. (Closes: #398778)
+
+ -- Jay Berkenbilt <qjb at debian.org> Mon, 17 Sep 2007 10:42:32 -0400
+
+icu (3.6-4) unstable; urgency=low
+
+ * Accepted patch from Robert Millan (with very slight, mostly cosmetic
+ modifications) to build 32-bit libraries on 64-bit architectures.
+ Many thanks to Robert Millan for supplying this patch! (Closes:
+ #398778)
+
+ -- Jay Berkenbilt <qjb at debian.org> Sat, 15 Sep 2007 21:42:33 -0400
+
+icu (3.8~d01-1) experimental; urgency=low
+
+ * New upstream release
+ * Configure with weak reference to thread library. (Closes: #389260)
+ * The development package no longer has the library soname in its name.
+ It is now just libicu-dev.
+
+ -- Jay Berkenbilt <qjb at debian.org> Sat, 04 Aug 2007 11:04:49 -0400
+
+icu (3.6-3) unstable; urgency=low
+
+ * Include patch from Samuel Thibault to allow icu to build on gnu hurd.
+ (Closes: #414446)
+
+ -- Jay Berkenbilt <qjb at debian.org> Tue, 10 Jul 2007 17:31:56 -0400
+
+icu (3.6-2) unstable; urgency=low
+
+ * Include patch to fix error in IndicClassTables to fix
+ worstCaseExpansion for Sinhala. Thanks to Harshula for forwarding
+ this.
+
+ -- Jay Berkenbilt <qjb at debian.org> Mon, 27 Nov 2006 21:19:09 -0500
+
+icu (3.6-1) unstable; urgency=low
+
+ * New upstream release
+ * Provide libicu34-dev since ICU 3.6 provides backward compatible
+ interfaces in addition to new ones.
+
+ -- Jay Berkenbilt <qjb at debian.org> Tue, 19 Sep 2006 12:10:41 -0400
+
+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 <qjb at debian.org> 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 <qjb at debian.org> Wed, 29 Mar 2006 22:19:08 -0500
+
+icu (3.4.1-1) unstable; urgency=low
+
+ * New upstream release
+
+ -- Jay Berkenbilt <qjb at debian.org> 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 <qjb at debian.org> 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 <qjb at debian.org> 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 <qjb at debian.org> Sat, 13 Aug 2005 12:41:35 -0400
+
+icu (3.4-1) unstable; urgency=low
+
+ * New upstream release
+ * Completely new packaging
+
+ -- Jay Berkenbilt <qjb at debian.org> 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 <qjb at debian.org> 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 <doko at debian.org> 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 <ivo at debian.org> Sun, 18 Jan 2004 23:52:03 +0100
+
+icu (2.6.1-1) experimental; urgency=low
+
+ * New upstream version.
+ * Ivo Timmermans:
+ * debian/rules Don't create arch-all packages in the binary-arch
+ target. Closes: #184403
+
+ -- Ivo Timmermans <ivo at debian.org> Thu, 6 Nov 2003 09:03:44 +0100
+
+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
+ * debian/postinst gencnval is now in {prefix}/bin
+ * Ivo Timmermans:
+ * debian/control Tightened debhelper build dependency
+ * debian/control Update Standards-Version
+
+ -- Daniel Glassey <wdg at debian.org> Wed, 3 Sep 2003 12:39:35 +0200
+
+icu (2.1-1.2) unstable; urgency=low
+
+ * NMU.
+ * Updated source/config.{sub,guess}. Closes: #182697
+
+ -- Ivo Timmermans <ivo at debian.org> Fri, 7 Mar 2003 20:58:23 +0100
+
+icu (2.1-1.1) unstable; urgency=low
+
+ * NMU.
+ * debian/control: Go through G++ ABI transition. Closes: #180124
+ * 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 <ivo at debian.org> Fri, 14 Feb 2003 15:21:56 +0100
+
+icu (2.1-1) unstable; urgency=low
+
+ * ICU 2.1 release.
+ * Changed the icu package description. Closes: 142886
+ * Use -O1 for CXXFLAGS for OS/390. Closes: 143021
+
+ -- Yves Arrouye <yves at debian.org> Mon, 15 Apr 2002 14:03:12 -0700
+
+icu (2.0.2-1) unstable; urgency=low
+
+ * Minor release of ICU with fixes for threading and strTo/FromWCS
+
+ -- Yves Arrouye <yves at debian.org> Tue, 2 Apr 2002 09:06:00 -0800
+
+icu (2.0-2.1pre20020318-1) unstable; urgency=low
+
+ * Use the library number in the development package too.
+ * ICU changed to version 2.1.
+
+ -- Yves Arrouye <yves at debian.org> Tue, 19 Mar 2002 18:38:37 -0800
+
+icu (2.0-2.1pre20020303-1) unstable; urgency=low
+
+ * Fixed a crash in uconv when no argument is passed to -f or -t.
+ * Other upstream changes.
+ * Fresh upload with an up to date orig tar file so that future
+ diffs won't be 6 megabytes long!
+
+ -- Yves Arrouye <yves at debian.org> Sun, 3 Mar 2002 15:31:13 -0800
+
+icu (2.0-2.1pre-1) unstable; urgency=low
+
+ * Prerelease of 2.1 with a working upgraded uconv(1).
+
+ -- Yves Arrouye <yves at debian.org> Fri, 1 Mar 2002 21:51:47 -0800
+
+icu (2.0-3) unstable; urgency=low
+
+ * Renamed doc-base to icu-doc.doc-base. Closes: 127487
+
+ -- Yves Arrouye <yves at debian.org> Fri, 18 Jan 2002 22:33:53 -0800
+
+icu (2.0-2) unstable; urgency=low
+
+ * Fixed a bug in uprv_uca_cloneTempTable(). Closes: 128484
+ * Update Debian bugs status. Closes: 104642
+ * Use the official 2.0 tarball as the original tar.
+ * Added manual pages for every tool.
+
+ -- Yves Arrouye <yves at debian.org> Wed, 16 Jan 2002 20:45:42 -0800
+
+icu (2.0-1) unstable; urgency=low
+
+ * Update to ICU version 2.0.
+
+ -- Yves Arrouye <yves at debian.org> Sat, 10 Nov 2001 21:58:19 -0800
+
+icu (1.8.1-2) unstable; urgency=low
+
+ * Updated copyright file. Closes: 112488
+ * Updated icu-locales description. Closes: 75499
+
+ -- Yves Arrouye <yves at debian.org> Sat, 10 Nov 2001 21:24:58 -0800
+
+icu (1.8.1-1.1) unstable; urgency=low
+
+ * NMU to resolve build failures on ia64 and (hopefully) hppa.
+ * config.{sub|guess} update
+ * source/tools/ctestfw/ctest.c: Add static declaration to global
+ variables local to that module to avoid @gprel relocation errors.
+ Closes: 104642
+
+ -- Yves Arrouye <yves at debian.org> Sat, 10 Nov 2001 21:24:44 -0800
+
+icu (1.8.1-1) unstable; urgency=low
+
+ * Update to ICU version 1.8.1.
+
+ -- root <yves at debian.org> Mon, 21 May 2001 15:27:36 -0700
+
+icu (1.7-1) unstable; urgency=low
+
+ * Update to ICU version 1.7.
+
+ -- Yves Arrouye <yves at debian.org> Tue, 21 Nov 2000 22:54:52 -0800
+
+icu (1.6.0.1-20001113-2) unstable; urgency=low
+
+ * New snapshot with better ISO-2022.
+
+ -- Yves Arrouye <yves at debian.org> Mon, 13 Nov 2000 21:05:00 -0800
+
+icu (1.6.0.1-20001027-1) unstable; urgency=low
+
+ * Move architecture-dependent files into /usr/lib, instead of
+ /usr/share.
+ * Move convrtrs.txt into /etc/icu, make it a conffile, and generate
+ /usr/lib/icu/1.6.0.1/cnvalias.dat from it at postinst time.
+ * Manage a /usr/lib/icu/current symbolic link across installations
+ of the libicuXX packages. The symlink will always point to the
+ highest numbered version of ICU.
+
+ -- Yves Arrouye <yves at debian.org> Fri, 27 Oct 2000 15:40:12 -0700
+
+icu (1.6.0.1-20001017-1) unstable; urgency=low
+
+ * Initial Release.
+
+ -- Yves Arrouye <yves at debian.org> Tue, 24 Oct 2000 16:14:12 -0700
diff --git a/debian/clean b/debian/clean
new file mode 100644
index 0000000..a105625
--- /dev/null
+++ b/debian/clean
@@ -0,0 +1,5 @@
+source/config.log
+source/config/icu-config.1
+source/test/letest/letest
+source/data/rules.mk
+source/test/testdata/rules.mk
diff --git a/debian/control b/debian/control
new file mode 100644
index 0000000..2a3ec9b
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,73 @@
+Source: icu
+Section: libs
+Priority: optional
+Maintainer: Laszlo Boszormenyi (GCS) <gcs at debian.org>
+Standards-Version: 4.5.1
+Build-Depends: debhelper-compat (= 13), autoconf-archive, pkg-config,
+ python3-distutils
+Build-Depends-Indep: doxygen (>= 1.7.1)
+Build-Conflicts: clang
+Homepage: https://icu.unicode.org/
+Rules-Requires-Root: no
+
+Package: libicu70
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Breaks: openttd (<< 1.8.0-2~), libiculx63 (<< 63.1-5)
+Replaces: libiculx63 (<< 63.1-5)
+Description: International Components for Unicode
+ 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: libiculx63
+#Multi-Arch: same
+#Architecture: any
+#Pre-Depends: ${misc:Pre-Depends}
+#Depends: ${misc:Depends}, ${shlibs:Depends}
+#Description: International Components for Unicode
+# 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.
+# .
+# This package contains the layout engine.
+#
+Package: libicu-dev
+Section: libdevel
+Architecture: any
+Multi-Arch: same
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${misc:Depends}, libicu70 (= ${binary:Version}), icu-devtools (>= ${binary:Version}), libc6-dev | libc-dev
+Replaces: icu-devtools (<< 70.1~rc-1~)
+Breaks: icu-devtools (<< 70.1~rc-1~)
+Suggests: icu-doc
+Description: Development files for International Components for Unicode
+ 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-devtools
+Section: libdevel
+Architecture: any
+Multi-Arch: foreign
+Pre-Depends: ${misc:Pre-Depends}
+Depends: ${misc:Depends}, ${shlibs:Depends}
+Replaces: libicu-dev (<< ${binary:Version}), icu-tools (<< 70.1~rc-1~)
+Breaks: libicu-dev (<< ${binary:Version}), icu-tools (<< 70.1~rc-1~)
+Description: Development utilities for International Components for Unicode
+ ICU is a C++ and C library that provides robust and full-featured
+ Unicode and locale support. This package contains programs used to
+ manipulate data files found in the ICU sources and is a dependency of
+ libicu-dev. End users would generally not need to install this package.
+
+Package: icu-doc
+Section: doc
+Architecture: all
+Multi-Arch: foreign
+Depends: ${misc:Depends}
+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.
diff --git a/debian/copyright b/debian/copyright
new file mode 100644
index 0000000..829f660
--- /dev/null
+++ b/debian/copyright
@@ -0,0 +1,49 @@
+Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+X-Format: https://dep.debian.net/deps/dep5
+Upstream-Name: ICU
+Upstream-Contact: http://site.icu-project.org/contacts
+Source: https://github.com/unicode-org/icu
+
+Files: *
+Copyright: Copyright © 1991-2021 Unicode, Inc.
+License: MIT
+ Permission is hereby granted, free of charge, to any person
+ obtaining a copy of this software and associated
+ documentation files (the "Software"), to deal in the
+ Software without restriction, including without limitation
+ the rights to use, copy, modify, merge, publish, distribute,
+ sublicense, and/or sell copies of the Software, and to
+ permit persons to whom the Software is furnished to do so,
+ subject to the following conditions:
+ .
+ The above copyright notice and this permission notice shall
+ be included in all copies or substantial portions of the
+ Software.
+ .
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
+ KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
+ WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR
+ PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS
+ OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
+ OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR
+ OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
+ SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+
+Files: debian/*
+Copyright: 2005-2015 Jay Berkenbilt <qjb at debian.org>,
+ 2015- Laszlo Boszormenyi (GCS) <gcs at debian.org> on
+License: GPL-3
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation version 3 of the License.
+ .
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+ .
+ You should have received a copy of the GNU General Public License
+ along with this program. If not, see <https://www.gnu.org/licenses/>.
+ .
+ On Debian systems, the complete text of the GNU General Public
+ License version 3 can be found in `/usr/share/common-licenses/GPL-3'.
diff --git a/debian/fix_substvars.pl b/debian/fix_substvars.pl
new file mode 100644
index 0000000..186f9fe
--- /dev/null
+++ b/debian/fix_substvars.pl
@@ -0,0 +1,52 @@
+#
+# Remove any whose names that match the given pattern from the
+# shlibs:Depends entry in the given substvars.
+#
+
+BEGIN { $^W = 1; }
+use strict;
+my $whoami = ($0 =~ m,([^/\\]*)$,) ? $1 : $0;
+
+die "usage: $whoami substvars-file pattern" unless @ARGV == 2;
+my ($file, $pattern) = @ARGV;
+if (! -f $file)
+{
+ exit 0;
+}
+
+open(F, "<$file") or die "$whoami: can't open $file: $!\n";
+my @in = (<F>);
+close(F);
+my @out = ();
+
+for (@in)
+{
+ if (m/(shlibs:Depends=)(.*)/)
+ {
+ my $prefix = $1;
+ my $contents = $2;
+ my @items = split(',\s*', $contents);
+ my @new = ();
+ foreach my $i (@items)
+ {
+ $i =~ m/^(\S+)/ or die;
+ my $pkg = $1;
+ if ($pkg !~ m/^${pattern}$/)
+ {
+ push(@new, $i);
+ }
+ }
+ push(@out, $prefix . join(', ', @new) . "\n");
+ }
+ else
+ {
+ push(@out, $_);
+ }
+}
+
+open(F, ">$file") or die "$whoami: can't open $file.new: $!\n";
+foreach (@out)
+{
+ print F $_;
+}
+close(F);
diff --git a/debian/icu-devtools.install b/debian/icu-devtools.install
new file mode 100644
index 0000000..55b135f
--- /dev/null
+++ b/debian/icu-devtools.install
@@ -0,0 +1,13 @@
+usr/bin/derb
+usr/bin/genbrk
+usr/bin/gencfu
+usr/bin/gencnval
+usr/bin/gendict
+usr/bin/genrb
+usr/bin/icuexportdata
+usr/bin/icuinfo
+usr/bin/makeconv
+usr/bin/pkgdata
+usr/bin/uconv
+usr/sbin
+usr/share/man
diff --git a/debian/icu-doc.doc-base b/debian/icu-doc.doc-base
new file mode 100644
index 0000000..119db5a
--- /dev/null
+++ b/debian/icu-doc.doc-base
@@ -0,0 +1,13 @@
+Document: icu-doc
+Title: ICU API Documentation
+Author: IBM Corporation and Others
+Abstract: This manual describes the APIs of the
+ International Components for Unicode C/C++
+ library. It is a useful reference for the
+ ICU programmer.
+Section: Programming
+
+Format: HTML
+Index: /usr/share/doc/icu-doc/html/index.html
+Files: /usr/share/doc/icu-doc/html/*.html
+
diff --git a/debian/icu-doc.install b/debian/icu-doc.install
new file mode 100644
index 0000000..56fe178
--- /dev/null
+++ b/debian/icu-doc.install
@@ -0,0 +1 @@
+usr/share/doc/icu/html usr/share/doc/icu-doc
diff --git a/debian/libicu-dev.install b/debian/libicu-dev.install
new file mode 100644
index 0000000..8c9d92e
--- /dev/null
+++ b/debian/libicu-dev.install
@@ -0,0 +1,6 @@
+usr/lib/*/lib*.so
+usr/lib/*/lib*.a
+usr/lib/*/icu
+usr/lib/*/pkgconfig/*.pc
+usr/include
+usr/share/icu
diff --git a/debian/libicu70.install b/debian/libicu70.install
new file mode 100644
index 0000000..d82950d
--- /dev/null
+++ b/debian/libicu70.install
@@ -0,0 +1,6 @@
+usr/lib/*/libicudata.so.*
+usr/lib/*/libicui18n.so.*
+usr/lib/*/libicuio.so.*
+usr/lib/*/libicutest.so.*
+usr/lib/*/libicutu.so.*
+usr/lib/*/libicuuc.so.*
diff --git a/debian/libicu70.lintian-overrides b/debian/libicu70.lintian-overrides
new file mode 100644
index 0000000..91c61c1
--- /dev/null
+++ b/debian/libicu70.lintian-overrides
@@ -0,0 +1,3 @@
+# libicu70 installs multiple shared libraries, none of which is
+# actually called libicu.so.70, but all of which are libicu*.so.70 .
+libicu70: package-name-doesnt-match-sonames libicudata70 libicui18n70 libicuio70 libicutest70 libicutu70 libicuuc70
diff --git a/debian/libicu70.shlibs b/debian/libicu70.shlibs
new file mode 100644
index 0000000..6d0922c
--- /dev/null
+++ b/debian/libicu70.shlibs
@@ -0,0 +1,6 @@
+libicudata 70 libicu70 (>= 70.1-1~)
+libicui18n 70 libicu70 (>= 70.1-1~)
+libicuio 70 libicu70 (>= 70.1-1~)
+libicutest 70 libicu70 (>= 70.1-1~)
+libicutu 70 libicu70 (>= 70.1-1~)
+libicuuc 70 libicu70 (>= 70.1-1~)
diff --git a/debian/patches/Fix_ucptrietest_golden_diff.patch b/debian/patches/Fix_ucptrietest_golden_diff.patch
new file mode 100644
index 0000000..2a63293
--- /dev/null
+++ b/debian/patches/Fix_ucptrietest_golden_diff.patch
@@ -0,0 +1,39 @@
+From 698efda42bb21a9da1c92348d3e73466c8a528fe Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?J=C3=A9r=C3=A9my=20Lal?= <kapouer at melix.org>
+Date: Wed, 3 Nov 2021 02:31:18 +0100
+Subject: [PATCH] ICU-21793 Fix ucptrietest golden diff
+
+---
+ icu4c/source/tools/toolutil/toolutil.cpp | 13 +++++++------
+ 1 file changed, 7 insertions(+), 6 deletions(-)
+
+diff --git icu4c/source/tools/toolutil/toolutil.cpp icu4c/source/tools/toolutil/toolutil.cpp
+index 1fc68aa69c8..a9dc37377a8 100644
+--- icu4c/source/tools/toolutil/toolutil.cpp
++++ icu4c/source/tools/toolutil/toolutil.cpp
+@@ -228,18 +228,19 @@ uprv_compareGoldenFiles(
+ std::ifstream ifs(goldenFilePath, std::ifstream::in);
+ int32_t pos = 0;
+ char c;
+- while ((c = ifs.get()) != std::char_traits<char>::eof() && pos < bufferLen) {
++ while (ifs.get(c) && pos < bufferLen) {
+ if (c != buffer[pos]) {
+ // Files differ at this position
+- return pos;
++ break;
+ }
+ pos++;
+ }
+- if (pos < bufferLen || c != std::char_traits<char>::eof()) {
+- // Files are different lengths
+- return pos;
++ if (pos == bufferLen && ifs.eof()) {
++ // Files are same lengths
++ pos = -1;
+ }
+- return -1;
++ ifs.close();
++ return pos;
+ }
+
+ /*U_CAPI UDate U_EXPORT2
diff --git a/debian/patches/Fix_undefined_behaviour_in_ComplexUnitsConverter_applyRounder.patch b/debian/patches/Fix_undefined_behaviour_in_ComplexUnitsConverter_applyRounder.patch
new file mode 100644
index 0000000..9d623a7
--- /dev/null
+++ b/debian/patches/Fix_undefined_behaviour_in_ComplexUnitsConverter_applyRounder.patch
@@ -0,0 +1,26 @@
+From 29f1188d191a7a75ac7ffa4bfa390f625da39c53 Mon Sep 17 00:00:00 2001
+From: Andreas Schwab <schwab at suse.de>
+Date: Tue, 11 May 2021 19:04:24 +0200
+Subject: [PATCH] ICU-21613 Fix undefined behaviour in
+ ComplexUnitsConverter::applyRounder
+
+---
+ source/i18n/units_complexconverter.cpp | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/source/i18n/units_complexconverter.cpp b/source/i18n/units_complexconverter.cpp
+index 89a60e4aa37..f15ea0c2588 100644
+--- a/source/i18n/units_complexconverter.cpp
++++ b/source/i18n/units_complexconverter.cpp
+@@ -237,6 +237,11 @@ void ComplexUnitsConverter::applyRounder(MaybeStackArray<int64_t, 5> &intValues,
+ }
+ quantity = decimalQuantity.toDouble();
+
++ if (uprv_isNaN(quantity) || uprv_isInfinite(quantity)) {
++ // Do nothing for non-finite values, since conversion to int64_t is undefined
++ return;
++ }
++
+ int32_t lastIndex = unitsConverters_.length() - 1;
+ if (lastIndex == 0) {
+ // Only one element, no need to bubble up the carry
diff --git a/debian/patches/icudata-stdlibs.patch b/debian/patches/icudata-stdlibs.patch
new file mode 100644
index 0000000..fc00241
--- /dev/null
+++ b/debian/patches/icudata-stdlibs.patch
@@ -0,0 +1,15 @@
+Index: icu-52~m1/source/config/mh-linux
+===================================================================
+--- icu-52~m1.orig/source/config/mh-linux 2013-09-14 18:53:23.284040467 -0400
++++ icu-52~m1/source/config/mh-linux 2013-09-14 18:53:23.284040467 -0400
+@@ -23,7 +23,9 @@
+ LD_RPATH_PRE = -Wl,-rpath,
+
+ ## These are the library specific LDFLAGS
+-LDFLAGSICUDT=-nodefaultlibs -nostdlib
++#LDFLAGSICUDT=-nodefaultlibs -nostdlib
++# Debian change: linking icudata as data only causes too many problems.
++LDFLAGSICUDT=
+
+ ## Compiler switch to embed a library name
+ # The initial tab in the next line is to prevent icu-config from reading it.
diff --git a/debian/patches/series b/debian/patches/series
new file mode 100644
index 0000000..89ff0bd
--- /dev/null
+++ b/debian/patches/series
@@ -0,0 +1,3 @@
+icudata-stdlibs.patch
+Fix_undefined_behaviour_in_ComplexUnitsConverter_applyRounder.patch
+Fix_ucptrietest_golden_diff.patch
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 0000000..7985886
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,74 @@
+#!/usr/bin/make -f
+# -*- makefile -*-
+
+# Uncomment this to turn on verbose mode.
+#export DH_VERBOSE=1
+
+include /usr/share/dpkg/architecture.mk
+
+export DEB_BUILD_MAINT_OPTIONS = hardening=+all
+DPKG_EXPORT_BUILDFLAGS = 1
+
+ifeq ($(DEB_HOST_ARCH_ENDIAN),little)
+export DEB_CPPFLAGS_MAINT_APPEND = -DU_TIMEZONE_FILES_DIR=/usr/share/zoneinfo-icu/44/le/
+endif
+ifeq ($(DEB_HOST_ARCH_ENDIAN),big)
+export DEB_CPPFLAGS_MAINT_APPEND = -DU_TIMEZONE_FILES_DIR=/usr/share/zoneinfo-icu/44/be/
+endif
+
+include /usr/share/dpkg/buildflags.mk
+
+l_SONAME=70
+
+override_dh_auto_clean:
+ dh_auto_clean --no-parallel
+
+override_dh_clean:
+ dh_clean
+ find $(CURDIR)/source/ \( -name Makefile -o -name pkgdataMakefile \) \
+ -exec rm {} \;
+ rm -Rf build-native
+
+override_dh_auto_configure:
+ifeq ($(DEB_BUILD_ARCH),$(DEB_HOST_ARCH))
+ dh_auto_configure -- --enable-static --disable-layoutex --disable-icu-config
+else
+ dh_auto_configure -B $(CURDIR)/build-native -- --host=$(DEB_BUILD_GNU_TYPE) --disable-layoutex --disable-icu-config
+ dh_auto_build -B $(CURDIR)/build-native
+ dh_auto_configure -- --enable-static --with-cross-build=$(CURDIR)/build-native
+endif
+
+override_dh_auto_build:
+ dh_auto_build --parallel -- VERBOSE=1
+ dh_auto_build --parallel -- VERBOSE=1 doc
+
+override_dh_auto_test:
+ dh_auto_test --no-parallel
+
+override_dh_auto_install:
+ dh_auto_install
+ $(MAKE) -C $(CURDIR)/source/ install-doc DESTDIR=$(CURDIR)/debian/tmp/
+ # delete extra license file
+ $(RM) $(CURDIR)/debian/tmp/usr/share/icu/$(l_SONAME).?/LICENSE
+
+override_dh_installdocs-indep:
+ dh_installdocs -i
+ # symlink duplicated files
+ for file in `find debian/icu-doc/usr/share/doc/icu-doc/html/ -name \*icu_1_1\*`; do \
+ normal=`echo $$file | sed s/icu_1_1//`; \
+ if [ -f $$normal ]; then \
+ $(RM) $$file; \
+ ln -s `basename $$normal` $$file; \
+ fi; \
+ done
+
+override_dh_missing:
+ dh_missing --list-missing
+
+%:
+ dh $@ --sourcedirectory=$(CURDIR)/source/
+
+.PHONY: override_dh_auto_clean override_dh_clean override_dh_auto_configure \
+ override_dh_auto_build override_dh_auto_test \
+ override_dh_auto_install override_dh_installdocs-indep \
+ override_dh_missing
diff --git a/debian/source/format b/debian/source/format
new file mode 100644
index 0000000..163aaf8
--- /dev/null
+++ b/debian/source/format
@@ -0,0 +1 @@
+3.0 (quilt)
diff --git a/debian/tests/build-test b/debian/tests/build-test
new file mode 100644
index 0000000..1de6ecb
--- /dev/null
+++ b/debian/tests/build-test
@@ -0,0 +1,10 @@
+#!/usr/bin/make -f
+
+CFLAGS=$(shell pkg-config --cflags icu-io)
+LIBS=$(shell pkg-config --libs icu-io)
+
+a.out: debian/tests/ustring.cpp
+ g++ $(CFLAGS) $< $(LIBS)
+ @echo "Build test of $< succeeded"
+ ./a.out
+ @rm -f a.out
diff --git a/debian/tests/control b/debian/tests/control
new file mode 100644
index 0000000..fb766f1
--- /dev/null
+++ b/debian/tests/control
@@ -0,0 +1,7 @@
+Tests: smoke
+Depends: libicu-dev, pkg-config
+Restrictions: allow-stderr
+
+Tests: build-test
+Depends: build-essential, libicu-dev, pkg-config
+Restrictions: allow-stderr
diff --git a/debian/tests/smoke b/debian/tests/smoke
new file mode 100644
index 0000000..be68d24
--- /dev/null
+++ b/debian/tests/smoke
@@ -0,0 +1,11 @@
+#!/bin/sh
+
+set -e
+set -x
+
+# Smoke test some of the tools
+uconv -f utf8 -t latin1 /etc/hostname
+pkg-config --modversion icu-i18n
+
+echo 'Smoke test of test driver succesful'
+exit 0
diff --git a/debian/tests/ustring.cpp b/debian/tests/ustring.cpp
new file mode 100644
index 0000000..35a8ec1
--- /dev/null
+++ b/debian/tests/ustring.cpp
@@ -0,0 +1,622 @@
+/*
+*******************************************************************************
+*
+* © 2016 and later: Unicode, Inc. and others.
+* License & terms of use: http://www.unicode.org/copyright.html
+*
+*******************************************************************************
+*******************************************************************************
+*
+* Copyright (C) 2000-2014, International Business Machines
+* Corporation and others. All Rights Reserved.
+*
+*******************************************************************************
+* file name: ustring.c
+* encoding: UTF-8
+* tab size: 8 (not used)
+* indentation:4
+*
+* created on: 2000aug15
+* created by: Markus W. Scherer
+*
+* This file contains sample code that illustrates the use of Unicode strings
+* with ICU.
+*/
+
+#define __STDC_FORMAT_MACROS 1
+#include <inttypes.h>
+
+#include <stdio.h>
+#include "unicode/utypes.h"
+#include "unicode/uchar.h"
+#include "unicode/locid.h"
+#include "unicode/ustring.h"
+#include "unicode/ucnv.h"
+#include "unicode/unistr.h"
+
+using namespace icu;
+
+#ifndef UPRV_LENGTHOF
+#define UPRV_LENGTHOF(array) (int32_t)(sizeof(array)/sizeof((array)[0]))
+#endif
+
+// helper functions -------------------------------------------------------- ***
+
+// default converter for the platform encoding
+static UConverter *cnv=NULL;
+
+static void
+printUString(const char *announce, const UChar *s, int32_t length) {
+ static char out[200];
+ UChar32 c;
+ int32_t i;
+ UErrorCode errorCode=U_ZERO_ERROR;
+
+ /*
+ * Convert to the "platform encoding". See notes in printUnicodeString().
+ * ucnv_fromUChars(), like most ICU APIs understands length==-1
+ * to mean that the string is NUL-terminated.
+ */
+ ucnv_fromUChars(cnv, out, sizeof(out), s, length, &errorCode);
+ if(U_FAILURE(errorCode) || errorCode==U_STRING_NOT_TERMINATED_WARNING) {
+ printf("%sproblem converting string from Unicode: %s\n", announce, u_errorName(errorCode));
+ return;
+ }
+
+ printf("%s%s {", announce, out);
+
+ /* output the code points (not code units) */
+ if(length>=0) {
+ /* s is not NUL-terminated */
+ for(i=0; i<length; /* U16_NEXT post-increments */) {
+ U16_NEXT(s, i, length, c);
+ printf(" %04x", c);
+ }
+ } else {
+ /* s is NUL-terminated */
+ for(i=0; /* condition in loop body */; /* U16_NEXT post-increments */) {
+ U16_NEXT(s, i, length, c);
+ if(c==0) {
+ break;
+ }
+ printf(" %04x", c);
+ }
+ }
+ printf(" }\n");
+}
+
+static void
+printUnicodeString(const char *announce, const UnicodeString &s) {
+ static char out[200];
+ int32_t i, length;
+
+ // output the string, converted to the platform encoding
+
+ // Note for Windows: The "platform encoding" defaults to the "ANSI codepage",
+ // which is different from the "OEM codepage" in the console window.
+ // However, if you pipe the output into a file and look at it with Notepad
+ // or similar, then "ANSI" characters will show correctly.
+ // Production code should be aware of what encoding is required,
+ // and use a UConverter or at least a charset name explicitly.
+ out[s.extract(0, 99, out)]=0;
+ printf("%s%s {", announce, out);
+
+ // output the code units (not code points)
+ length=s.length();
+ for(i=0; i<length; ++i) {
+ printf(" %04x", s.charAt(i));
+ }
+ printf(" }\n");
+}
+
+// sample code for utf.h macros -------------------------------------------- ***
+
+static void
+demo_utf_h_macros() {
+ static UChar input[]={ 0x0061, 0xd800, 0xdc00, 0xdbff, 0xdfff, 0x0062 };
+ UChar32 c;
+ int32_t i;
+ UBool isError;
+
+ printf("\n* demo_utf_h_macros() -------------- ***\n\n");
+
+ printUString("iterate forward through: ", input, UPRV_LENGTHOF(input));
+ for(i=0; i<UPRV_LENGTHOF(input); /* U16_NEXT post-increments */) {
+ /* Iterating forwards
+ Codepoint at offset 0: U+0061
+ Codepoint at offset 1: U+10000
+ Codepoint at offset 3: U+10ffff
+ Codepoint at offset 5: U+0062
+ */
+ printf("Codepoint at offset %d: U+", i);
+ U16_NEXT(input, i, UPRV_LENGTHOF(input), c);
+ printf("%04x\n", c);
+ }
+
+ puts("");
+
+ isError=false;
+ i=1; /* write position, gets post-incremented so needs to be in an l-value */
+ U16_APPEND(input, i, UPRV_LENGTHOF(input), 0x0062, isError);
+
+ printUString("iterate backward through: ", input, UPRV_LENGTHOF(input));
+ for(i=UPRV_LENGTHOF(input); i>0; /* U16_PREV pre-decrements */) {
+ U16_PREV(input, 0, i, c);
+ /* Iterating backwards
+ Codepoint at offset 5: U+0062
+ Codepoint at offset 3: U+10ffff
+ Codepoint at offset 2: U+dc00 -- unpaired surrogate because lead surr. overwritten
+ Codepoint at offset 1: U+0062 -- by this BMP code point
+ Codepoint at offset 0: U+0061
+ */
+ printf("Codepoint at offset %d: U+%04x\n", i, c);
+ }
+}
+
+// sample code for Unicode strings in C ------------------------------------ ***
+
+static void demo_C_Unicode_strings() {
+ printf("\n* demo_C_Unicode_strings() --------- ***\n\n");
+
+ static const UChar text[]={ 0x41, 0x42, 0x43, 0 }; /* "ABC" */
+ static const UChar appendText[]={ 0x61, 0x62, 0x63, 0 }; /* "abc" */
+ static const UChar cmpText[]={ 0x61, 0x53, 0x73, 0x43, 0 }; /* "aSsC" */
+ UChar buffer[32];
+ int32_t compare;
+ int32_t length=u_strlen(text); /* length=3 */
+
+ /* simple ANSI C-style functions */
+ buffer[0]=0; /* empty, NUL-terminated string */
+ u_strncat(buffer, text, 1); /* append just n=1 character ('A') */
+ u_strcat(buffer, appendText); /* buffer=="Aabc" */
+ length=u_strlen(buffer); /* length=4 */
+ printUString("should be \"Aabc\": ", buffer, -1);
+
+ /* bitwise comparing buffer with text */
+ compare=u_strcmp(buffer, text);
+ if(compare<=0) {
+ printf("String comparison error, expected \"Aabc\" > \"ABC\"\n");
+ }
+
+ /* Build "A<sharp s>C" in the buffer... */
+ u_strcpy(buffer, text);
+ buffer[1]=0xdf; /* sharp s, case-compares equal to "ss" */
+ printUString("should be \"A<sharp s>C\": ", buffer, -1);
+
+ /* Compare two strings case-insensitively using full case folding */
+ compare=u_strcasecmp(buffer, cmpText, U_FOLD_CASE_DEFAULT);
+ if(compare!=0) {
+ printf("String case insensitive comparison error, expected \"AbC\" to be equal to \"ABC\"\n");
+ }
+}
+
+// sample code for case mappings with C APIs -------------------------------- ***
+
+static void demoCaseMapInC() {
+ /*
+ * input=
+ * "aB<capital sigma>"
+ * "iI<small dotless i><capital dotted I> "
+ * "<sharp s> <small lig. ffi>"
+ * "<small final sigma><small sigma><capital sigma>"
+ */
+ static const UChar input[]={
+ 0x61, 0x42, 0x3a3,
+ 0x69, 0x49, 0x131, 0x130, 0x20,
+ 0xdf, 0x20, 0xfb03,
+ 0x3c2, 0x3c3, 0x3a3, 0
+ };
+ UChar buffer[32];
+
+ UErrorCode errorCode;
+ UChar32 c;
+ int32_t i, j, length;
+ UBool isError;
+
+ printf("\n* demoCaseMapInC() ----------------- ***\n\n");
+
+ /*
+ * First, use simple case mapping functions which provide
+ * 1:1 code point mappings without context/locale ID.
+ *
+ * Note that some mappings will not be "right" because some "real"
+ * case mappings require context, depend on the locale ID,
+ * and/or result in a change in the number of code points.
+ */
+ printUString("input string: ", input, -1);
+
+ /* uppercase */
+ isError=false;
+ for(i=j=0; j<UPRV_LENGTHOF(buffer) && !isError; /* U16_NEXT post-increments */) {
+ U16_NEXT(input, i, INT32_MAX, c); /* without length because NUL-terminated */
+ if(c==0) {
+ break; /* stop at terminating NUL, no need to terminate buffer */
+ }
+ c=u_toupper(c);
+ U16_APPEND(buffer, j, UPRV_LENGTHOF(buffer), c, isError);
+ }
+ printUString("simple-uppercased: ", buffer, j);
+ /* lowercase */
+ isError=false;
+ for(i=j=0; j<UPRV_LENGTHOF(buffer) && !isError; /* U16_NEXT post-increments */) {
+ U16_NEXT(input, i, INT32_MAX, c); /* without length because NUL-terminated */
+ if(c==0) {
+ break; /* stop at terminating NUL, no need to terminate buffer */
+ }
+ c=u_tolower(c);
+ U16_APPEND(buffer, j, UPRV_LENGTHOF(buffer), c, isError);
+ }
+ printUString("simple-lowercased: ", buffer, j);
+ /* titlecase */
+ isError=false;
+ for(i=j=0; j<UPRV_LENGTHOF(buffer) && !isError; /* U16_NEXT post-increments */) {
+ U16_NEXT(input, i, INT32_MAX, c); /* without length because NUL-terminated */
+ if(c==0) {
+ break; /* stop at terminating NUL, no need to terminate buffer */
+ }
+ c=u_totitle(c);
+ U16_APPEND(buffer, j, UPRV_LENGTHOF(buffer), c, isError);
+ }
+ printUString("simple-titlecased: ", buffer, j);
+ /* case-fold/default */
+ isError=false;
+ for(i=j=0; j<UPRV_LENGTHOF(buffer) && !isError; /* U16_NEXT post-increments */) {
+ U16_NEXT(input, i, INT32_MAX, c); /* without length because NUL-terminated */
+ if(c==0) {
+ break; /* stop at terminating NUL, no need to terminate buffer */
+ }
+ c=u_foldCase(c, U_FOLD_CASE_DEFAULT);
+ U16_APPEND(buffer, j, UPRV_LENGTHOF(buffer), c, isError);
+ }
+ printUString("simple-case-folded/default: ", buffer, j);
+ /* case-fold/Turkic */
+ isError=false;
+ for(i=j=0; j<UPRV_LENGTHOF(buffer) && !isError; /* U16_NEXT post-increments */) {
+ U16_NEXT(input, i, INT32_MAX, c); /* without length because NUL-terminated */
+ if(c==0) {
+ break; /* stop at terminating NUL, no need to terminate buffer */
+ }
+ c=u_foldCase(c, U_FOLD_CASE_EXCLUDE_SPECIAL_I);
+ U16_APPEND(buffer, j, UPRV_LENGTHOF(buffer), c, isError);
+ }
+ printUString("simple-case-folded/Turkic: ", buffer, j);
+
+ /*
+ * Second, use full case mapping functions which provide
+ * 1:n code point mappings (n can be 0!) and are sensitive to context and locale ID.
+ *
+ * Note that lower/upper/titlecasing take a locale ID while case-folding
+ * has bit flag options instead, by design of the Unicode SpecialCasing.txt UCD file.
+ *
+ * Also, string titlecasing requires a BreakIterator to find starts of words.
+ * The sample code here passes in a NULL pointer; u_strToTitle() will open and close a default
+ * titlecasing BreakIterator automatically.
+ * For production code where many strings are titlecased it would be more efficient
+ * to open a BreakIterator externally and pass it in.
+ */
+ printUString("\ninput string: ", input, -1);
+
+ /* lowercase/English */
+ errorCode=U_ZERO_ERROR;
+ length=u_strToLower(buffer, UPRV_LENGTHOF(buffer), input, -1, "en", &errorCode);
+ if(U_SUCCESS(errorCode)) {
+ printUString("full-lowercased/en: ", buffer, length);
+ } else {
+ printf("error in u_strToLower(en)=%" PRId32 " error=%s\n", length, u_errorName(errorCode));
+ }
+ /* lowercase/Turkish */
+ errorCode=U_ZERO_ERROR;
+ length=u_strToLower(buffer, UPRV_LENGTHOF(buffer), input, -1, "tr", &errorCode);
+ if(U_SUCCESS(errorCode)) {
+ printUString("full-lowercased/tr: ", buffer, length);
+ } else {
+ printf("error in u_strToLower(tr)=%" PRId32 " error=%s\n", length, u_errorName(errorCode));
+ }
+ /* uppercase/English */
+ errorCode=U_ZERO_ERROR;
+ length=u_strToUpper(buffer, UPRV_LENGTHOF(buffer), input, -1, "en", &errorCode);
+ if(U_SUCCESS(errorCode)) {
+ printUString("full-uppercased/en: ", buffer, length);
+ } else {
+ printf("error in u_strToUpper(en)=%" PRId32 " error=%s\n", length, u_errorName(errorCode));
+ }
+ /* uppercase/Turkish */
+ errorCode=U_ZERO_ERROR;
+ length=u_strToUpper(buffer, UPRV_LENGTHOF(buffer), input, -1, "tr", &errorCode);
+ if(U_SUCCESS(errorCode)) {
+ printUString("full-uppercased/tr: ", buffer, length);
+ } else {
+ printf("error in u_strToUpper(tr)=%" PRId32 " error=%s\n", length, u_errorName(errorCode));
+ }
+ /* titlecase/English */
+ errorCode=U_ZERO_ERROR;
+ length=u_strToTitle(buffer, UPRV_LENGTHOF(buffer), input, -1, NULL, "en", &errorCode);
+ if(U_SUCCESS(errorCode)) {
+ printUString("full-titlecased/en: ", buffer, length);
+ } else {
+ printf("error in u_strToTitle(en)=%" PRId32 " error=%s\n", length, u_errorName(errorCode));
+ }
+ /* titlecase/Turkish */
+ errorCode=U_ZERO_ERROR;
+ length=u_strToTitle(buffer, UPRV_LENGTHOF(buffer), input, -1, NULL, "tr", &errorCode);
+ if(U_SUCCESS(errorCode)) {
+ printUString("full-titlecased/tr: ", buffer, length);
+ } else {
+ printf("error in u_strToTitle(tr)=%" PRId32 " error=%s\n", length, u_errorName(errorCode));
+ }
+ /* case-fold/default */
+ errorCode=U_ZERO_ERROR;
+ length=u_strFoldCase(buffer, UPRV_LENGTHOF(buffer), input, -1, U_FOLD_CASE_DEFAULT, &errorCode);
+ if(U_SUCCESS(errorCode)) {
+ printUString("full-case-folded/default: ", buffer, length);
+ } else {
+ printf("error in u_strFoldCase(default)=%" PRId32 " error=%s\n", length, u_errorName(errorCode));
+ }
+ /* case-fold/Turkic */
+ errorCode=U_ZERO_ERROR;
+ length=u_strFoldCase(buffer, UPRV_LENGTHOF(buffer), input, -1, U_FOLD_CASE_EXCLUDE_SPECIAL_I, &errorCode);
+ if(U_SUCCESS(errorCode)) {
+ printUString("full-case-folded/Turkic: ", buffer, length);
+ } else {
+ printf("error in u_strFoldCase(Turkic)=%" PRId32 " error=%s\n", length, u_errorName(errorCode));
+ }
+}
+
+// sample code for case mappings with C++ APIs ------------------------------ ***
+
+static void demoCaseMapInCPlusPlus() {
+ /*
+ * input=
+ * "aB<capital sigma>"
+ * "iI<small dotless i><capital dotted I> "
+ * "<sharp s> <small lig. ffi>"
+ * "<small final sigma><small sigma><capital sigma>"
+ */
+ static const UChar input[]={
+ 0x61, 0x42, 0x3a3,
+ 0x69, 0x49, 0x131, 0x130, 0x20,
+ 0xdf, 0x20, 0xfb03,
+ 0x3c2, 0x3c3, 0x3a3, 0
+ };
+
+ printf("\n* demoCaseMapInCPlusPlus() --------- ***\n\n");
+
+ UnicodeString s(input), t;
+ const Locale &en=Locale::getEnglish();
+ Locale tr("tr");
+
+ /*
+ * Full case mappings as in demoCaseMapInC(), using UnicodeString functions.
+ * These functions modify the string object itself.
+ * Since we want to keep the input string around, we copy it each time
+ * and case-map the copy.
+ */
+ printUnicodeString("input string: ", s);
+
+ /* lowercase/English */
+ printUnicodeString("full-lowercased/en: ", (t=s).toLower(en));
+ /* lowercase/Turkish */
+ printUnicodeString("full-lowercased/tr: ", (t=s).toLower(tr));
+ /* uppercase/English */
+ printUnicodeString("full-uppercased/en: ", (t=s).toUpper(en));
+ /* uppercase/Turkish */
+ printUnicodeString("full-uppercased/tr: ", (t=s).toUpper(tr));
+ /* titlecase/English */
+ printUnicodeString("full-titlecased/en: ", (t=s).toTitle(NULL, en));
+ /* titlecase/Turkish */
+ printUnicodeString("full-titlecased/tr: ", (t=s).toTitle(NULL, tr));
+ /* case-folde/default */
+ printUnicodeString("full-case-folded/default: ", (t=s).foldCase(U_FOLD_CASE_DEFAULT));
+ /* case-folde/Turkic */
+ printUnicodeString("full-case-folded/Turkic: ", (t=s).foldCase(U_FOLD_CASE_EXCLUDE_SPECIAL_I));
+}
+
+// sample code for UnicodeString storage models ----------------------------- ***
+
+static const UChar readonly[]={
+ 0x61, 0x31, 0x20ac
+};
+static UChar writeable[]={
+ 0x62, 0x32, 0xdbc0, 0xdc01 // includes a surrogate pair for a supplementary code point
+};
+static char out[100];
+
+static void
+demoUnicodeStringStorage() {
+ // These sample code lines illustrate how to use UnicodeString, and the
+ // comments tell what happens internally. There are no APIs to observe
+ // most of this programmatically, except for stepping into the code
+ // with a debugger.
+ // This is by design to hide such details from the user.
+ int32_t i;
+
+ printf("\n* demoUnicodeStringStorage() ------- ***\n\n");
+
+ // * UnicodeString with internally stored contents
+ // instantiate a UnicodeString from a single code point
+ // the few (2) UChars will be stored in the object itself
+ UnicodeString one((UChar32)0x24001);
+ // this copies the few UChars into the "two" object
+ UnicodeString two=one;
+ printf("length of short string copy: %d\n", two.length());
+ // set "one" to contain the 3 UChars from readonly
+ // this setTo() variant copies the characters
+ one.setTo(readonly, UPRV_LENGTHOF(readonly));
+
+ // * UnicodeString with allocated contents
+ // build a longer string that will not fit into the object's buffer
+ one+=UnicodeString(writeable, UPRV_LENGTHOF(writeable));
+ one+=one;
+ one+=one;
+ printf("length of longer string: %d\n", one.length());
+ // copying will use the same allocated buffer and increment the reference
+ // counter
+ two=one;
+ printf("length of longer string copy: %d\n", two.length());
+
+ // * UnicodeString using readonly-alias to a const UChar array
+ // construct a string that aliases a readonly buffer
+ UnicodeString three(false, readonly, UPRV_LENGTHOF(readonly));
+ printUnicodeString("readonly-alias string: ", three);
+ // copy-on-write: any modification to the string results in
+ // a copy to either the internal buffer or to a newly allocated one
+ three.setCharAt(1, 0x39);
+ printUnicodeString("readonly-aliasing string after modification: ", three);
+ // the aliased array is not modified
+ for(i=0; i<three.length(); ++i) {
+ printf("readonly buffer[%d] after modifying its string: 0x%" PRId32 "\n",
+ i, readonly[i]);
+ }
+ // setTo() readonly alias
+ one.setTo(false, writeable, UPRV_LENGTHOF(writeable));
+ // copying the readonly-alias object with fastCopyFrom() (new in ICU 2.4)
+ // will readonly-alias the same buffer
+ two.fastCopyFrom(one);
+ printUnicodeString("fastCopyFrom(readonly alias of \"writeable\" array): ", two);
+ printf("verify that a fastCopyFrom(readonly alias) uses the same buffer pointer: %d (should be 1)\n",
+ one.getBuffer()==two.getBuffer());
+ // a normal assignment will clone the contents (new in ICU 2.4)
+ two=one;
+ printf("verify that a regular copy of a readonly alias uses a different buffer pointer: %d (should be 0)\n",
+ one.getBuffer()==two.getBuffer());
+
+ // * UnicodeString using writeable-alias to a non-const UChar array
+ UnicodeString four(writeable, UPRV_LENGTHOF(writeable), UPRV_LENGTHOF(writeable));
+ printUnicodeString("writeable-alias string: ", four);
+ // a modification writes through to the buffer
+ four.setCharAt(1, 0x39);
+ for(i=0; i<four.length(); ++i) {
+ printf("writeable-alias backing buffer[%d]=0x%" PRId32 " "
+ "after modification\n", i, writeable[i]);
+ }
+ // a copy will not alias any more;
+ // instead, it will get a copy of the contents into allocated memory
+ two=four;
+ two.setCharAt(1, 0x21);
+ for(i=0; i<two.length(); ++i) {
+ printf("writeable-alias backing buffer[%d]=0x%" PRId32 " after "
+ "modification of string copy\n", i, writeable[i]);
+ }
+ // setTo() writeable alias, capacity==length
+ one.setTo(writeable, UPRV_LENGTHOF(writeable), UPRV_LENGTHOF(writeable));
+ // grow the string - it will not fit into the backing buffer any more
+ // and will get copied before modification
+ one.append((UChar)0x40);
+ // shrink it back so it would fit
+ one.truncate(one.length()-1);
+ // we still operate on the copy
+ one.setCharAt(1, 0x25);
+ printf("string after growing too much and then shrinking[1]=0x%" PRId32 "\n"
+ " backing store for this[1]=0x%" PRId32 "\n",
+ one.charAt(1), writeable[1]);
+ // if we need it in the original buffer, then extract() to it
+ // extract() does not do anything if the string aliases that same buffer
+ // i=min(one.length(), length of array)
+ if(one.length()<UPRV_LENGTHOF(writeable)) {
+ i=one.length();
+ } else {
+ i=UPRV_LENGTHOF(writeable);
+ }
+ one.extract(0, i, writeable);
+ for(i=0; i<UPRV_LENGTHOF(writeable); ++i) {
+ printf("writeable-alias backing buffer[%d]=0x%" PRId32 " after re-extract\n",
+ i, writeable[i]);
+ }
+}
+
+// sample code for UnicodeString instantiations ----------------------------- ***
+
+static void
+demoUnicodeStringInit() {
+ // *** Make sure to read about invariant characters in utypes.h! ***
+ // Initialization of Unicode strings from C literals works _only_ for
+ // invariant characters!
+
+ printf("\n* demoUnicodeStringInit() ---------- ***\n\n");
+
+ // the string literal is 32 chars long - this must be counted for the macro
+ UnicodeString invariantOnly=UNICODE_STRING("such characters are safe 123 %-.", 32);
+
+ /*
+ * In C, we need two macros: one to declare the UChar[] array, and
+ * one to populate it; the second one is a noop on platforms where
+ * wchar_t is compatible with UChar and ASCII-based.
+ * The length of the string literal must be counted for both macros.
+ */
+ /* declare the invString array for the string */
+ U_STRING_DECL(invString, "such characters are safe 123 %-.", 32);
+ /* populate it with the characters */
+ U_STRING_INIT(invString, "such characters are safe 123 %-.", 32);
+
+ // compare the C and C++ strings
+ printf("C and C++ Unicode strings are equal: %d\n", invariantOnly==UnicodeString(true, invString, 32));
+
+ /*
+ * convert between char * and UChar * strings that
+ * contain only invariant characters
+ */
+ static const char *cs1="such characters are safe 123 %-.";
+ static UChar us1[40];
+ static char cs2[40];
+ u_charsToUChars(cs1, us1, 33); /* include the terminating NUL */
+ u_UCharsToChars(us1, cs2, 33);
+ printf("char * -> UChar * -> char * with only "
+ "invariant characters: \"%s\"\n",
+ cs2);
+
+ // initialize a UnicodeString from a string literal that contains
+ // escape sequences written with invariant characters
+ // do not forget to duplicate the backslashes for ICU to see them
+ // then, count each double backslash only once!
+ UnicodeString german=UNICODE_STRING(
+ "Sch\\u00f6nes Auto: \\u20ac 11240.\\fPrivates Zeichen: \\U00102345\\n", 64).
+ unescape();
+ printUnicodeString("german UnicodeString from unescaping:\n ", german);
+
+ /*
+ * C: convert and unescape a char * string with only invariant
+ * characters to fill a UChar * string
+ */
+ UChar buffer[200];
+ int32_t length;
+ length=u_unescape(
+ "Sch\\u00f6nes Auto: \\u20ac 11240.\\fPrivates Zeichen: \\U00102345\\n",
+ buffer, UPRV_LENGTHOF(buffer));
+ printf("german C Unicode string from char * unescaping: (length %d)\n ", length);
+ printUnicodeString("", UnicodeString(buffer));
+}
+
+extern int
+main(int argc, const char *argv[]) {
+ UErrorCode errorCode=U_ZERO_ERROR;
+
+ // Note: Using a global variable for any object is not exactly thread-safe...
+
+ // You can change this call to e.g. ucnv_open("UTF-8", &errorCode) if you pipe
+ // the output to a file and look at it with a Unicode-capable editor.
+ // This will currently affect only the printUString() function, see the code above.
+ // printUnicodeString() could use this, too, by changing to an extract() overload
+ // that takes a UConverter argument.
+ cnv=ucnv_open(NULL, &errorCode);
+ if(U_FAILURE(errorCode)) {
+ fprintf(stderr, "error %s opening the default converter\n", u_errorName(errorCode));
+ return errorCode;
+ }
+
+ ucnv_setFromUCallBack(cnv, UCNV_FROM_U_CALLBACK_ESCAPE, UCNV_ESCAPE_C, NULL, NULL, &errorCode);
+ if(U_FAILURE(errorCode)) {
+ fprintf(stderr, "error %s setting the escape callback in the default converter\n", u_errorName(errorCode));
+ ucnv_close(cnv);
+ return errorCode;
+ }
+
+ demo_utf_h_macros();
+ demo_C_Unicode_strings();
+ demoCaseMapInC();
+ demoCaseMapInCPlusPlus();
+ demoUnicodeStringStorage();
+ demoUnicodeStringInit();
+
+ ucnv_close(cnv);
+ return 0;
+}
diff --git a/debian/upstream/signing-key.asc b/debian/upstream/signing-key.asc
new file mode 100644
index 0000000..3e293a7
--- /dev/null
+++ b/debian/upstream/signing-key.asc
@@ -0,0 +1,962 @@
+This file contains the PGP keys of ICU developers.
+Compare to http://www.apache.org/dist/ant/KEYS and read https://www.apache.org/dev/openpgp.html for background
+
+To import these keys:
+ gpg --import KEYS
+
+To update this file:
+replace $KEYID is your key's ID:
+ (gpg --list-sigs $KEYID && gpg --armor --export $KEYID ) >> KEYS
+
+
+pub 2048R/825EA2CD 2010-11-02
+uid ICU Project @IBM (International Components for Unicode Development at IBM) <icuintl at us.ibm.com>
+sig 3 825EA2CD 2010-11-02 ICU Project @IBM (International Components for Unicode Development at IBM) <icuintl at us.ibm.com>
+sig 3 FD8FABF1 2013-12-12 Steven R. Loomis (ICU Project) <srl at icu-project.org>
+sig 0F0DE47D 2014-09-17 Steven R. Loomis (CODE SIGNING KEY) <srl at icu-project.org>
+sub 2048R/1D06B1BF 2010-11-02
+sig 825EA2CD 2010-11-02 ICU Project @IBM (International Components for Unicode Development at IBM) <icuintl at us.ibm.com>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v2.0.14 (GNU/Linux)
+
+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
+AZA1XWLRgZ3+5+vD
+=NkHr
+-----END PGP PUBLIC KEY BLOCK-----
+
+
+pub 4096R/0F0DE47D 2014-09-17 [expires: 2019-09-16]
+uid Steven R. Loomis (CODE SIGNING KEY) <srl at icu-project.org>
+sig 3 0F0DE47D 2014-09-17 Steven R. Loomis (CODE SIGNING KEY) <srl at icu-project.org>
+sig FD8FABF1 2014-09-17 Steven R. Loomis (ICU Project) <srl at icu-project.org>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+Version: GnuPG v2.0.14 (GNU/Linux)
+
+mQINBFQZ3doBEACpnA2AbRRVxu9TeDTnjHtz6h5NyMyGZIPZOX7Iv2bNS0JSAS/H
+9f2WP9+3ANHuKI32rYh0snKpWjYsgUCxZ8x2Wp4cu8YnTvvpL6a5fn5n04dTyd4s
+/gPLb51qHIL8L6MDfK2ARgukntzfLR2CoL+RwGLDOjNlnoGNw65XEdjkzZ65s05Q
+/YHdlMYJE6gQ7VzJf7JYO6z6MpclLSj106TDs0hmOSetRm66nt+G7q1iY/jMXSMm
+bs3CFe4MNoVlRnl2THFZWjGSrVNYkenKexrjJ5HD9sm2nFF5pXgMQBoyOE5gic/b
+H5hMeh3v4vmhxRL5GPmI9Ir25LwqYCaWZDu6TC8mDDJj82YQMOzvElpRU/5V8KVc
+R7e4FN7D6tXDPb8IMgHb1U7zEnKYAc+uAS5NQ6Vq/S3NoueEQNk+rwqy44yIigtD
+iOJOnLvf1JFUPNFUxRu2JUy7YzvvcyGG9PY7bxQEb/MLwa424GWRTHV4Yw+hHP6D
++XgylCyd36wfwgF48+gFeDza9gMPPDgGqJu059PjEEG9ELgBFkTVjM0+rqq1M6Jk
++WPFRgM9ioccwdVIvfVZNnkp+EUjpl/PHLYlFvP0orkK3SGc1jaqW5m3Y6P60RzM
+7OovZqtqUDTEfMZ4bQKT4EdLayBPFALvz4TgndxrZwoPi2QGmFU9Dy+snwARAQAB
+tDlTdGV2ZW4gUi4gTG9vbWlzIChDT0RFIFNJR05JTkcgS0VZKSA8c3JsQGljdS1w
+cm9qZWN0Lm9yZz6JAj4EEwECACgFAlQZ3doCGwMFCQlmAYAGCwkIBwMCBhUIAgkK
+CwQWAgMBAh4BAheAAAoJEKqprpwPDeR9St0P/RJzlQDOgtD/rq8ThV5clhcgzCQU
+J34bC9+SdvQVtG6cOu+/mE9fjPcRuMSC2saj3e6KdfdCF51ZUelFgg7Nf4VjzKXK
+egYFe11CJSYFt0YQyT3CwlX5a6lKv9BH4RJPdAjeACSNCLvuZYlkxfAFPAwJFMAH
+CeiY6P7Llm2sHHIIubK+yFviZiD1ic92ADt2llM06VwniCS2Cs0kx4NAl70jd/vW
+B/j9+k+PphZFA2IUuB80qnTdrEb+nVLQ9n0SMFwFm89bEm8IhXe0Lb//jl5ZbZCr
+afn02GvdSqU73jqOfEHS7hHemB1KSM4hEdWGFRhUf0+Xpc31aOsnKY5Wu89A8Sz/
+sKp554qAhGmBGeEjkKbw0t+k4liP+LW2efmVBt+/6msF+TGq0Rr5vFQEUNCYeIzz
+DS5nKDlKvRwgx/41RnSUYiLJS9GkCB6skxIQZvW2G7rnkGQkgmP3/tkTTX0EP0rT
+GlW4ivfp+AKoYozkZ5FNLXC06yzCSKYL0z9uoL38uR6opXo4768byzzkBOvSut3Q
+V9gbvAtZvwEibwOt0A4UhbIyv96+Oi2WI66q37Wl33F/QIsxpC9UjXju1RrAajOv
+0gY8VMxwuWHN8ewslykX5rohxgA7mkTf/YeELSiYEM1WpmKmj30uJapgDwVRpsTC
+dfSvIc/nOLji4u0iiQEcBBABAgAGBQJUGfLZAAoJEKyl2+H9j6vx+58IAMIzjJTv
+9n7Yq2iyncFyg7fmPmlKo28l6cIrmveGtzLWgO7pXw9hZy8mTwUAhg9nMnNbnjDw
+qSA+YH8rNy0MB/AaTj46faE/RlqB8bCUlnLlRk9b6IxKODOVAarFk0ltCUeNt1IP
+w8YziwUaJewmb2//tEjwG4RuliQeo8EPcg2MejsxctNJ1gWQxZFOSMk2M6I9NwW6
+xMUmqGzzKdPChdwzOBaHK2f4lB3IlPqpJVqAWuXdINzi91tCIKfo508hJSpzGm/n
+Lq4yQHJPjQjxTldFBxC8Ji5yYIQ2ZcWLaYndWH4aVbAkEelU3eIp44mU4tqhqCP6
+zJJjdh87G81yUoE=
+=pu4w
+-----END PGP PUBLIC KEY BLOCK-----
+pub 2048R/FD8FABF1 2013-12-12 [expires: 2020-10-03]
+uid Steven R. Loomis (ICU Project) <srl at icu-project.org>
+sig 3 FD8FABF1 2017-10-04 Steven R. Loomis (ICU Project) <srl at icu-project.org>
+uid [jpeg image of size 10375]
+sig 3 FD8FABF1 2017-10-04 Steven R. Loomis (ICU Project) <srl at icu-project.org>
+sig 3 FD8FABF1 2013-12-12 Steven R. Loomis (ICU Project) <srl at icu-project.org>
+sig 3 FD8FABF1 2013-12-12 Steven R. Loomis (ICU Project) <srl at icu-project.org>
+sub 2048R/A6EB1469 2013-12-12 [expires: 2019-10-04]
+sig FD8FABF1 2017-10-04 Steven R. Loomis (ICU Project) <srl at icu-project.org>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQENBFKpD3cBCADklZIzuPsYrEy08rASB+MRnFF8hqDDUkDHuvS0bJwEDge2EEHT
+l9rnUOt3SGtSrokeniQbwut26vuY/V59SSpwClytbHovIRJ/ovjq3nUasCRPOxDL
+mlmftkRGrO6WYH6hSzmRy2x3NTgQOlE/YRtOya3CAVlkiybpYXL3L1mJA4e80NpF
+V4UG7vyfw44OHFeO6mInqkcxVgKkxwp3wBbck3FEySEZT0DTT+sQHI52fgUftb+P
+xBH1s58lLAub4o2z1hnImPN/BR0lZpiNj59vzNlqmcnRHTpa6KIz+Qeep9dwLL7i
+71lMfCsEgVyDZxkQxFpNoRYRHRkfvBEY7JLpABEBAAG0NFN0ZXZlbiBSLiBMb29t
+aXMgKElDVSBQcm9qZWN0KSA8c3JsQGljdS1wcm9qZWN0Lm9yZz6JAT4EEwECACgC
+GwMGCwkIBwMCBhUIAgkKCwQWAgMBAh4BAheABQJZ1XNBBQkMz/5KAAoJEKyl2+H9
+j6vxKIEH/0aFGlFOtgXNHKEG7F1mVxhjNyFlZD5O/9t8oI46vYCgVfwsn6BsHFpv
+9yAtzA6z26Zt2NsPjH6dVRfc3sGCojBIKQ/lxnyQqjAYaEbVVQ/3jhAhgnm+uAF4
+3Rr54g+6FL7aHB33nDy9FmRtmQsyVf1OySR7VXbHpwEVzWeLrgmPKR1t8P1hdiSo
+YfroXVAPy2pynXUWgWbMbuqAcTj0iAQQ7LuVOVZ8bYA922LRgUxg/ZPxiGGm2g3M
+LF/QVWMH6FAHtSf9DOaFjZqQuypkUoOZZuFfNMvKaYIe+XviZRtWls5M6H8wOz6c
+bFrLBV5XBBwKbOXULpDv/3+oehDO22vR/wAAKJ3/AAAomAEQAAEBAAAAAAAAAAAA
+AAAA/9j/4AAQSkZJRgABAQEASABIAAD/4hscSUNDX1BST0ZJTEUAAQEAABsMYXBw
+bAIQAABtbnRyUkdCIFhZWiAH3QALAAUADwAzADFhY3NwQVBQTAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAA9tYAAQAAAADTLWFwcGwAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABFkZXNjAAABUAAAAGJkc2NtAAAB
+tAAABA5jcHJ0AAAFxAAAACN3dHB0AAAF6AAAABRyWFlaAAAF/AAAABRnWFlaAAAG
+EAAAABRiWFlaAAAGJAAAABRyVFJDAAAGOAAACAxhYXJnAAAORAAAACB2Y2d0AAAO
+ZAAABhJuZGluAAAUeAAABj5jaGFkAAAauAAAACxtbW9kAAAa5AAAAChiVFJDAAAG
+OAAACAxnVFJDAAAGOAAACAxhYWJnAAAORAAAACBhYWdnAAAORAAAACBkZXNjAAAA
+AAAAAAhEaXNwbGF5AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA
+AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAbWx1
+YwAAAAAAAAAhAAAADGhySFIAAAAUAAABnGtvS1IAAAAMAAABsG5iTk8AAAASAAAB
+vGlkAAAAAAASAAABzmh1SFUAAAAUAAAB4GNzQ1oAAAAWAAAB9GRhREsAAAAcAAAC
+CnVrVUEAAAAcAAACJmFyAAAAAAAUAAACQml0SVQAAAAUAAACVnJvUk8AAAASAAAC
+am5sTkwAAAAWAAACfGhlSUwAAAAWAAACkmVzRVMAAAASAAACamZpRkkAAAAQAAAC
+qHpoVFcAAAAMAAACuHZpVk4AAAAOAAACxHNrU0sAAAAWAAAC0npoQ04AAAAMAAAC
+uHJ1UlUAAAAkAAAC6GZyRlIAAAAWAAADDG1zAAAAAAASAAADImNhRVMAAAAYAAAD
+NHRoVEgAAAAMAAADTGRlREUAAAAQAAADWGVuVVMAAAASAAADaHB0QlIAAAAYAAAD
+enBsUEwAAAASAAADkmVsR1IAAAAiAAADpHN2U0UAAAAQAAADxnRyVFIAAAAUAAAD
+1mphSlAAAAAOAAAD6nB0UFQAAAAWAAAD+ABMAEMARAAgAHUAIABiAG8AagBpzuy3
+7AAgAEwAQwBEAEYAYQByAGcAZQAtAEwAQwBEAEwAQwBEACAAVwBhAHIAbgBhAFMA
+egDtAG4AZQBzACAATABDAEQAQgBhAHIAZQB2AG4A/QAgAEwAQwBEAEwAQwBEAC0A
+ZgBhAHIAdgBlAHMAawDmAHIAbQQaBD4EOwRMBD4EQAQ+BDIEOAQ5ACAATABDAEQg
+DwBMAEMARAAgBkUGRAZIBkYGKQBMAEMARAAgAGMAbwBsAG8AcgBpAEwAQwBEACAA
+YwBvAGwAbwByAEsAbABlAHUAcgBlAG4ALQBMAEMARCAPAEwAQwBEACAF5gXRBeIF
+1QXgBdkAVgDkAHIAaQAtAEwAQwBEX2mCcgAgAEwAQwBEAEwAQwBEACAATQDgAHUA
+RgBhAHIAZQBiAG4A6QAgAEwAQwBEBCYEMgQ1BEIEPQQ+BDkAIAQWBBoALQQ0BDgE
+QQQ/BDsENQQ5AEwAQwBEACAAYwBvAHUAbABlAHUAcgBXAGEAcgBuAGEAIABMAEMA
+RABMAEMARAAgAGUAbgAgAGMAbwBsAG8AcgBMAEMARAAgDioONQBGAGEAcgBiAC0A
+TABDAEQAQwBvAGwAbwByACAATABDAEQATABDAEQAIABDAG8AbABvAHIAaQBkAG8A
+SwBvAGwAbwByACAATABDAEQDiAOzA8cDwQPJA7wDtwAgA78DuAPMA70DtwAgAEwA
+QwBEAEYA5AByAGcALQBMAEMARABSAGUAbgBrAGwAaQAgAEwAQwBEMKsw6TD8ACAA
+TABDAEQATABDAEQAIABhACAAQwBvAHIAZQBzAAB0ZXh0AAAAAENvcHlyaWdodCBB
+cHBsZSBJbmMuLCAyMDEzAABYWVogAAAAAAAA81IAAQAAAAEWz1hZWiAAAAAAAABq
+egAAPKoAAAYFWFlaIAAAAAAAAGhwAACq+AAAH7dYWVogAAAAAAAAI+wAABheAACt
+cWN1cnYAAAAAAAAEAAAAAAUACgAPABQAGQAeACMAKAAtADIANgA7AEAARQBKAE8A
+VABZAF4AYwBoAG0AcgB3AHwAgQCGAIsAkACVAJoAnwCjAKgArQCyALcAvADBAMYA
+ywDQANUA2wDgAOUA6wDwAPYA+wEBAQcBDQETARkBHwElASsBMgE4AT4BRQFMAVIB
+WQFgAWcBbgF1AXwBgwGLAZIBmgGhAakBsQG5AcEByQHRAdkB4QHpAfIB+gIDAgwC
+FAIdAiYCLwI4AkECSwJUAl0CZwJxAnoChAKOApgCogKsArYCwQLLAtUC4ALrAvUD
+AAMLAxYDIQMtAzgDQwNPA1oDZgNyA34DigOWA6IDrgO6A8cD0wPgA+wD+QQGBBME
+IAQtBDsESARVBGMEcQR+BIwEmgSoBLYExATTBOEE8AT+BQ0FHAUrBToFSQVYBWcF
+dwWGBZYFpgW1BcUF1QXlBfYGBgYWBicGNwZIBlkGagZ7BowGnQavBsAG0QbjBvUH
+BwcZBysHPQdPB2EHdAeGB5kHrAe/B9IH5Qf4CAsIHwgyCEYIWghuCIIIlgiqCL4I
+0gjnCPsJEAklCToJTwlkCXkJjwmkCboJzwnlCfsKEQonCj0KVApqCoEKmAquCsUK
+3ArzCwsLIgs5C1ELaQuAC5gLsAvIC+EL+QwSDCoMQwxcDHUMjgynDMAM2QzzDQ0N
+Jg1ADVoNdA2ODakNww3eDfgOEw4uDkkOZA5/DpsOtg7SDu4PCQ8lD0EPXg96D5YP
+sw/PD+wQCRAmEEMQYRB+EJsQuRDXEPURExExEU8RbRGMEaoRyRHoEgcSJhJFEmQS
+hBKjEsMS4xMDEyMTQxNjE4MTpBPFE+UUBhQnFEkUahSLFK0UzhTwFRIVNBVWFXgV
+mxW9FeAWAxYmFkkWbBaPFrIW1hb6Fx0XQRdlF4kXrhfSF/cYGxhAGGUYihivGNUY
++hkgGUUZaxmRGbcZ3RoEGioaURp3Gp4axRrsGxQbOxtjG4obshvaHAIcKhxSHHsc
+oxzMHPUdHh1HHXAdmR3DHeweFh5AHmoelB6+HukfEx8+H2kflB+/H+ogFSBBIGwg
+mCDEIPAhHCFIIXUhoSHOIfsiJyJVIoIiryLdIwojOCNmI5QjwiPwJB8kTSR8JKsk
+2iUJJTglaCWXJccl9yYnJlcmhya3JugnGCdJJ3onqyfcKA0oPyhxKKIo1CkGKTgp
+aymdKdAqAio1KmgqmyrPKwIrNitpK50r0SwFLDksbiyiLNctDC1BLXYtqy3hLhYu
+TC6CLrcu7i8kL1ovkS/HL/4wNTBsMKQw2zESMUoxgjG6MfIyKjJjMpsy1DMNM0Yz
+fzO4M/E0KzRlNJ402DUTNU01hzXCNf02NzZyNq426TckN2A3nDfXOBQ4UDiMOMg5
+BTlCOX85vDn5OjY6dDqyOu87LTtrO6o76DwnPGU8pDzjPSI9YT2hPeA+ID5gPqA+
+4D8hP2E/oj/iQCNAZECmQOdBKUFqQaxB7kIwQnJCtUL3QzpDfUPARANER0SKRM5F
+EkVVRZpF3kYiRmdGq0bwRzVHe0fASAVIS0iRSNdJHUljSalJ8Eo3Sn1KxEsMS1NL
+mkviTCpMcky6TQJNSk2TTdxOJU5uTrdPAE9JT5NP3VAnUHFQu1EGUVBRm1HmUjFS
+fFLHUxNTX1OqU/ZUQlSPVNtVKFV1VcJWD1ZcVqlW91dEV5JX4FgvWH1Yy1kaWWlZ
+uFoHWlZaplr1W0VblVvlXDVchlzWXSddeF3JXhpebF69Xw9fYV+zYAVgV2CqYPxh
+T2GiYfViSWKcYvBjQ2OXY+tkQGSUZOllPWWSZedmPWaSZuhnPWeTZ+loP2iWaOxp
+Q2maafFqSGqfavdrT2una/9sV2yvbQhtYG25bhJua27Ebx5veG/RcCtwhnDgcTpx
+lXHwcktypnMBc11zuHQUdHB0zHUodYV14XY+dpt2+HdWd7N4EXhueMx5KnmJeed6
+RnqlewR7Y3vCfCF8gXzhfUF9oX4BfmJ+wn8jf4R/5YBHgKiBCoFrgc2CMIKSgvSD
+V4O6hB2EgITjhUeFq4YOhnKG14c7h5+IBIhpiM6JM4mZif6KZIrKizCLlov8jGOM
+yo0xjZiN/45mjs6PNo+ekAaQbpDWkT+RqJIRknqS45NNk7aUIJSKlPSVX5XJljSW
+n5cKl3WX4JhMmLiZJJmQmfyaaJrVm0Kbr5wcnImc951kndKeQJ6unx2fi5/6oGmg
+2KFHobaiJqKWowajdqPmpFakx6U4pammGqaLpv2nbqfgqFKoxKk3qamqHKqPqwKr
+davprFys0K1ErbiuLa6hrxavi7AAsHWw6rFgsdayS7LCszizrrQltJy1E7WKtgG2
+ebbwt2i34LhZuNG5SrnCuju6tbsuu6e8IbybvRW9j74KvoS+/796v/XAcMDswWfB
+48JfwtvDWMPUxFHEzsVLxcjGRsbDx0HHv8g9yLzJOsm5yjjKt8s2y7bMNcy1zTXN
+tc42zrbPN8+40DnQutE80b7SP9LB00TTxtRJ1MvVTtXR1lXW2Ndc1+DYZNjo2WzZ
+8dp22vvbgNwF3IrdEN2W3hzeot8p36/gNuC94UThzOJT4tvjY+Pr5HPk/OWE5g3m
+lucf56noMui86Ubp0Opb6uXrcOv77IbtEe2c7ijutO9A78zwWPDl8XLx//KM8xnz
+p/Q09ML1UPXe9m32+/eK+Bn4qPk4+cf6V/rn+3f8B/yY/Sn9uv5L/tz/bf//cGFy
+YQAAAAAAAwAAAAJmZgAA8qcAAA1ZAAAT0AAACg52Y2d0AAAAAAAAAAAAAwEAAAIA
+AAAIACQAVwCkAQYBRgGTAe8CTAK0AycDoAQnBLoFWAYABrUHeAhGCRsJ+ArhC9IM
+zg3RDxQQaBG8ExkUdhXZF0kYuBotG6YdKx6vIDghyiNgJPomkygwKdUrZSzsLnUv
+9zF5Mvk0bzXjN084sToMO2M8tD3+P0VAhUHFQvlEHkVFRmpHkUi2SdxLAUwmTUlO
+bU+PULFR01L2VBlVPFZSV2pYf1mWWq1bw1zZXe5fAmAWYSliPGNOZGFldGaBZ4Bo
+gmmDaoRrhmyJbYpujG+OcJFxk3KVc5d0m3WVdnJ3UHgteQt56nrIe6Z8hn1nfkh/
+KoANgPGB1oK7g5+EhYVxhmOHX4hniXuKoYvXjR2Ob4/PkTySkJOylNaV+JcbmECZ
+ZpqOm7mc6Z4cn1KgjaHKovikDqUmpj+nWah3qZiqvKvlrRKuQ694sLGx67MftFC1
+frart9W4/boku0q8b72Vvr2/5cEPwjbDUcRhxWPGVsc7yBLI3MmbylXLDcvFzILN
+Rs4Rzt/PrdB80UrSGdLn07PUf9VJ1hLW2teZ2FHZBtm82nTbLtvo3KXdYt4h3uDf
+n+Bf4R/h3+Kc41bkDuTD5XPmIObL53LoGOi86WTqD+rC63XsKOzd7ZLuSO7/77jw
+c/Ev8ezywfOp9JL1dvZa9z/4Kvkf+iP7QvyG/gv//wAAAAcAHgBKAIsA4wEqAW4B
+wAIZAnQC2gNHA70EQQTSBW0GEQa9B3QINgkACdUKrQuODIENlg7MEAARPBJ6E7oV
+AxZPF6MY+BpUG7QdGh6GH/IhZCLWJE0lxycvKJMp9ytXLLMuCy9gMLAx+DM8NHc1
+rTbeOAo5MDpWO3c8kD2dPqw/ukDKQdlC6UP5RQpGGkcqSD1JTkpgS3FMg02UTp5P
+qVCyUbtSxlPQVNlV4lbqV/NY+1oDWwtcFF0dXiFfIWAfYR1iG2MZZBZlE2YPZwpo
+BWkAaftq9WvwbOdt2G7Ib7ZwpHGQcntzZHRLdTF2Fnb6d954wnmmeod7Z3xKfS5+
+FX8Cf/OA6oHpgvCD/YUShi2HTYhuiYuKp4vEjOKOAY8hkEORZpKNk7WU4JYNlzyY
+ZZmHmqqbzJzxnhefP6BpoZaixqP5pS6mZqegqNqqFKtOrIatvq72sCyxZLKbs9W1
+D7ZLt4m4x7oBuzq8cL2jvtG/+cEbwjbDTMRcxWnGcsdtyFrJQ8oryxPL+8zizcjO
+rs+T0HjRXtJD0yTUAdTd1bnWlNdv2ErZJdn/2tnbstyM3WbeQN8b3/fg1OGx4o3j
+auRH5STmAebd57nolOlp6j3rEevl7Lvtku5q70TwIPD98dzyu/Oc9I71lPas99X5
+C/pG+3n8mf2c/oD/Sf//AAAABQAWADUAZACkAPUBLQFqAbACAAJTArADFgOBA/UE
+cAT1BYMGHAa+B2UIEwjGCX4KQwsqDCYNJg4lDy4QNxFHElcTbhSGFaUWxxfxGRka
+SBt5HK0d4x8bIEQhaiKNI7Ak0yXwJwsoISk1KkArSCxKLUcuQS82MCoxHDIGMukz
+yTSqNY02bzdQODM5FDn1Otc7uDyaPXw+Xj9AQCJBBUHpQs5Ds0SYRX5GY0dISCxJ
+EEn1StlLvEyhTYZOaU9IUCdRBlHlUsRTolSBVV5WO1cZV/ZY01mvWo1baVxCXRtd
+817MX6Rge2FSYihi/mPTZKllfmZTZyhn+mjLaZxqbWs9bA1s3G2rbnlvRXAScN5x
+qXJ1cztz/3TBdYN2Q3cCd794e3kyeed6m3tKe/h8rH1xflp/R4A0gSKCEIL/g+2E
+2oXHhrOHnYiIiXCKaotpjGiNaI5pj2mQaJFmkmKTXZRVlUyWQZdEmFOZZ5p7m5Gc
+pp26ns2f3aDrofejAKQHpR6mU6ePqMyqC6tNrJGt2q8osHmxzrMntIO13LckuGi5
+prrcvAu9Mr5Sv2zAgMGRwp/DrcS4xcLGy8fWyOLJ78r+zA/NI846z1PQb9GN0rLT
+2dUB1irXU9h92ana1twF3TXeZ9+b4O/iheQo5d/nv+nQ7CHuuPGn9N/4XPwV//8A
+AG5kaW4AAAAAAAAGNgAAmj0AAFllAABRRwAAjYQAACXWAAAXCgAAUA0AAFQ5AAKK
+PQACRR4AAYzMAAMBAAACAAAACwAiAD0AWgB3AJUAswDRAPABEAEwAVEBcgGUAa8B
+ywHoAgYCJAJDAmMCgwKjAsQC5gMIAysDTgNxA5UDugPfBAQEKgRQBHcEngTGBO8F
+GAVBBWsFmAXHBfYGJgZXBooGvQbyBycHXweXB9IIDghMCI0IzwkTCVkJoQnsCjgK
+hwrXCykLgQveDDsMmgz6DVwNwA4lDowO9Q9gD8wQOhCqERwRjxIEEnoS8hNyE/IU
+dRT5FX8WBxaRFx0XrBg8GM8ZZBn7GpQbLxvLHGwdGR3GHnYfKB/cIJEhSiIEIsAj
+fiQ/JQIlxyaNJ1koRyk3KisrISwaLRYuFC8TMBUxGDIdMyM0LDU6Nkc3UThWOVI6
+RTsvPA885j22PoA/RkAIQMVBgEJRQ0JEM0UnRh1HE0gLSQNJ+0rzS+lM303UTshP
+u1CuUaZSwFPaVPVWEVctWEhZYlp7W5JcqF27Xs5f32DwYgBjFmQzZVJmdmecaMdp
+9WsmbFptkW7JcANxPXJ5c7R08HY6d5F4+np5fBR90H+2gcGD5YYNiCqKLYwnjiSQ
+JJIolDKWQ5hbmn2cpp7voV6jzKY4qKKrCq1yr9yySbS5ty65sLxFvvHBt8SXx43K
+lM2L0F/TN9YQ2Orbwt6W4WjkOOa26PrrVO258B7yevTC9uv46fq6/Fj9uv7p//8A
+AAANACcARgBnAIcAqADKAOwBDwEyAVcBfAGfAb4B3QH+Ah8CQQJkAogCrALRAvYD
+HANDA2oDkgO6A+MEDAQ2BGEEjAS4BOUFEgVABW4FoQXUBgkGPgZ1Bq4G5wcjB2AH
+nwffCCMIaAiwCPoJRwmWCegKPQqTCuwLRwurDA8MdgzeDUcNsw4gDo8O/w9yD+YQ
+WxDTEUwRxxJEEsITRhPMFFQU3xVrFfkWiRccF7EYSBjhGXwaGhq5G1ob/RymHVQe
+BB63H2wgJCDeIZsiWyMeI+MkqiV0JkEnDyfnKMQppSqJK3IsXi1PLkUvPzA9MT8y
+RDNMNFo1bDZ+N5E4oTmuOrc7uzy5PbM+qD+aQIpBd0JoQ11EVUVORkhHREhBST5K
+PEs6TDhNNk40TzNQMVEvUjlTSFRYVWpWfFePWKNZtlrJW9xc7l4AXxJgI2E1YkZj
+WWRuZYRmnme5aNdp9msYbDttYG6Gb6xw03H6cyJ0SnV0dqN31XkKekN7gXzFfhF/
+ZIDBgiaDlIULhomIDomzi3KNNI76kMOSkpRlljyYGJn3m9mdv5+6obujv6XIp9Wp
+56v9rhiwNrJZtH62pLjMuvW9Ib9RwYPDusX0yDTKd8zDzybRi9Pz1lrYwdsl3Yjf
+6eJK5KrnCukv6y7tFu7n8KryZ/Qr9gT4BPpD/OP//wAAABIANQBbAIMArADVAP4B
+KQFVAYMBqwHRAfgCIQJKAnUCoALNAvoDKQNYA4gDuQPqBB0EUASEBLkE7wUmBV4F
+mgXYBhgGWgadBuIHKgd0B8EIEAhjCLkJEwlxCdIKNwqfCwoLewvzDG4M6w1qDe0O
+cQ75D4MQEBCgETIRxxJeEvgTlBQyFNIVdRYaFsIXbRgbGMwZfxo2Gu8bqhxpHS8d
++B7DH5IgZCE5IhIi7iPNJK8llSZ9J2koXClSKkwrSSxLLVAuWi9nMHgxjTKlM8A0
+5TYNNzk4aTmdOtY8FD1YPqA/7UE+QptEBEVxRuZIY0nrS4BNIU7RUIxSF1NkVLJW
+AldUWKhZ/1tbXLleHV+FYPFiYmO6ZRBmaGfBaRxqe2vdbURur3AgcZdzE3SUdfp3
+VniyehB7b3zQfjV/nYEKgnyD9IVyhvWIfonTix2MaI2zjv+QSZGTktyUI5VplqyX
+75kvmm+brpzsni6fgqDbojqjoaUQpoioC6mZqzGs1K6AsDKx6rOmtWi3Lrj3usC8
+i75VwB/B6MOvxXTHN8j5yrrMec4uz+TRm9NU1Q3WyNiD2j7b+d20327hKeLj5J7m
+Ked+6M7qF+tZ7JHtuu7V7+fw4/Hb8r/zoPRw9UH1//a993P4I/jU+Xj6HfrA+1z7
++PyS/Sf9vP5Q/uD/b///AABzZjMyAAAAAAABDEIAAAXe///zJgAAB5IAAP2R///7
+ov///aMAAAPcAADAbG1tb2QAAAAAAAAGEAAAnKUAAAAAw7GoAAAAAAAAAAAAAAAA
+AAAAAAD/4QCARXhpZgAATU0AKgAAAAgABQESAAMAAAABAAEAAAEaAAUAAAABAAAA
+SgEbAAUAAAABAAAAUgEoAAMAAAABAAIAAIdpAAQAAAABAAAAWgAAAAAAAABIAAAA
+AQAAAEgAAAABAAKgAgAEAAAAAQAAADugAwAEAAAAAQAAAFMAAAAA/9sAQwACAQEC
+AQECAgECAgICAgMFAwMDAwMGBAQDBQcGBwcHBgYGBwgLCQcICggGBgkNCQoLCwwM
+DAcJDQ4NDA4LDAwL/9sAQwECAgIDAgMFAwMFCwgGCAsLCwsLCwsLCwsLCwsLCwsL
+CwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsLCwsL/8AAEQgAUwA7AwEiAAIR
+AQMRAf/EAB8AAAEFAQEBAQEBAAAAAAAAAAABAgMEBQYHCAkKC//EALUQAAIBAwMC
+BAMFBQQEAAABfQECAwAEEQUSITFBBhNRYQcicRQygZGhCCNCscEVUtHwJDNicoIJ
+ChYXGBkaJSYnKCkqNDU2Nzg5OkNERUZHSElKU1RVVldYWVpjZGVmZ2hpanN0dXZ3
+eHl6g4SFhoeIiYqSk5SVlpeYmZqio6Slpqeoqaqys7S1tre4ubrCw8TFxsfIycrS
+09TV1tfY2drh4uPk5ebn6Onq8fLz9PX29/j5+v/EAB8BAAMBAQEBAQEBAQEAAAAA
+AAABAgMEBQYHCAkKC//EALURAAIBAgQEAwQHBQQEAAECdwABAgMRBAUhMQYSQVEH
+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
+DyXQOcA=
+=x0WA
+-----END PGP PUBLIC KEY BLOCK-----
+
+pub rsa4096 2015-11-15 [SC]
+ FFA9129A180D765B7A5BEA1C9B432B27D1BA20D7
+uid [desconocida] Fredrik Roubert <fredrik at roubert.name>
+sig C191C1EE0DED33EA 2015-11-23 [ID de usuario no encontrado]
+sig 216D7E92EB61819E 2015-11-25 [ID de usuario no encontrado]
+sig 1C2C9D2A7564DC9F 2015-12-02 [ID de usuario no encontrado]
+sig A42898C74BF155DB 2015-12-03 [ID de usuario no encontrado]
+sig 3 C44AB8B850327DF9 2015-11-15 [ID de usuario no encontrado]
+sig 4719E4FC1E16C930 2015-12-02 [ID de usuario no encontrado]
+sig 4484F5552D1E8BB4 2015-12-02 [ID de usuario no encontrado]
+sig 6C6580E77BD756C4 2015-12-02 [ID de usuario no encontrado]
+sig 7F61756177978F76 2015-12-08 [ID de usuario no encontrado]
+sig 47712171F2ED62FB 2016-04-06 [ID de usuario no encontrado]
+sig 2 80D88B22D4330331 2015-11-21 [ID de usuario no encontrado]
+sig 3 9C187BA29B2157F8 2015-12-01 [ID de usuario no encontrado]
+sig 3 6DFD2ACE211BAAD0 2015-11-23 [ID de usuario no encontrado]
+sig 3 4445C665FFAD9AE0 2015-11-23 [ID de usuario no encontrado]
+sig 3 2DFF526BB17F76C6 2016-06-11 [ID de usuario no encontrado]
+sig 3 9B432B27D1BA20D7 2015-11-15 Fredrik Roubert <fredrik at roubert.name>
+uid [desconocida] Fredrik Roubert <roubert at google.com>
+sig C191C1EE0DED33EA 2015-11-23 [ID de usuario no encontrado]
+sig 216D7E92EB61819E 2015-11-25 [ID de usuario no encontrado]
+sig 1C2C9D2A7564DC9F 2015-12-02 [ID de usuario no encontrado]
+sig A42898C74BF155DB 2015-12-03 [ID de usuario no encontrado]
+sig 3 C44AB8B850327DF9 2015-11-15 [ID de usuario no encontrado]
+sig 4719E4FC1E16C930 2015-12-02 [ID de usuario no encontrado]
+sig 4484F5552D1E8BB4 2015-12-02 [ID de usuario no encontrado]
+sig 6C6580E77BD756C4 2015-12-02 [ID de usuario no encontrado]
+sig 7F61756177978F76 2015-12-08 [ID de usuario no encontrado]
+sig 47712171F2ED62FB 2016-04-06 [ID de usuario no encontrado]
+sig 2 80D88B22D4330331 2015-11-21 [ID de usuario no encontrado]
+sig 3 9C187BA29B2157F8 2015-12-01 [ID de usuario no encontrado]
+sig 3 6DFD2ACE211BAAD0 2015-11-23 [ID de usuario no encontrado]
+sig 3 4445C665FFAD9AE0 2015-11-23 [ID de usuario no encontrado]
+sig 3 2DFF526BB17F76C6 2016-06-11 [ID de usuario no encontrado]
+sig 3 9B432B27D1BA20D7 2015-11-15 Fredrik Roubert <fredrik at roubert.name>
+sub rsa4096 2015-11-15 [E]
+sig 9B432B27D1BA20D7 2015-11-15 Fredrik Roubert <fredrik at roubert.name>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+=vIM2
+-----END PGP PUBLIC KEY BLOCK-----
+
+pub rsa4096 2018-06-28 [SC]
+ 827320CB5E847C916CF49D06147473802F35F6CB
+uid [ultimate] Jeff Genovy <jefgen at microsoft.com>
+sig 3 147473802F35F6CB 2019-12-04 Jeff Genovy <jefgen at microsoft.com>
+uid [ultimate] Jeff Genovy <Jeff.Genovy at microsoft.com>
+sig 3 147473802F35F6CB 2019-12-04 Jeff Genovy <jefgen at microsoft.com>
+sub rsa4096 2018-06-28 [E]
+sig 147473802F35F6CB 2018-06-28 Jeff Genovy <jefgen at microsoft.com>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+TMuS5W4GIP4f7uR1uQ==
+=Veoq
+-----END PGP PUBLIC KEY BLOCK-----
+pub rsa4096 2020-02-24 [SC] [caduca: 2021-02-23]
+ 4569BBC09DA846FC91CBD21CE1BBA44593CF2AE0
+uid [ absoluta ] Steven R. Loomis (codesign-qormi) <srloomis at us.ibm.com>
+sig 3 E1BBA44593CF2AE0 2020-02-24 Steven R. Loomis (codesign-qormi) <srloomis at us.ibm.com>
+sig 44CE7BF2825EA2CD 2020-02-28 ICU Project @IBM (International Components for Unicode Development at IBM) <icuintl at us.ibm.com>
+uid [ absoluta ] Steven R. Loomis (qormi signing key) <srl295 at gmail.com>
+sig 3 E1BBA44593CF2AE0 2020-02-24 Steven R. Loomis (codesign-qormi) <srloomis at us.ibm.com>
+sig 44CE7BF2825EA2CD 2020-02-28 ICU Project @IBM (International Components for Unicode Development at IBM) <icuintl at us.ibm.com>
+sub rsa2048 2020-02-24 [E] [caduca: 2021-02-23]
+sig E1BBA44593CF2AE0 2020-02-24 Steven R. Loomis (codesign-qormi) <srloomis at us.ibm.com>
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+=DEHc
+-----END PGP PUBLIC KEY BLOCK-----
+
+pub rsa3072 2020-10-14 [SC]
+ 0E51E7F06EF719FBD072782A5F56E5AFA63CCD33
+uid [ultimate] Craig Cornelius (For use with ICU releases) <ccornelius at google.com>
+sig 3 5F56E5AFA63CCD33 2020-10-14 Craig Cornelius (For use with ICU releases) <ccornelius at google.com>
+sig 3 9B432B27D1BA20D7 2020-10-14 Fredrik Roubert <fredrik at roubert.name>
+sub rsa3072 2020-10-14 [E]
+sig 5F56E5AFA63CCD33 2020-10-14 Craig Cornelius (For use with ICU releases) <ccornelius at google.com>
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+=FdGa
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/debian/watch b/debian/watch
new file mode 100644
index 0000000..f6e1802
--- /dev/null
+++ b/debian/watch
@@ -0,0 +1,6 @@
+version=4
+opts=uversionmangle=s/(\d+)-(\d+)/$1.$2/;s/(\d)[_\.\-\+]?((RC|rc|pre|dev|beta|alpha|b|a)[\-\.]?\d*)$/$1~$2/,\
+dversionmangle=s/\+(debian|dfsg|ds|deb)(\.?\d+)?$//,\
+pgpsigurlmangle=s/$/.asc/ \
+https://github.com/unicode-org/icu/tags \
+(?:|.*/)release-v?(\d\S*)@ARCHIVE_EXT@
More information about the Neon-commits
mailing list