diff options
Diffstat (limited to 'icu.spec')
-rw-r--r-- | icu.spec | 285 |
1 files changed, 179 insertions, 106 deletions
@@ -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 |