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 99a12dc..9ef551b 100644 --- a/.gitignore +++ b/.gitignore @@ -9,9 +9,3 @@ /fribidi-1.0.8.tar.bz2 /fribidi-1.0.9.tar.xz /fribidi-1.0.10.tar.xz -/fribidi-1.0.11.tar.xz -/fribidi-1.0.12.tar.xz -/fribidi-1.0.13.tar.xz -/fribidi-1.0.14.tar.xz -/fribidi-1.0.15.tar.xz -/fribidi-1.0.16.tar.xz diff --git a/fribidi-CVE-2019-18397.patch b/fribidi-CVE-2019-18397.patch new file mode 100644 index 0000000..a734a87 --- /dev/null +++ b/fribidi-CVE-2019-18397.patch @@ -0,0 +1,27 @@ +From 034c6e9a1d296286305f4cfd1e0072b879f52568 Mon Sep 17 00:00:00 2001 +From: Dov Grobgeld +Date: Thu, 24 Oct 2019 09:37:29 +0300 +Subject: [PATCH] Truncate isolate_level to FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL + +--- + lib/fribidi-bidi.c | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/lib/fribidi-bidi.c b/lib/fribidi-bidi.c +index 6c84392..d384878 100644 +--- a/lib/fribidi-bidi.c ++++ b/lib/fribidi-bidi.c +@@ -747,7 +747,9 @@ fribidi_get_par_embedding_levels_ex ( + } + + RL_LEVEL (pp) = level; +- RL_ISOLATE_LEVEL (pp) = isolate_level++; ++ RL_ISOLATE_LEVEL (pp) = isolate_level; ++ if (isolate_level < FRIBIDI_BIDI_MAX_EXPLICIT_LEVEL-1) ++ isolate_level++; + base_level_per_iso_level[isolate_level] = new_level; + + if (!FRIBIDI_IS_NEUTRAL (override)) +-- +2.23.0 + diff --git a/fribidi-drop-bundled-gnulib.patch b/fribidi-drop-bundled-gnulib.patch index 1315922..04c42f9 100644 --- a/fribidi-drop-bundled-gnulib.patch +++ b/fribidi-drop-bundled-gnulib.patch @@ -1,6 +1,6 @@ -diff -pruN fribidi-1.0.14.orig/bin/Makefile.am fribidi-1.0.14/bin/Makefile.am ---- fribidi-1.0.14.orig/bin/Makefile.am 2020-07-06 04:17:23.000000000 +0900 -+++ fribidi-1.0.14/bin/Makefile.am 2024-05-07 21:40:04.500166714 +0900 +diff -pruN fribidi-1.0.6.orig/bin/Makefile.am fribidi-1.0.6/bin/Makefile.am +--- fribidi-1.0.6.orig/bin/Makefile.am 2019-09-27 14:03:47.000000000 +0900 ++++ fribidi-1.0.6/bin/Makefile.am 2019-09-27 18:14:02.407881337 +0900 @@ -2,11 +2,9 @@ bin_PROGRAMS = fribidi noinst_PROGRAMS = fribidi-benchmark fribidi-bidi-types fribidi-caprtl2utf8 @@ -14,10 +14,10 @@ diff -pruN fribidi-1.0.14.orig/bin/Makefile.am fribidi-1.0.14/bin/Makefile.am +fribidi_benchmark_SOURCES = fribidi-benchmark.c AM_CPPFLAGS = \ - @FRIBIDI_CPPFLAGS@ \ -diff -pruN fribidi-1.0.14.orig/bin/getopt.c fribidi-1.0.14/bin/getopt.c ---- fribidi-1.0.14.orig/bin/getopt.c 2015-08-05 03:49:07.000000000 +0900 -+++ fribidi-1.0.14/bin/getopt.c 1970-01-01 09:00:00.000000000 +0900 + -I$(top_builddir)/lib \ +diff -pruN fribidi-1.0.6.orig/bin/getopt.c fribidi-1.0.6/bin/getopt.c +--- fribidi-1.0.6.orig/bin/getopt.c 2019-09-27 14:03:47.000000000 +0900 ++++ fribidi-1.0.6/bin/getopt.c 1970-01-01 09:00:00.000000000 +0900 @@ -1,1268 +0,0 @@ -/* Getopt for GNU. - NOTE: getopt is now part of the C library, so if you don't know what @@ -1287,9 +1287,9 @@ diff -pruN fribidi-1.0.14.orig/bin/getopt.c fribidi-1.0.14/bin/getopt.c -} - -#endif /* TEST */ -diff -pruN fribidi-1.0.14.orig/bin/getopt.h fribidi-1.0.14/bin/getopt.h ---- fribidi-1.0.14.orig/bin/getopt.h 2015-08-05 03:49:07.000000000 +0900 -+++ fribidi-1.0.14/bin/getopt.h 1970-01-01 09:00:00.000000000 +0900 +diff -pruN fribidi-1.0.6.orig/bin/getopt.h fribidi-1.0.6/bin/getopt.h +--- fribidi-1.0.6.orig/bin/getopt.h 2019-09-27 14:03:47.000000000 +0900 ++++ fribidi-1.0.6/bin/getopt.h 1970-01-01 09:00:00.000000000 +0900 @@ -1,187 +0,0 @@ -/* Declarations for getopt. - Copyright (C) 1989-1994,1996-1999,2001,2003,2004 @@ -1478,9 +1478,9 @@ diff -pruN fribidi-1.0.14.orig/bin/getopt.h fribidi-1.0.14/bin/getopt.h -#undef __need_getopt - -#endif /* getopt.h */ -diff -pruN fribidi-1.0.14.orig/bin/getopt1.c fribidi-1.0.14/bin/getopt1.c ---- fribidi-1.0.14.orig/bin/getopt1.c 2015-08-05 03:49:07.000000000 +0900 -+++ fribidi-1.0.14/bin/getopt1.c 1970-01-01 09:00:00.000000000 +0900 +diff -pruN fribidi-1.0.6.orig/bin/getopt1.c fribidi-1.0.6/bin/getopt1.c +--- fribidi-1.0.6.orig/bin/getopt1.c 2019-09-27 14:03:47.000000000 +0900 ++++ fribidi-1.0.6/bin/getopt1.c 1970-01-01 09:00:00.000000000 +0900 @@ -1,213 +0,0 @@ -/* getopt_long and getopt_long_only entry points for GNU getopt. - Copyright (C) 1987,88,89,90,91,92,93,94,96,97,98,2004 @@ -1695,9 +1695,9 @@ diff -pruN fribidi-1.0.14.orig/bin/getopt1.c fribidi-1.0.14/bin/getopt1.c -} - -#endif /* TEST */ -diff -pruN fribidi-1.0.14.orig/bin/getopt_int.h fribidi-1.0.14/bin/getopt_int.h ---- fribidi-1.0.14.orig/bin/getopt_int.h 2015-08-05 03:49:07.000000000 +0900 -+++ fribidi-1.0.14/bin/getopt_int.h 1970-01-01 09:00:00.000000000 +0900 +diff -pruN fribidi-1.0.6.orig/bin/getopt_int.h fribidi-1.0.6/bin/getopt_int.h +--- fribidi-1.0.6.orig/bin/getopt_int.h 2019-09-27 14:03:47.000000000 +0900 ++++ fribidi-1.0.6/bin/getopt_int.h 1970-01-01 09:00:00.000000000 +0900 @@ -1,145 +0,0 @@ -/* Internal declarations for getopt. - Copyright (C) 1989-1994,1996-1999,2001,2003,2004 @@ -1844,30 +1844,27 @@ diff -pruN fribidi-1.0.14.orig/bin/getopt_int.h fribidi-1.0.14/bin/getopt_int.h -); - -#endif /* getopt_int.h */ -diff -pruN fribidi-1.0.14.orig/bin/gettext.h fribidi-1.0.14/bin/gettext.h ---- fribidi-1.0.14.orig/bin/gettext.h 2015-08-05 03:49:07.000000000 +0900 -+++ fribidi-1.0.14/bin/gettext.h 1970-01-01 09:00:00.000000000 +0900 +diff -pruN fribidi-1.0.6.orig/bin/gettext.h fribidi-1.0.6/bin/gettext.h +--- fribidi-1.0.6.orig/bin/gettext.h 2019-09-27 14:03:47.000000000 +0900 ++++ fribidi-1.0.6/bin/gettext.h 1970-01-01 09:00:00.000000000 +0900 @@ -1,2 +0,0 @@ -#undef gettext -#define gettext -diff -pruN fribidi-1.0.14.orig/bin/meson.build fribidi-1.0.14/bin/meson.build ---- fribidi-1.0.14.orig/bin/meson.build 2024-03-18 03:10:09.000000000 +0900 -+++ fribidi-1.0.14/bin/meson.build 2024-05-07 21:40:55.573086578 +0900 -@@ -1,7 +1,7 @@ - # The fribidi binary is used by the test setup, so if bin=false we still - # need to build it for internal usage, we just won't install it. +diff -pruN fribidi-1.0.6.orig/bin/meson.build fribidi-1.0.6/bin/meson.build +--- fribidi-1.0.6.orig/bin/meson.build 2019-09-27 14:03:47.000000000 +0900 ++++ fribidi-1.0.6/bin/meson.build 2019-09-27 18:15:26.375883489 +0900 +@@ -1,12 +1,12 @@ fribidi = executable('fribidi', - 'fribidi-main.c', 'getopt.c', 'getopt1.c', fribidi_unicode_version_h, + 'fribidi-main.c', fribidi_unicode_version_h, - c_args: ['-DHAVE_CONFIG_H'] + fribidi_static_cargs, + c_args: ['-DHAVE_CONFIG_H'] + visibility_args, include_directories: incs, link_with: libfribidi, -@@ -12,7 +12,7 @@ if not get_option('bin') - endif + install: true) executable('fribidi-benchmark', - 'fribidi-benchmark.c', 'getopt.c', 'getopt1.c', fribidi_unicode_version_h, + 'fribidi-benchmark.c', fribidi_unicode_version_h, - c_args: ['-DHAVE_CONFIG_H'] + fribidi_static_cargs, + c_args: ['-DHAVE_CONFIG_H'] + visibility_args, include_directories: incs, link_with: libfribidi, diff --git a/fribidi.spec b/fribidi.spec index 91570fa..9d12dc6 100644 --- a/fribidi.spec +++ b/fribidi.spec @@ -1,18 +1,17 @@ Summary: Library implementing the Unicode Bidirectional Algorithm Name: fribidi -Version: 1.0.16 -Release: 3%{?dist} +Version: 1.0.10 +Release: 1%{?dist} URL: https://github.com/fribidi/fribidi/ Source: https://github.com/%{name}/%{name}/releases/download/v%{version}/%{name}-%{version}.tar.xz -License: LGPL-2.1-or-later AND Unicode-DFS-2016 +License: LGPLv2+ and UCD BuildRequires: gcc %if 0%{?rhel} && 0%{?rhel} <= 8 BuildRequires: automake autoconf libtool %else BuildRequires: meson %endif -BuildRequires: make -Patch0: fribidi-drop-bundled-gnulib.patch +Patch0: %{name}-drop-bundled-gnulib.patch %description A library to handle bidirectional scripts (for example Hebrew, Arabic), @@ -32,10 +31,6 @@ FriBidi. %if 0%{?rhel} && 0%{?rhel} <= 8 autoreconf -i %endif -# Clean up older file in archive -(cd lib; - rm arabic-shaping.tab.i bidi-type.tab.i brackets*.tab.i joining-type.tab.i mirroring.tab.i fribidi-unicode-version.h -) %build %if 0%{?rhel} && 0%{?rhel} <= 8 @@ -88,79 +83,6 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la #%%{_mandir}/man3/*.gz %changelog -* Wed Jul 23 2025 Fedora Release Engineering - 1.0.16-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild - -* Thu Jan 16 2025 Fedora Release Engineering - 1.0.16-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild - -* Fri Sep 27 2024 Akira TAGOH - 1.0.16-1 -- New upstream release. - Resolves: rhbz#2314907 - -* Wed Jul 17 2024 Fedora Release Engineering - 1.0.15-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild - -* Mon Jun 10 2024 Akira TAGOH - 1.0.15-1 -- New upstream release. - Resolves: rhbz#2291030 - -* Wed Jun 5 2024 Akira TAGOH - 1.0.14-2 -- Fix broken data in fribidi. - Resolves: rhbz#2279842 - -* Tue May 7 2024 Akira TAGOH - 1.0.14-1 -- New upstream release. - Resolves: rhbz#2277227 - -* Wed Jan 24 2024 Fedora Release Engineering - 1.0.13-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 19 2024 Fedora Release Engineering - 1.0.13-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Wed Jul 19 2023 Fedora Release Engineering - 1.0.13-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Wed May 17 2023 Akira TAGOH - 1.0.13-1 -- New upstream release. - Resolves: rhbz#2207796 - -* Fri Feb 24 2023 Caolán McNamara - 1.0.12-4 -- migrated to SPDX license - -* Thu Jan 19 2023 Fedora Release Engineering - 1.0.12-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Thu Jul 21 2022 Fedora Release Engineering - 1.0.12-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Thu Apr 21 2022 Akira TAGOH - 1.0.12-1 -- New upstream release. - Resolves: rhbz#2077311 - -* Fri Apr 1 2022 Akira TAGOH - 1.0.11-3 -- Fix security issues, CVE-2022-25308, CVE-2022-25309, CVE-2022-25310. - Resolves: rhbz#2067039, rhbz#2067043, rhbz#2067045 - -* Thu Jan 20 2022 Fedora Release Engineering - 1.0.11-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Fri Sep 24 2021 Fedora Release Monitoring - 1.0.11-1 -- Update to 1.0.11 (#2007504) - -* Wed Jul 21 2021 Fedora Release Engineering - 1.0.10-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Tue Jan 26 2021 Fedora Release Engineering - 1.0.10-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Mon Jul 27 2020 Fedora Release Engineering - 1.0.10-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jul 7 2020 Akira TAGOH - 1.0.10-2 -- Update the patch to drop bundled gnulib. - * Mon Jul 6 2020 Akira TAGOH - 1.0.10-1 - New upstream release. Resolves: rhbz#1853939 @@ -389,3 +311,4 @@ rm -f $RPM_BUILD_ROOT%{_libdir}/*.la * Fri May 16 2003 Jeremy Katz 0.10.4-2 - Initial build in Red Hat Linux + diff --git a/plans/basic.fmf b/plans/basic.fmf deleted file mode 100644 index 4d7984e..0000000 --- a/plans/basic.fmf +++ /dev/null @@ -1,11 +0,0 @@ -summary: Basic smoke test -discover: - how: fmf - dist-git-source: true -prepare: - name: tmt - how: install - package: - - fribidi -execute: - how: tmt diff --git a/sources b/sources index 173f0f4..358bd5d 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (fribidi-1.0.16.tar.xz) = e3a56f36155f6813e3609473639fc533de742309f561c463012dc90b412a1ac7694b765d92669b2cbfaee973ca0e92fa5e926e68a1a078921f26ef17d82ab651 +SHA512 (fribidi-1.0.10.tar.xz) = cb51920012c3c7507c17e2beb1dbbcfb8d7c6404e4cb54b260a332754a0d5b103d8834d77e8795651b3f38069c9bd2e9914c21b001411a72f9ffe1ec1ef2f360 diff --git a/tests/basic/main.fmf b/tests/basic/main.fmf deleted file mode 100644 index 4b2193c..0000000 --- a/tests/basic/main.fmf +++ /dev/null @@ -1,3 +0,0 @@ -summary: Basic test -test: ./test.sh -framework: beakerlib diff --git a/tests/basic/test.sh b/tests/basic/test.sh deleted file mode 100755 index 3156eac..0000000 --- a/tests/basic/test.sh +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/bash -# vim: dict+=/usr/share/beakerlib/dictionary.vim cpt=.,w,b,u,t,i,k -. /usr/share/beakerlib/beakerlib.sh || exit 1 - -rlJournalStart - rlPhaseStartSetup - rlRun "tmp=\$(mktemp -d)" 0 "Create tmp directory" - rlRun "pushd $tmp" - rlRun "set -o pipefail" - rlPhaseEnd - - rlPhaseStartTest - rlRun "BUILD_PATH=$(rpm -q --qf '%{NAME}-%{VERSION}' fribidi)" 0 "Get the build path" - if test -d $TMT_SOURCE_DIR/$BUILD_PATH; then - for f in $TMT_SOURCE_DIR/$BUILD_PATH/test/*.input; do - ref=${f/.input/.reference} - cs=$(echo $f|cut -d_ -f2) - name=$(basename $f) - rlRun "fribidi -t -c $cs $f | tee output" 0 "Check $name for $cs" - rlRun "diff -U 0 output $ref" 0 "Check diff for $name" - done - else - rlDie "No build directory" - fi - rlPhaseEnd - - rlPhaseStartCleanup - rlRun "popd" - rlRun "rm -r $tmp" 0 "Remove tmp directory" - rlPhaseEnd -rlJournalEnd