summaryrefslogtreecommitdiffstats
path: root/icu.spec
diff options
context:
space:
mode:
Diffstat (limited to 'icu.spec')
-rw-r--r--icu.spec285
1 files changed, 179 insertions, 106 deletions
diff --git a/icu.spec b/icu.spec
index 4874261..5beef02 100644
--- a/icu.spec
+++ b/icu.spec
@@ -1,40 +1,30 @@
+#%%global debugtrace 1
+
Name: icu
-Version: 50.1.2
-Release: 17%{?dist}
+Version: 62.1
+Release: 3%{?dist}
Summary: International Components for Unicode
-Group: Development/Tools
+
License: MIT and UCD and Public Domain
-URL: http://www.icu-project.org/
-Source0: http://download.icu-project.org/files/icu4c/50.1.2/icu4c-50_1_2-src.tgz
-# According to ICU the layout "patch" should be applied to all versions earlier than 51.2
-# See also http://site.icu-project.org/download/51#TOC-Known-Issues
-Source1: http://download.icu-project.org/files/icu4c/51.1/icu-51-layout-fix-10107.tgz
-Source2: icu-config.sh
-Source10: http://source.icu-project.org/repos/icu/data/trunk/tzdata/icunew/2018e/44/metaZones.txt
-Source11: http://source.icu-project.org/repos/icu/data/trunk/tzdata/icunew/2018e/44/timezoneTypes.txt
-Source12: http://source.icu-project.org/repos/icu/data/trunk/tzdata/icunew/2018e/44/windowsZones.txt
-Source13: http://source.icu-project.org/repos/icu/data/trunk/tzdata/icunew/2018e/44/zoneinfo64.txt
-BuildRequires: doxygen, autoconf, python
+URL: http://site.icu-project.org/
+Source0: http://download.icu-project.org/files/icu4c/62.1/icu4c-62_1-src.tgz
+Source1: icu-config.sh
+
+BuildRequires: gcc
+BuildRequires: gcc-c++
+BuildRequires: doxygen, autoconf, python2
Requires: lib%{name}%{?_isa} = %{version}-%{release}
-Patch1: icu.8198.revert.icu5431.patch
-Patch2: icu.8800.freeserif.crash.patch
-Patch3: icu.7601.Indic-ccmp.patch
-Patch4: icu.9948.mlym-crash.patch
-Patch5: gennorm2-man.patch
-Patch6: icuinfo-man.patch
-Patch7: icu.10143.memory.leak.crash.patch
-Patch8: icu.10318.CVE-2013-2924_changeset_34076.patch
-Patch9: icu.rhbz1074549.CVE-2013-5907.patch
-Patch10: icu-testtwodigityear.patch
-Patch11: do-not-fail-intltest-because-of-changed-data.patch
+Patch4: gennorm2-man.patch
+Patch5: icuinfo-man.patch
+Patch6: rhbz1646703-icu4c-ICU-20246-integer-overflow.patch
+Patch100: armv7hl-disable-tests.patch
%description
Tools and utilities for developing with icu.
%package -n lib%{name}
Summary: International Components for Unicode - libraries
-Group: System Environment/Libraries
%description -n lib%{name}
The International Components for Unicode (ICU) libraries provide
@@ -50,7 +40,6 @@ customize the supplied services.
%package -n lib%{name}-devel
Summary: Development files for International Components for Unicode
-Group: Development/Libraries
Requires: lib%{name}%{?_isa} = %{version}-%{release}
Requires: pkgconfig
@@ -59,7 +48,6 @@ Includes and definitions for developing with icu.
%package -n lib%{name}-doc
Summary: Documentation for International Components for Unicode
-Group: Documentation
BuildArch: noarch
%description -n lib%{name}-doc
@@ -68,36 +56,19 @@ BuildArch: noarch
%{!?endian: %global endian %(%{__python} -c "import sys;print (0 if sys.byteorder=='big' else 1)")}
# " this line just fixes syntax highlighting for vim that is confused by the above and continues literal
+
%prep
%setup -q -n %{name}
-%setup -q -n %{name} -T -D -a 1
-%patch1 -p2 -R -b .icu8198.revert.icu5431.patch
-%patch2 -p1 -b .icu8800.freeserif.crash.patch
-%patch3 -p1 -b .icu7601.Indic-ccmp.patch
-%patch4 -p1 -b .icu9948.mlym-crash.patch
-%patch5 -p1 -b .gennorm2-man.patch
-%patch6 -p1 -b .icuinfo-man.patch
-%patch7 -p1 -b .icu10143.memory.leak.crash.patch
-%patch8 -p1 -b .icu10318.CVE-2013-2924_changeset_34076.patch
-%patch9 -p1 -b .icurhbz1074549.CVE-2013-5907.patch
-%patch10 -p1 -b .icu-testtwodigityear.patch
-%patch11 -p1 -b .do-not-fail-intltest-because-of-changed-data.patch
-
-# http://userguide.icu-project.org/datetime/timezone#TOC-Updating-the-Time-Zone-Data
-# says:
-#
-# > ICU4C TZ update when ICU data is built into a shared library
-# > [...]
-# > Copy the downloaded .txt files into the ICU sources for your installation,
-# > in the subdirectory source/data/misc/
-# > [...]
-cp %{SOURCE10} source/data/misc/
-cp %{SOURCE11} source/data/misc/
-cp %{SOURCE12} source/data/misc/
-cp %{SOURCE13} source/data/misc/
+%patch4 -p1 -b .gennorm2-man.patch
+%patch5 -p1 -b .icuinfo-man.patch
+%patch6 -p2 -b .rhbz1646703-icu4c-ICU-20246-integer-overflow.patch
+%ifarch armv7hl
+%patch100 -p1 -b .armv7hl-disable-tests.patch
+%endif
+
%build
-cd source
+pushd source
autoconf
CFLAGS='%optflags -fno-strict-aliasing'
CXXFLAGS='%optflags -fno-strict-aliasing'
@@ -105,17 +76,16 @@ CXXFLAGS='%optflags -fno-strict-aliasing'
%if ! 0%{?endian}
CPPFLAGS='-DU_IS_BIG_ENDIAN=1'
%endif
+
#rhbz856594 do not use --disable-renaming or cope with the mess
-%configure --with-data-packaging=library --disable-samples
+OPTIONS='--with-data-packaging=library --disable-samples'
+%if 0%{?debugtrace}
+OPTIONS=$OPTIONS' --enable-debug --enable-tracing'
+%endif
+%configure $OPTIONS
+
#rhbz#225896
sed -i 's|-nodefaultlibs -nostdlib||' config/mh-linux
-#rhbz#681941
-sed -i 's|^LIBS =.*|LIBS = -L../lib -licuuc -lpthread -lm|' i18n/Makefile
-sed -i 's|^LIBS =.*|LIBS = -nostdlib -L../lib -licuuc -licui18n -lc -lgcc|' io/Makefile
-sed -i 's|^LIBS =.*|LIBS = -nostdlib -L../lib -licuuc -lc|' layout/Makefile
-sed -i 's|^LIBS =.*|LIBS = -nostdlib -L../lib -licuuc -licule -lc|' layoutex/Makefile
-sed -i 's|^LIBS =.*|LIBS = -nostdlib -L../../lib -licutu -licuuc -lc|' tools/ctestfw/Makefile
-sed -i 's|^LIBS =.*|LIBS = -nostdlib -L../../lib -licui18n -licuuc -lpthread -lc|' tools/toolutil/Makefile
#rhbz#813484
sed -i 's| \$(docfilesdir)/installdox||' Makefile
# There is no source/doc/html/search/ directory
@@ -125,19 +95,12 @@ sed -i '/^\s\+\$(INSTALL_DATA) \$(docsrchfiles) \$(DESTDIR)\$(docdir)\/\$(docsub
# icu/source/common/unicode/uconfig.h to propagate to consumer packages.
test -f uconfig.h.prepend && sed -e '/^#define __UCONFIG_H__/ r uconfig.h.prepend' -i common/unicode/uconfig.h
-make %{?_smp_mflags}
+# more verbosity for build.log
+sed -i -r 's|(PKGDATA_OPTS = )|\1-v |' data/Makefile
+
+make %{?_smp_mflags} VERBOSE=1
make %{?_smp_mflags} doc
-# remove the original timezone data and build the new data from the updated
-# zoneinfo64.txt file:
-%ifarch s390 s390x ppc ppc64
-rm -f ./data/out/build/icudt50b/zoneinfo64.res
-make -C data ./out/build/icudt50b/zoneinfo64.res
-%else
-rm -f ./data/out/build/icudt50l/zoneinfo64.res
-make -C data ./out/build/icudt50l/zoneinfo64.res
-%endif
-make
%install
rm -rf $RPM_BUILD_ROOT source/__docs
@@ -148,24 +111,34 @@ chmod +x $RPM_BUILD_ROOT%{_libdir}/*.so.*
cd $RPM_BUILD_ROOT%{_bindir}
mv icu-config icu-config-%{__isa_bits}
)
-install -p -m755 -D %{SOURCE2} $RPM_BUILD_ROOT%{_bindir}/icu-config
+install -p -m755 -D %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/icu-config
+
%check
# test to ensure that -j(X>1) didn't "break" man pages. b.f.u #2357
if grep -q @VERSION@ source/tools/*/*.8 source/tools/*/*.1 source/config/*.1; then
exit 1
fi
-# add CINTLTST_OPTS=-w and INTLTEST_OPTS=-w
-# to turn the errors caused by the timezone data update
-# into warnings:
-make %{?_smp_mflags} -C source check CINTLTST_OPTS=-w INTLTEST_OPTS=-w
+%ifarch i686
+# F26 since the mass rebuild in 2017-Feb fails a check, ignore error. TODO: find cause / disable only one.
+make %{?_smp_mflags} -C source check ||:
+%else
+make %{?_smp_mflags} -C source check
+%endif
+
+# log available codes
+pushd source
+LD_LIBRARY_PATH=lib:stubdata:tools/ctestfw:$LD_LIBRARY_PATH bin/uconv -l
+
%post -n lib%{name} -p /sbin/ldconfig
%postun -n lib%{name} -p /sbin/ldconfig
+
%files
-%defattr(-,root,root,-)
+%license license.html
+%exclude %{_datadir}/%{name}/*/LICENSE
%{_bindir}/derb
%{_bindir}/genbrk
%{_bindir}/gencfu
@@ -188,17 +161,17 @@ make %{?_smp_mflags} -C source check CINTLTST_OPTS=-w INTLTEST_OPTS=-w
%{_mandir}/man8/*.8*
%files -n lib%{name}
-%defattr(-,root,root,-)
-%doc license.html readme.html
+%license LICENSE
+%doc readme.html
%{_libdir}/*.so.*
%files -n lib%{name}-devel
-%defattr(-,root,root,-)
+%license LICENSE
+%doc source/samples/
%{_bindir}/%{name}-config*
%{_bindir}/icuinfo
%{_mandir}/man1/%{name}-config.1*
%{_mandir}/man1/icuinfo.1*
-%{_includedir}/layout
%{_includedir}/unicode
%{_libdir}/*.so
%{_libdir}/pkgconfig/*.pc
@@ -208,43 +181,143 @@ make %{?_smp_mflags} -C source check CINTLTST_OPTS=-w INTLTEST_OPTS=-w
%{_datadir}/%{name}/%{version}/install-sh
%{_datadir}/%{name}/%{version}/mkinstalldirs
%{_datadir}/%{name}/%{version}/config
-%doc %{_datadir}/%{name}/%{version}/license.html
%files -n lib%{name}-doc
-%defattr(-,root,root,-)
-%doc license.html readme.html
+%license LICENSE
+%doc readme.html
%doc source/__docs/%{name}/html/*
+
%changelog
-* Thu Jun 07 2018 Mike FABIAN <mfabian@redhat.com> - 50.1.2-17
-- Resolves: rhbz#1169339 Update timezone data to tz 2018e
+* Tue Nov 06 2018 Eike Rathke <erack@redhat.com> - 62.1-3
+- Resolves: rhbz#1646703 CVE-2018-18928
+
+* Fri Jul 13 2018 Fedora Release Engineering <releng@fedoraproject.org> - 62.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
+
+* Tue Jul 10 2018 Pete Walter <pwalter@fedoraproject.org> - 62.1-1
+- Update to 62.1
+
+* Mon May 28 2018 Eike Rathke <erack@redhat.com> - 61.1-2
+- Resolves: rhbz#1582611 Add riscv64 to icu-config.sh
+
+* Tue Apr 24 2018 Eike Rathke <erack@redhat.com> - 61.1-1
+- Update to 61.1
+
+* Thu Mar 15 2018 Iryna Shcherbina <ishcherb@redhat.com> - 60.2-3
+- Update Python 2 dependency declarations to new packaging standards
+ (See https://fedoraproject.org/wiki/FinalizingFedoraSwitchtoPython3)
+
+* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 60.2-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
+
+* Thu Dec 14 2017 Pete Walter <pwalter@fedoraproject.org> - 60.2-1
+- Update to 60.2
+
+* Thu Dec 14 2017 Eike Rathke <erack@redhat.com> - 60.1-2
+- Resolves: rhbz#1524820 CVE-2017-17484
+
+* Thu Nov 30 2017 Pete Walter <pwalter@fedoraproject.org> - 60.1-1
+- Update to 60.1
+
+* Wed Nov 08 2017 Eike Rathke <erack@redhat.com> - 57.1-9
+- Resolves: rhbz#1510932 CVE-2017-14952
+
+* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 57.1-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
+
+* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 57.1-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
+
+* Thu Apr 20 2017 Eike Rathke <erack@redhat.com> - 57.1-6
+- Resolves: rhbz#1444101 CVE-2017-7867 CVE-2017-7868
+
+* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 57.1-5
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
+
+* Fri Nov 18 2016 Eike Rathke <erack@redhat.com> - 57.1-4
+- dist.rpmgrill: "Percent signs in specfile changelog should be escaped"
+
+* Fri Nov 18 2016 Eike Rathke <erack@redhat.com> - 57.1-3
+- Resolves: rhbz#1377362 CVE-2016-7415
+
+* Tue Nov 01 2016 Eike Rathke <erack@redhat.com> - 57.1-2
+- Resolves: rhbz#1360340 CVE-2016-6293
+
+* Fri Apr 15 2016 Eike Rathke <erack@redhat.com> - 57.1-1
+- upgrade to upstream ICU 57.1
+
+* Tue Apr 05 2016 Eike Rathke <erack@redhat.com> - 56.1-7
+- make check failure is fatal again
+
+* Tue Apr 05 2016 Eike Rathke <erack@redhat.com> - 56.1-6
+- remove icu-56.1-codes-cache-extend.patch
+
+* Sun Feb 28 2016 Raphael Groner <projects.rg@smart.ms> - 56.1-5
+- even more verbosity and debug output
+- add path to extend ICU's internal cache of codes
+- use license macro
+- provide samples in devel subpackage
+- modernize generally
+
+* Sat Feb 27 2016 Rex Dieter <rdieter@fedoraproject.org> - 56.1-4
+- %%build: make VERBOSE=1
+- %%check: keep 'make check' non-fatal while investigating rhbz#1307633
+
+* Sat Feb 06 2016 Caolán McNamara <caolanm@redhat.com> - 56.1-3
+- Resolves: rhbz#1307633 FTBFS, disable check to get build through for now
+
+* Thu Feb 04 2016 Fedora Release Engineering <releng@fedoraproject.org> - 56.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
+
+* Tue Oct 27 2015 Eike Rathke <erack@redhat.com> - 56.1-1
+- Resolves: rhbz#1271353 upgrade to ICU 56.1
+
+* Fri Sep 18 2015 Eike Rathke <erack@redhat.com> - 54.1-5
+- Workaround rhbz#1239574 disabling offending tests on armv7hl
+
+* Wed Jun 17 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 54.1-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
+
+* Fri Apr 10 2015 Eike Rathke <erack@redhat.com> - 54.1-3
+- Resolves: rhbz#1190131 CVE-2014-7923 CVE-2014-7926 CVE-2014-9654
+- Resolves: rhbz#1184811 CVE-2014-6585 CVE-2014-6591
+
+* Sat Feb 21 2015 Till Maas <opensource@till.name> - 54.1-2
+- Rebuilt for Fedora 23 Change
+ https://fedoraproject.org/wiki/Changes/Harden_all_packages_with_position-independent_code
-* Wed Aug 19 2015 Eike Rathke <erack@redhat.com> - 50.1.2-16
-- Resolves: rhbz#1254690 add %{?_isa} to Requires for multi-arch systems
+* Mon Jan 26 2015 Eike Rathke <erack@redhat.com> - 54.1-1
+- Resolves: rhbz#1185433 upgrade to upstream ICU 54.1
-* Tue Aug 19 2014 Eike Rathke <erack@redhat.com> - 50.1.2-15
-- Resolves: rhbz#1126237 correct sources list file
+* Tue Aug 26 2014 Eike Rathke <erack@redhat.com> - 53.1-1
+- Resolves: rhbz#1130771 upgrade to upstream ICU 53.1
-* Mon Aug 18 2014 Eike Rathke <erack@redhat.com> - 50.1.2-14
-- Resolves: rhbz#1126237 bumped n-v-r for icu-config.sh upload
+* Sat Aug 16 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 52.1-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild
-* Mon Aug 04 2014 Eike Rathke <erack@redhat.com> - 50.1.2-13
-- Resolves: rhbz#1126237 icu-config for ppc64le
+* Fri Jun 13 2014 Eike Rathke <erack@redhat.com> - 52.1-3
+- Resolves: rhbz#1106793 bad 2-digit year test case
-* Mon Jul 14 2014 Eike Rathke <erack@redhat.com> - 50.1.2-12
-- Resolves: rhbz#1115726 bad 2-digit year test case, FTBFS
+* Sat Jun 07 2014 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 52.1-2
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild
-* Tue Mar 11 2014 Eike Rathke <erack@redhat.com> - 50.1.2-11
-- Resolves: rhbz#1074549 Layout Engine LookupProcessor insufficient input checks
+* Tue Feb 11 2014 Eike Rathke <erack@redhat.com> - 52.1-1
+- upgrade to upstream ICU 52.1
+- Resolves: rhbz#1049265 icu-52.1 is available
+- Resolves: rhbz#1050063 Trivial change to icu-config to support ppc64le
+- drop icu-51-layout-fix-10107.tgz source
+- drop integrated icu.10318.CVE-2013-2924_changeset_34076.patch
+- drop integrated icu.10143.memory.leak.crash.patch
-* Fri Jan 24 2014 Daniel Mach <dmach@redhat.com> - 50.1.2-10
-- Mass rebuild 2014-01-24
+* Wed Oct 09 2013 Eike Rathke <erack@redhat.com> - 50.1.2-10
+- Resolves: rhbz#1015594 CVE-2013-2924 use-after-free
-* Fri Dec 27 2013 Daniel Mach <dmach@redhat.com> - 50.1.2-9
-- Mass rebuild 2013-12-27
+* Fri Oct 04 2013 Eike Rathke <erack@redhat.com> - 50.1.2-9
+- added %%{?_isa} to Requires for multi-arch systems
-* Wed Oct 16 2013 Eike Rathke <erack@redhat.com> - 50.1.2-8
-- Resolves: rhbz#1015593 CVE-2013-2924 use-after-free
+* Sat Aug 03 2013 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 50.1.2-8
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_20_Mass_Rebuild
* Mon Jul 22 2013 Eike Rathke <erack@redhat.com> - 50.1.2-7
- Resolves: rhbz#986814 install icu-config.sh from source2