From 6b1f80e69781f8feae6fc4679f6fd1b38f2464c2 Mon Sep 17 00:00:00 2001 From: Python Maint Date: Fri, 7 Jun 2024 14:06:53 +0200 Subject: [PATCH 01/10] Rebuilt for Python 3.13 --- fontforge.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fontforge.spec b/fontforge.spec index 98d55aa..cf2cade 100644 --- a/fontforge.spec +++ b/fontforge.spec @@ -2,7 +2,7 @@ Name: fontforge Version: 20230101 -Release: 11%{?dist} +Release: 12%{?dist} Summary: Outline and bitmap font editor License: GPL-3.0-or-later @@ -129,6 +129,9 @@ popd %doc %{_pkgdocdir} %changelog +* Fri Jun 07 2024 Python Maint - 20230101-12 +- Rebuilt for Python 3.13 + * Wed Feb 28 2024 Parag Nemade - 20230101-11 - Resolves: CVE-2024-25081 and CVE-2024-25082 From 4655f4dc0990e5b744efd055c4c6f095d848023b Mon Sep 17 00:00:00 2001 From: Gwyn Ciesla Date: Fri, 14 Jun 2024 16:33:07 -0500 Subject: [PATCH 02/10] Fix 3.13 build --- fontforge.spec | 10 ++++++++-- pyconfig.patch | 24 ++++++++++++++++++++++++ 2 files changed, 32 insertions(+), 2 deletions(-) create mode 100644 pyconfig.patch diff --git a/fontforge.spec b/fontforge.spec index cf2cade..fcfef18 100644 --- a/fontforge.spec +++ b/fontforge.spec @@ -2,7 +2,7 @@ Name: fontforge Version: 20230101 -Release: 12%{?dist} +Release: 13%{?dist} Summary: Outline and bitmap font editor License: GPL-3.0-or-later @@ -13,6 +13,7 @@ Patch0: 0001-Fix-errors-in-French-and-Italian-translations.patch # https://github.com/fontforge/fontforge/pull/5367 # Fixes CVE-2024-25081 and CVE-2024-25082 Patch1: https://patch-diff.githubusercontent.com/raw/fontforge/fontforge/pull/5367.patch#/Fix_Splinefont_shell_invocation.patch +Patch2: pyconfig.patch Requires: xdg-utils Requires: (autotrace or potrace) @@ -74,6 +75,7 @@ This package contains documentation files for %{name}. %setup -q %patch -P 0 -p1 %patch -P 1 -p1 +%patch -P 2 -p0 # Remove tests that requires Internet access sed -i '45d;82d;101d;127d' tests/CMakeLists.txt @@ -82,7 +84,8 @@ sed -i '45d;82d;101d;127d' tests/CMakeLists.txt %build export CFLAGS="%{optflags} -fno-strict-aliasing" %cmake -DCMAKE_BUILD_TYPE=Release \ - -DENABLE_WOFF2=ON + -DENABLE_WOFF2=ON \ + -DPYHOOK_INSTALL_DIR=%{python3_sitearch} %cmake_build %install @@ -129,6 +132,9 @@ popd %doc %{_pkgdocdir} %changelog +* Fri Jun 14 2024 Gwyn Ciesla - 20230101-13 +- Patch for Python 3.13 + * Fri Jun 07 2024 Python Maint - 20230101-12 - Rebuilt for Python 3.13 diff --git a/pyconfig.patch b/pyconfig.patch new file mode 100644 index 0000000..cfd90f4 --- /dev/null +++ b/pyconfig.patch @@ -0,0 +1,24 @@ +--- pycontrib/FontCompare/setup.py~ 2022-12-31 23:25:21.000000000 -0600 ++++ pycontrib/FontCompare/setup.py 2024-06-14 15:14:14.119920623 -0500 +@@ -15,7 +15,6 @@ + along with this program. If not, see . + """ + #!/usr/bin/env python +-from distutils.core import setup + from setuptools import setup + setup(name='Font Compare', + version='1.0', +--- fontforge/python.c~ 2022-12-31 23:25:21.000000000 -0600 ++++ fontforge/python.c 2024-06-14 15:38:41.397897757 -0500 +@@ -19633,7 +19633,10 @@ + if ( saved_progname ) + free(saved_progname); + saved_progname = copy_to_wide_string(progname); +- Py_SetProgramName(saved_progname); ++ PyStatus status; ++ PyConfig config; ++ PyConfig_InitPythonConfig(&config); ++ status = PyConfig_SetString(&config, &config.program_name, saved_progname); + } + + static wchar_t ** copy_argv(char *arg0, int argc ,char **argv) { From 943eb5ee68d0e4ed05a72dafbfc052d22e668fbb Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 17 Jul 2024 23:26:23 +0000 Subject: [PATCH 03/10] Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild --- fontforge.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fontforge.spec b/fontforge.spec index fcfef18..7dd5d58 100644 --- a/fontforge.spec +++ b/fontforge.spec @@ -2,7 +2,7 @@ Name: fontforge Version: 20230101 -Release: 13%{?dist} +Release: 14%{?dist} Summary: Outline and bitmap font editor License: GPL-3.0-or-later @@ -132,6 +132,9 @@ popd %doc %{_pkgdocdir} %changelog +* Wed Jul 17 2024 Fedora Release Engineering - 20230101-14 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild + * Fri Jun 14 2024 Gwyn Ciesla - 20230101-13 - Patch for Python 3.13 From 6281667ef91283074cb9517aa36e9bf09751260a Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Thu, 16 Jan 2025 18:36:29 +0000 Subject: [PATCH 04/10] Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild --- fontforge.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fontforge.spec b/fontforge.spec index 7dd5d58..63dbc4f 100644 --- a/fontforge.spec +++ b/fontforge.spec @@ -2,7 +2,7 @@ Name: fontforge Version: 20230101 -Release: 14%{?dist} +Release: 15%{?dist} Summary: Outline and bitmap font editor License: GPL-3.0-or-later @@ -132,6 +132,9 @@ popd %doc %{_pkgdocdir} %changelog +* Thu Jan 16 2025 Fedora Release Engineering - 20230101-15 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild + * Wed Jul 17 2024 Fedora Release Engineering - 20230101-14 - Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild From cf776b66303b49b97ad41ebc6303bacd158bd66b Mon Sep 17 00:00:00 2001 From: Python Maint Date: Tue, 3 Jun 2025 11:00:02 +0200 Subject: [PATCH 05/10] Rebuilt for Python 3.14 --- fontforge.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fontforge.spec b/fontforge.spec index 63dbc4f..9a43418 100644 --- a/fontforge.spec +++ b/fontforge.spec @@ -2,7 +2,7 @@ Name: fontforge Version: 20230101 -Release: 15%{?dist} +Release: 16%{?dist} Summary: Outline and bitmap font editor License: GPL-3.0-or-later @@ -132,6 +132,9 @@ popd %doc %{_pkgdocdir} %changelog +* Tue Jun 03 2025 Python Maint - 20230101-16 +- Rebuilt for Python 3.14 + * Thu Jan 16 2025 Fedora Release Engineering - 20230101-15 - Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild From a138beedb9753bac6636d8691b221ea39b6a259f Mon Sep 17 00:00:00 2001 From: Parag Nemade Date: Wed, 28 Aug 2024 19:09:04 +0530 Subject: [PATCH 06/10] Add tmt testcase for CI --- .fmf/version | 1 + plans/fontforge.fmf | 5 +++ tests/{scripts => }/generate-font.py | 0 tests/{scripts => }/generate-sfd.pe | 0 tests/{scripts => }/generate-ttf.pe | 0 tests/{scripts => }/get-font-metadata.py | 0 tests/main.fmf | 5 +++ tests/{scripts => }/run_tests.sh | 0 tests/runtests.sh | 47 ++++++++++++++++++++++++ tests/tests.yml | 9 ----- 10 files changed, 58 insertions(+), 9 deletions(-) create mode 100644 .fmf/version create mode 100644 plans/fontforge.fmf rename tests/{scripts => }/generate-font.py (100%) rename tests/{scripts => }/generate-sfd.pe (100%) rename tests/{scripts => }/generate-ttf.pe (100%) rename tests/{scripts => }/get-font-metadata.py (100%) create mode 100644 tests/main.fmf rename tests/{scripts => }/run_tests.sh (100%) mode change 100644 => 100755 create mode 100755 tests/runtests.sh delete mode 100644 tests/tests.yml diff --git a/.fmf/version b/.fmf/version new file mode 100644 index 0000000..d00491f --- /dev/null +++ b/.fmf/version @@ -0,0 +1 @@ +1 diff --git a/plans/fontforge.fmf b/plans/fontforge.fmf new file mode 100644 index 0000000..c1627f9 --- /dev/null +++ b/plans/fontforge.fmf @@ -0,0 +1,5 @@ +summary: Basic smoke test +discover: + how: fmf +execute: + how: tmt diff --git a/tests/scripts/generate-font.py b/tests/generate-font.py similarity index 100% rename from tests/scripts/generate-font.py rename to tests/generate-font.py diff --git a/tests/scripts/generate-sfd.pe b/tests/generate-sfd.pe similarity index 100% rename from tests/scripts/generate-sfd.pe rename to tests/generate-sfd.pe diff --git a/tests/scripts/generate-ttf.pe b/tests/generate-ttf.pe similarity index 100% rename from tests/scripts/generate-ttf.pe rename to tests/generate-ttf.pe diff --git a/tests/scripts/get-font-metadata.py b/tests/get-font-metadata.py similarity index 100% rename from tests/scripts/get-font-metadata.py rename to tests/get-font-metadata.py diff --git a/tests/main.fmf b/tests/main.fmf new file mode 100644 index 0000000..542903b --- /dev/null +++ b/tests/main.fmf @@ -0,0 +1,5 @@ +require: +- fontforge +test: bash ./run_tests.sh +framework: shell + diff --git a/tests/scripts/run_tests.sh b/tests/run_tests.sh old mode 100644 new mode 100755 similarity index 100% rename from tests/scripts/run_tests.sh rename to tests/run_tests.sh diff --git a/tests/runtests.sh b/tests/runtests.sh new file mode 100755 index 0000000..a94d8f5 --- /dev/null +++ b/tests/runtests.sh @@ -0,0 +1,47 @@ +#!/bin/bash +. /usr/share/beakerlib/beakerlib.sh || exit 1 + +NAME=fontforge + +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 "NOCONFIGURE=1 ./autogen.sh" + rlRun "./configure --disable-static --with-graphite2 --with-gobject --enable-introspection" + rlRun "make check" + rlRun "retval=$?" + rlRun "echo $retval" + 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/tests.yml b/tests/tests.yml deleted file mode 100644 index aaf3946..0000000 --- a/tests/tests.yml +++ /dev/null @@ -1,9 +0,0 @@ -- hosts: localhost - roles: - - role: standard-test-basic - tags: - - classic - tests: - - simple: - dir: scripts/ - run: ./run_tests.sh From 24f3eadd43b4123ba5b9da0514b0e4cde1930602 Mon Sep 17 00:00:00 2001 From: Parag Nemade Date: Thu, 17 Jul 2025 21:49:13 +0530 Subject: [PATCH 07/10] Update for https://fedoraproject.org/wiki/Changes/CMake_ninja_default (rh#2381004) --- fontforge.spec | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/fontforge.spec b/fontforge.spec index 9a43418..9d8b33b 100644 --- a/fontforge.spec +++ b/fontforge.spec @@ -2,7 +2,7 @@ Name: fontforge Version: 20230101 -Release: 16%{?dist} +Release: 17%{?dist} Summary: Outline and bitmap font editor License: GPL-3.0-or-later @@ -107,9 +107,7 @@ appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.appdata.xml %find_lang %{gettext_package} %check -pushd %{__cmake_builddir} -make check -popd +%ctest %files -f %{gettext_package}.lang %doc AUTHORS @@ -132,6 +130,9 @@ popd %doc %{_pkgdocdir} %changelog +* Thu Jul 17 2025 Parag Nemade - 20230101-17 +- Update for https://fedoraproject.org/wiki/Changes/CMake_ninja_default (rh#2381004) + * Tue Jun 03 2025 Python Maint - 20230101-16 - Rebuilt for Python 3.14 From c75fc2832363562d9c1a718ddc107b8f7a6acfd8 Mon Sep 17 00:00:00 2001 From: Fedora Release Engineering Date: Wed, 23 Jul 2025 20:41:11 +0000 Subject: [PATCH 08/10] Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild --- fontforge.spec | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/fontforge.spec b/fontforge.spec index 9d8b33b..335a34e 100644 --- a/fontforge.spec +++ b/fontforge.spec @@ -2,7 +2,7 @@ Name: fontforge Version: 20230101 -Release: 17%{?dist} +Release: 18%{?dist} Summary: Outline and bitmap font editor License: GPL-3.0-or-later @@ -130,6 +130,9 @@ appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.appdata.xml %doc %{_pkgdocdir} %changelog +* Wed Jul 23 2025 Fedora Release Engineering - 20230101-18 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild + * Thu Jul 17 2025 Parag Nemade - 20230101-17 - Update for https://fedoraproject.org/wiki/Changes/CMake_ninja_default (rh#2381004) From 7f20c24b80e5256095e94fb1b55afbafebef5d73 Mon Sep 17 00:00:00 2001 From: Parag Nemade Date: Fri, 10 Oct 2025 13:37:13 +0530 Subject: [PATCH 09/10] Update to 20251009 version (#2402960) --- .gitignore | 1 + fontforge.spec | 7 +++++-- sources | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/.gitignore b/.gitignore index 03adcba..c15e946 100644 --- a/.gitignore +++ b/.gitignore @@ -24,3 +24,4 @@ fontforge_full-20100501.tar.bz2 /fontforge-20200314.tar.gz /fontforge-20201107.tar.gz /fontforge-20230101.tar.gz +/fontforge-20251009.tar.gz diff --git a/fontforge.spec b/fontforge.spec index 335a34e..828305d 100644 --- a/fontforge.spec +++ b/fontforge.spec @@ -1,8 +1,8 @@ %global gettext_package FontForge Name: fontforge -Version: 20230101 -Release: 18%{?dist} +Version: 20251009 +Release: 1%{?dist} Summary: Outline and bitmap font editor License: GPL-3.0-or-later @@ -130,6 +130,9 @@ appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.appdata.xml %doc %{_pkgdocdir} %changelog +* Fri Oct 10 2025 Parag Nemade - 20251009-1 +- Update to 20251009 version (#2402960) + * Wed Jul 23 2025 Fedora Release Engineering - 20230101-18 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild diff --git a/sources b/sources index b0ab3ee..3c609cb 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (fontforge-20230101.tar.gz) = 67c21f7e55a78097ef7d7d9abac3add2017400015a6a9dfd56674d933bdba963cb6c4e631ae066026fe1862298d60dd968dec61a9bbee7253dd2f7d105655178 +SHA512 (fontforge-20251009.tar.gz) = 2923c54e10585551c93102d8b7a389c9de3c629c1676fc8c576c9b9c3f1f6fe28f7a1e39fd5a57ab7eeadf0b17d722bf439ca94f0a788ceab6993e1a93ea7d5f From 5e74208b9fc3996a6cb1c3bdcd1b0aa35e24908f Mon Sep 17 00:00:00 2001 From: Parag Nemade Date: Fri, 10 Oct 2025 17:44:14 +0530 Subject: [PATCH 10/10] Remove upstreamed patches and add new BR: gtkmm3.0-devel --- fontforge.spec | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/fontforge.spec b/fontforge.spec index 828305d..846dfdd 100644 --- a/fontforge.spec +++ b/fontforge.spec @@ -8,12 +8,6 @@ Summary: Outline and bitmap font editor License: GPL-3.0-or-later URL: http://fontforge.github.io/ Source0: https://github.com/fontforge/%{name}/archive/%{version}.tar.gz#/%{name}-%{version}.tar.gz -# Fix translations with gettext-0.22, https://github.com/fontforge/fontforge/pull/5257 -Patch0: 0001-Fix-errors-in-French-and-Italian-translations.patch -# https://github.com/fontforge/fontforge/pull/5367 -# Fixes CVE-2024-25081 and CVE-2024-25082 -Patch1: https://patch-diff.githubusercontent.com/raw/fontforge/fontforge/pull/5367.patch#/Fix_Splinefont_shell_invocation.patch -Patch2: pyconfig.patch Requires: xdg-utils Requires: (autotrace or potrace) @@ -44,6 +38,8 @@ BuildRequires: shared-mime-info BuildRequires: gtk3-devel BuildRequires: python3-sphinx BuildRequires: make +# 20151009 version requires below +BuildRequires: gtkmm3.0-devel %py_provides python3-fontforge %py_provides python3-psMat @@ -72,14 +68,7 @@ This package contains documentation files for %{name}. %prep -%setup -q -%patch -P 0 -p1 -%patch -P 1 -p1 -%patch -P 2 -p0 - -# Remove tests that requires Internet access -sed -i '45d;82d;101d;127d' tests/CMakeLists.txt - +%autosetup %build export CFLAGS="%{optflags} -fno-strict-aliasing" @@ -132,6 +121,8 @@ appstream-util validate-relax --nonet %{buildroot}%{_metainfodir}/*.appdata.xml %changelog * Fri Oct 10 2025 Parag Nemade - 20251009-1 - Update to 20251009 version (#2402960) +- Remove upstream released patches +- Add new BR: gtkmm3.0-devel * Wed Jul 23 2025 Fedora Release Engineering - 20230101-18 - Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild