diff --git a/.fmf/version b/.fmf/version deleted file mode 100644 index d00491f..0000000 --- a/.fmf/version +++ /dev/null @@ -1 +0,0 @@ -1 diff --git a/.gitignore b/.gitignore index e13cb52..376bf7c 100644 --- a/.gitignore +++ b/.gitignore @@ -125,54 +125,3 @@ /harfbuzz-3.3.2.tar.xz /harfbuzz-3.4.0.tar.xz /harfbuzz-4.0.0.tar.xz -/harfbuzz-4.0.1.tar.xz -/harfbuzz-4.1.0.tar.xz -/harfbuzz-4.2.0.tar.xz -/harfbuzz-4.2.1.tar.xz -/harfbuzz-4.3.0.tar.xz -/harfbuzz-4.4.0.tar.xz -/harfbuzz-4.4.1.tar.xz -/harfbuzz-5.0.1.tar.xz -/harfbuzz-5.1.0.tar.xz -/harfbuzz-5.2.0.tar.xz -/harfbuzz-5.3.0.tar.xz -/harfbuzz-5.3.1.tar.xz -/harfbuzz-6.0.0.tar.xz -/harfbuzz-7.0.0.tar.xz -/harfbuzz-7.0.1.tar.xz -/harfbuzz-7.1.0.tar.xz -/harfbuzz-7.2.0.tar.xz -/harfbuzz-7.3.0.tar.xz -/harfbuzz-8.0.0.tar.xz -/harfbuzz-8.0.1.tar.xz -/harfbuzz-8.1.1.tar.xz -/harfbuzz-8.2.0.tar.xz -/harfbuzz-8.2.1.tar.xz -/harfbuzz-8.3.0.tar.xz -/harfbuzz-8.3.1.tar.xz -/harfbuzz-8.4.0.tar.xz -/harfbuzz-8.5.0.tar.xz -/harfbuzz-9.0.0.tar.xz -/harfbuzz-10.0.1.tar.xz -/harfbuzz-10.1.0.tar.xz -/harfbuzz-10.2.0.tar.xz -/harfbuzz-10.3.0.tar.xz -/harfbuzz-10.4.0.tar.xz -/harfbuzz-11.0.0.tar.xz -/harfbuzz-11.0.1.tar.xz -/harfbuzz-11.1.0.tar.xz -/harfbuzz-11.2.0.tar.xz -/harfbuzz-11.2.1.tar.xz -/harfbuzz-11.3.1.tar.xz -/harfbuzz-11.3.3.tar.xz -/harfbuzz-11.4.1.tar.xz -/harfbuzz-11.4.2.tar.xz -/harfbuzz-11.4.3.tar.xz -/harfbuzz-11.4.4.tar.xz -/harfbuzz-11.4.5.tar.xz -/harfbuzz-11.5.0.tar.xz -/harfbuzz-11.5.1.tar.xz -/harfbuzz-12.0.0.tar.xz -/harfbuzz-12.1.0.tar.xz -/harfbuzz-12.2.0.tar.xz -/harfbuzz-12.3.0.tar.xz diff --git a/CVE-2022-33068-sbix-Limit-glyph-extents.patch b/CVE-2022-33068-sbix-Limit-glyph-extents.patch new file mode 100644 index 0000000..9949640 --- /dev/null +++ b/CVE-2022-33068-sbix-Limit-glyph-extents.patch @@ -0,0 +1,32 @@ +From 62e803b36173fd096d7ad460dd1d1db9be542593 Mon Sep 17 00:00:00 2001 +From: Behdad Esfahbod +Date: Wed, 1 Jun 2022 07:38:21 -0600 +Subject: [PATCH 001/363] [sbix] Limit glyph extents + +Fixes https://github.com/harfbuzz/harfbuzz/issues/3557 +--- + src/hb-ot-color-sbix-table.hh | 6 ++++++ + test/fuzzing/fonts/sbix-extents.ttf | Bin 0 -> 582 bytes + 2 files changed, 6 insertions(+) + create mode 100644 test/fuzzing/fonts/sbix-extents.ttf + +diff --git a/src/hb-ot-color-sbix-table.hh b/src/hb-ot-color-sbix-table.hh +index 9741ebd45..6efae43cd 100644 +--- a/src/hb-ot-color-sbix-table.hh ++++ b/src/hb-ot-color-sbix-table.hh +@@ -298,6 +298,12 @@ struct sbix + + const PNGHeader &png = *blob->as(); + ++ if (png.IHDR.height >= 65536 | png.IHDR.width >= 65536) ++ { ++ hb_blob_destroy (blob); ++ return false; ++ } ++ + extents->x_bearing = x_offset; + extents->y_bearing = png.IHDR.height + y_offset; + extents->width = png.IHDR.width; +-- +2.36.1 + diff --git a/harfbuzz.spec b/harfbuzz.spec index 8f5f956..49311da 100644 --- a/harfbuzz.spec +++ b/harfbuzz.spec @@ -1,12 +1,16 @@ Name: harfbuzz -Version: 12.3.0 -Release: 1%{?dist} +Version: 4.0.0 +Release: 2%{?dist} Summary: Text shaping library -License: MIT-Modern-Variant -URL: https://github.com/harfbuzz/harfbuzz/ +License: MIT +URL: https://harfbuzz.github.io/ Source0: https://github.com/harfbuzz/harfbuzz/releases/download/%{version}/harfbuzz-%{version}.tar.xz +# Upstream patch +# https://github.com/harfbuzz/harfbuzz/commit/62e803b36173fd096d7ad460dd1d1db9be542593 +Patch0: CVE-2022-33068-sbix-Limit-glyph-extents.patch + BuildRequires: cairo-devel BuildRequires: freetype-devel BuildRequires: glib2-devel @@ -15,12 +19,7 @@ BuildRequires: libicu-devel BuildRequires: graphite2-devel BuildRequires: gtk-doc BuildRequires: gcc-c++ -BuildRequires: make -BuildRequires: meson - -# https://github.com/harfbuzz/harfbuzz/issues/3163 -%global _distro_extra_cflags -fno-exceptions -%global _distro_extra_cxxflags -fno-exceptions -fno-rtti +BuildRequires: make %description HarfBuzz is an implementation of the OpenType Layout engine. @@ -30,7 +29,6 @@ HarfBuzz is an implementation of the OpenType Layout engine. Summary: Development files for %{name} Requires: %{name}%{?_isa} = %{version}-%{release} Requires: %{name}-icu%{?_isa} = %{version}-%{release} -Requires: %{name}-cairo%{?_isa} = %{version}-%{release} %description devel The %{name}-devel package contains libraries and header files for @@ -43,39 +41,28 @@ Requires: %{name}%{?_isa} = %{version}-%{release} %description icu This package contains Harfbuzz ICU support library. -%package cairo -Summary: Harfbuzz Cairo support library -Requires: %{name}%{?_isa} = %{version}-%{release} - -%description cairo -This package contains Harfbuzz Cairo support library. - %prep %autosetup -p1 %build -%meson -Dgraphite2=enabled -Dchafa=disabled -%meson_build +%configure --disable-static --with-graphite2 --with-gobject --enable-introspection +%{make_build} %install -%meson_install - - -%check -%meson_test +%{make_install} +rm -f $RPM_BUILD_ROOT%{_libdir}/*.la %ldconfig_scriptlets %ldconfig_scriptlets icu -%ldconfig_scriptlets cairo %files %license COPYING -%doc NEWS AUTHORS README.md +%doc NEWS AUTHORS README %{_libdir}/libharfbuzz.so.0* %{_libdir}/libharfbuzz-gobject.so.0* %{_libdir}/libharfbuzz-subset.so.0* @@ -84,18 +71,16 @@ This package contains Harfbuzz Cairo support library. %files devel %doc %{_datadir}/gtk-doc -%{_bindir}/hb-info %{_bindir}/hb-view +%{_bindir}/hb-ot-shape-closure %{_bindir}/hb-shape %{_bindir}/hb-subset %{_includedir}/harfbuzz/ %{_libdir}/libharfbuzz.so %{_libdir}/libharfbuzz-gobject.so -%{_libdir}/libharfbuzz-cairo.so %{_libdir}/libharfbuzz-icu.so %{_libdir}/libharfbuzz-subset.so %{_libdir}/pkgconfig/harfbuzz.pc -%{_libdir}/pkgconfig/harfbuzz-cairo.pc %{_libdir}/pkgconfig/harfbuzz-gobject.pc %{_libdir}/pkgconfig/harfbuzz-icu.pc %{_libdir}/pkgconfig/harfbuzz-subset.pc @@ -106,231 +91,9 @@ This package contains Harfbuzz Cairo support library. %files icu %{_libdir}/libharfbuzz-icu.so.* -%files cairo -%{_libdir}/libharfbuzz-cairo.so.* - %changelog -* Sun Dec 28 2025 Parag Nemade - 12.3.0-1 -- Update to 12.3.0 version (#2425647) - -* Fri Nov 07 2025 Parag Nemade - 12.2.0-1 -- Update to 12.2.0 version (#2412425) - -* Thu Oct 02 2025 Parag Nemade - 12.1.0-1 -- Update to 12.1.0 version (#2400640) - -* Sun Sep 28 2025 Parag Nemade - 12.0.0-1 -- Update to 12.0.0 version (#2399955) - -* Tue Sep 23 2025 Parag Nemade - 11.5.1-1 -- Update to 11.5.1 version (#2397450) - -* Sat Sep 13 2025 Parag Nemade - 11.5.0-1 -- Update to 11.5.0 version (#2394917) - -* Sun Aug 31 2025 Parag Nemade - 11.4.5-1 -- Update to 11.4.5 version (#2392114) - -* Tue Aug 26 2025 Parag Nemade - 11.4.4-1 -- Update to 11.4.4 version (#2390958) - -* Sat Aug 23 2025 Parag Nemade - 11.4.3-1 -- Update to 11.4.3 version (#2390520) - -* Thu Aug 21 2025 Parag Nemade - 11.4.2-1 -- Update to 11.4.2 version (#2390111) - -* Thu Aug 14 2025 Parag Nemade - 11.4.1-1 -- Update to 11.4.1 version (#2388377) - -* Wed Aug 06 2025 František Zatloukal - 11.3.3-2 -- Rebuilt for icu 77.1 - -* Sun Jul 27 2025 Parag Nemade - 11.3.3-1 -- Update to 11.3.3 version (#2382209) - -* Thu Jul 24 2025 Fedora Release Engineering - 11.3.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Mon Jul 21 2025 Parag Nemade - 11.3.1-1 -- Update to 11.3.1 version (#2382200) - -* Tue May 13 2025 Parag Nemade - 11.2.1-1 -- Update to 11.2.1 version (#2365793) - -* Tue Apr 29 2025 Parag Nemade - 11.2.0-1 -- Update to 11.2.0 version (#2362728) - -* Thu Apr 17 2025 Parag Nemade - 11.1.0-1 -- Update to 11.1.0 version (#2360473) - -* Sat Apr 05 2025 Parag Nemade - 11.0.1-2 -- Upstream removed hb-ot-shape-closure binary - -* Sat Apr 05 2025 Parag Nemade - 11.0.1-1 -- Update to 11.0.1 version (#2357571) - -* Mon Mar 24 2025 Parag Nemade - 11.0.0-1 -- Update to 11.0.0 version (#2354378) - -* Sat Mar 01 2025 Parag Nemade - 10.4.0-1 -- Update to 10.4.0 version (#2349122) - -* Fri Feb 21 2025 Parag Nemade - 10.3.0-1 -- Update to 10.3.0 version (#2346941) - -* Fri Jan 17 2025 Fedora Release Engineering - 10.2.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Sun Jan 12 2025 Parag Nemade - 10.2.0-1 -- Update to 10.2.0 version (#2337165) - -* Sun Dec 08 2024 Pete Walter - 10.1.0-2 -- Rebuild for ICU 76 - -* Wed Nov 06 2024 Parag Nemade - 10.1.0-1 -- Update to 10.1.0 version (#2324060) - -* Wed Sep 25 2024 Parag Nemade - 10.0.1-1 -- Update to 10.0.1 version (#2314457) - -* Tue Aug 20 2024 Parag Nemade - 9.0.0-3 -- Split harfbuzz-cairo as a separate subpackage from harfbuzz-devel - -* Thu Jul 18 2024 Fedora Release Engineering - 9.0.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Fri Jul 05 2024 Parag Nemade - 9.0.0-1 -- Update to 9.0.0 version (#2295503) - -* Fri Jun 21 2024 Parag Nemade - 8.5.0-1 -- Update to 8.5.0 version - -* Tue Jun 18 2024 Tom Hughes - 8.4.0-2 -- Switch to using meson for build (#2277316) - -* Sun Mar 31 2024 Parag Nemade - 8.4.0-1 -- Update to 8.4.0 version (#2272294) - -* Mon Mar 18 2024 Parag Nemade - 8.3.1-1 -- Update to 8.3.1 version (#2270012) - -* Wed Jan 31 2024 Pete Walter - 8.3.0-5 -- Rebuild for ICU 74 - -* Wed Jan 24 2024 Fedora Release Engineering - 8.3.0-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sat Jan 20 2024 Fedora Release Engineering - 8.3.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Sun Nov 12 2023 Parag Nemade - 8.3.0-2 -- Remove the upstream released patch - -* Sun Nov 12 2023 Parag Nemade - 8.3.0-1 -- Update to 8.3.0 version (#2244950) - -* Sat Sep 30 2023 Parag Nemade - 8.2.1-2 -- Resolves:rh#2241391 - Fix LibreOffice tests run - -* Wed Sep 20 2023 Parag Nemade - 8.2.1-1 -- Update to 8.2.1 version (#2239664) - -* Tue Sep 12 2023 Parag Nemade - 8.2.0-1 -- Update to 8.2.0 version (#2238190) - -* Thu Aug 03 2023 Parag Nemade - 8.1.1-1 -- Update to 8.1.1 version (#2228195) - -* Thu Jul 20 2023 Fedora Release Engineering - 8.0.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Tue Jul 18 2023 Parag Nemade - 8.0.1-2 -- Attempt another build for previouslt failed i686 build - -* Fri Jul 14 2023 Parag Nemade - 8.0.1-1 -- Update to 8.0.1 version (#2222800) - -* Tue Jul 11 2023 František Zatloukal - 8.0.0-2 -- Rebuilt for ICU 73.2 - -* Tue Jul 11 2023 Parag Nemade - 8.0.0-1 -- Update to 8.0.0 version (#2221636) - -* Fri Jul 07 2023 Parag Nemade - 7.3.0-2 -- Migrate to SPDX license expression - -* Thu May 11 2023 Parag Nemade - 7.3.0-1 -- Update to 7.3.0 version (#2201459) - -* Fri Apr 28 2023 Parag Nemade - 7.2.0-1 -- Update to 7.2.0 version (#2190067) - -* Fri Mar 03 2023 Parag Nemade - 7.1.0-1 -- Update to 7.1.0 version (#2175109) - -* Sat Feb 25 2023 Marek Kasik - 7.0.1-2 -- Rebuild for freetype-2.13.0 - -* Wed Feb 22 2023 Parag Nemade - 7.0.1-1 -- Update to 7.0.1 version (#2169172) - -* Mon Feb 13 2023 Parag Nemade - 7.0.0-2 -- Add hb-info, libharfbuzz-cairo library files - -* Mon Feb 13 2023 Parag Nemade - 7.0.0-1 -- Update to 7.0.0 version (#2169172) - -* Thu Jan 19 2023 Fedora Release Engineering - 6.0.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Sat Dec 31 2022 Pete Walter - 6.0.0-2 -- Rebuild for ICU 72 - -* Sat Dec 17 2022 Parag Nemade - 6.0.0-1 -- Update to 6.0.0 version (#2154489) - -* Mon Oct 24 2022 Parag Nemade - 5.3.1-1 -- Update to 5.3.1 version (#2136315) - -* Tue Oct 11 2022 Parag Nemade - 5.3.0-1 -- Update to 5.3.0 version (#2133292) - -* Sat Sep 17 2022 Parag Nemade - 5.2.0-1 -- Update to 5.2.0 version (#2127603) - -* Mon Aug 01 2022 Frantisek Zatloukal - 5.1.0-2 -- Rebuilt for ICU 71.1 - -* Mon Aug 01 2022 Parag Nemade - 5.1.0-1 -- Update to 5.1.0 version (#2112779) - -* Sun Jul 24 2022 Parag Nemade - 5.0.1-1 -- Update to 5.0.1 version (#2110181) - -* Thu Jul 21 2022 Fedora Release Engineering - 4.4.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Wed Jun 29 2022 Parag Nemade - 4.4.1-1 -- Update to 4.4.1 version (#2102301) - -* Tue Jun 28 2022 Parag Nemade - 4.4.0-1 -- Update to 4.4.0 version (#2101663) - -* Mon May 23 2022 Parag Nemade - 4.3.0-1 -- Update to 4.3.0 version (#2088860) - -* Mon Apr 25 2022 Parag Nemade - 4.2.1-1 -- Update to 4.2.1 version (#2078234) - -* Thu Mar 31 2022 Parag Nemade - 4.2.0-1 -- Update to 4.2.0 version (#2070259) - -* Mon Mar 28 2022 Parag Nemade - 4.1.0-1 -- Update to 4.1.0 version (#2067726) - -* Mon Mar 14 2022 Parag Nemade - 4.0.1-1 -- Update to 4.0.1 version (#2063439) +* Fri Jul 15 2022 Parag Nemade - 4.0.0-2 +- Resolves:rhbz#2102610 CVE-2022-33068 * Thu Mar 03 2022 Parag Nemade - 4.0.0-1 - Update to 4.0.0 version (#2059806) diff --git a/plans/harfbuzz.fmf b/plans/harfbuzz.fmf deleted file mode 100644 index c1627f9..0000000 --- a/plans/harfbuzz.fmf +++ /dev/null @@ -1,5 +0,0 @@ -summary: Basic smoke test -discover: - how: fmf -execute: - how: tmt diff --git a/sources b/sources index 7199718..660ba52 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (harfbuzz-12.3.0.tar.xz) = 7452379ee35b312cb83b5365e480dd2cc73813fa5eb489988ea7b02fa7e8137de66ea10ef71fcbbfb3275013247c46ede3f28ac9ef92c1213424ea0b0a077b03 +SHA512 (harfbuzz-4.0.0.tar.xz) = d61054e3b8b85320526f5dd29c7a8a8a440634a2894edad3b7b44704ae91cb89aa1dbd2060e9fbf69f016fb9c259034d26bf38846857135651c25576f44c81ce diff --git a/tests/main.fmf b/tests/main.fmf deleted file mode 100644 index 60ad885..0000000 --- a/tests/main.fmf +++ /dev/null @@ -1,16 +0,0 @@ -test: ./runtests.sh -duration: 10m -framework: beakerlib -require: - - harfbuzz - - harfbuzz-devel - - rpm-build - - meson - - gcc-c++ - - make - - python3-devel - - graphite2-devel - - libtool - - gtk-doc - - cairo-devel - - fontconfig-devel diff --git a/tests/runtests.sh b/tests/runtests.sh deleted file mode 100755 index fa16bfd..0000000 --- a/tests/runtests.sh +++ /dev/null @@ -1,48 +0,0 @@ -#!/bin/bash -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -NAME=harfbuzz - -rlJournalStart - rlPhaseStartSetup - rlAssertRpm ${NAME} - rlAssertRpm ${NAME}-devel - rlShowPackageVersion ${NAME} - rlRun -t -l "VERSION=$(rpm -q ${NAME} --queryformat='%{version}')" 0 "Get VERSION" - FEDORA_VERSION=$(rlGetDistroRelease) - rlLog "FEDORA_VERSION=${DISTRO_RELEASE}" - rlRun "tmp=\$(mktemp -d)" 0 "Create tmp directory" - rlRun "pushd $tmp" - rlFetchSrcForInstalled "${NAME}" - rlRun "rpm --define '_topdir $tmp' -i *src.rpm" - rlRun -t -l "mkdir BUILD" 0 "Creating BUILD directory" - rlRun -t -l "rpmbuild --noclean --nodeps --define '_topdir $tmp' -bp $tmp/SPECS/*spec" - if [ -d BUILD/${NAME}-${VERSION}-build ]; then - rlRun -t -l "pushd BUILD/${NAME}-${VERSION}-build/${NAME}-${VERSION}" - else - rlRun -t -l "pushd BUILD/${NAME}-${VERSION}" - fi - rlRun "set -o pipefail" - rlRun "meson build -Dgraphite2=enabled -Dchafa=disabled" - rlRun "pushd build" - rlRun "meson test" - rlRun "retval=$?" - rlRun "echo $retval" - rlRun "popd" - rlPhaseEnd - - rlPhaseStartTest - rlRun -t -l "INSTALLED_VERSION=$(hb-info --version|awk 'NR==1 {print $3}')" \ - 0 "Get installed version" - rlAssertEquals "versions should be equal" "${VERSION}" "${INSTALLED_VERSION}" - rlGetTestState - rlLog "Number of failed asserts so far: ${ECODE}" - rlRun "popd" 0 - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $tmp" 0 "Remove tmp directory" - rlPhaseEnd -rlJournalEnd - diff --git a/tests/smoke/runtest.sh b/tests/smoke/runtest.sh new file mode 100644 index 0000000..65e1ad1 --- /dev/null +++ b/tests/smoke/runtest.sh @@ -0,0 +1,9 @@ +#!/bin/bash +cd ../source + +echo "---Start autogen.sh---" +NOCONFIGURE=1 ./autogen.sh +echo "---End autogen.sh---" +echo "--------------------" + +find . -type f -exec sed -i 's/env python/python3/g' {} \; && ./configure --disable-static --with-graphite2 && echo "--------------------"; echo "---Start make check---"; make check; echo "---End make check---" diff --git a/tests/tests.yml b/tests/tests.yml new file mode 100644 index 0000000..c52c2d5 --- /dev/null +++ b/tests/tests.yml @@ -0,0 +1,26 @@ +--- +- hosts: localhost + tags: + - classic + roles: + - role: standard-test-source + +- hosts: localhost + tags: + - classic + roles: + - role: standard-test-basic + tests: + - smoke + required_packages: + - autoconf + - automake + - m4 + - gcc-c++ + - make + - python3-devel + - ragel + - libtool + - gtk-doc + - cairo-devel + - fontconfig-devel