diff --git a/fonttosfnt.changes b/fonttosfnt.changes index 2d94eb1..dc24cf8 100644 --- a/fonttosfnt.changes +++ b/fonttosfnt.changes @@ -1,3 +1,14 @@ +------------------------------------------------------------------- +Wed Oct 9 09:48:02 UTC 2024 - Dirk Müller + +- refresh reproducible.patch + +------------------------------------------------------------------- +Mon Jul 29 13:37:47 UTC 2024 - Bernhard Wiedemann + +- Add reproducible.patch to override build date in font files + for reproducible builds of xorg-x11-fonts (boo#1173396) + ------------------------------------------------------------------- Thu Sep 28 10:47:13 UTC 2023 - Stefan Dirsch @@ -32,12 +43,12 @@ Tue Dec 22 08:40:19 UTC 2020 - Dirk Müller Wed Oct 21 09:17:35 UTC 2020 - Stefan Dirsch - Update to version 1.2.0 - * This release contains a bunch of fixes all over the place + * This release contains a bunch of fixes all over the place ------------------------------------------------------------------- Tue Jan 7 09:38:28 UTC 2020 - Stefan Dirsch -- Update to version 1.1.0 +- Update to version 1.1.0 * Update README for gitlab migration * Update configure.ac bug URL for gitlab migration * Correct a string literal @@ -54,7 +65,7 @@ Tue Jan 7 09:38:28 UTC 2020 - Stefan Dirsch Fri Aug 17 10:46:14 UTC 2018 - sndirsch@suse.com - Update to version 1.0.5 - * Is it a bird? is it a plane? No it's a fonttofs.. fontstof.. + * Is it a bird? is it a plane? No it's a fonttofs.. fontstof.. fonttofn... it's a release of the tool that wraps a bitmap font into a truetype wrapper! Bringing you the last 9 years of exciting changes including ansification and lots of diff --git a/fonttosfnt.spec b/fonttosfnt.spec index 7e474ae..46fed91 100644 --- a/fonttosfnt.spec +++ b/fonttosfnt.spec @@ -1,7 +1,7 @@ # # spec file for package fonttosfnt # -# Copyright (c) 2023 SUSE LLC +# Copyright (c) 2024 SUSE LLC # # All modifications and additions to the file contributed by third parties # remain the property of their copyright owners, unless otherwise agreed @@ -24,6 +24,7 @@ License: MIT Group: System/X11/Utilities URL: https://xorg.freedesktop.org/ Source0: https://xorg.freedesktop.org/releases/individual/app/%{name}-%{version}.tar.xz +Patch0: https://gitlab.freedesktop.org/xorg/app/fonttosfnt/-/merge_requests/22.patch#/reproducible.patch BuildRequires: pkgconfig BuildRequires: pkgconfig(fontenc) BuildRequires: pkgconfig(freetype2) @@ -37,7 +38,7 @@ Wrap a bitmap font or a set of bitmap fonts in a sfnt (TrueType or OpenType) wrapper. %prep -%setup -q +%autosetup -p1 %build %configure diff --git a/reproducible.patch b/reproducible.patch new file mode 100644 index 0000000..6e75b66 --- /dev/null +++ b/reproducible.patch @@ -0,0 +1,74 @@ +From 5fb8b61537b832561f074a6d400956c8cb6b31a5 Mon Sep 17 00:00:00 2001 +From: "Bernhard M. Wiedemann" +Date: Wed, 24 Jul 2024 16:27:35 +0200 +Subject: [PATCH 1/2] Use long long for timestamp diff + +to avoid integer overflows in the future + +Part-of: +--- + util.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/util.c b/util.c +index a393e55..a810c87 100644 +--- a/util.c ++++ b/util.c +@@ -181,7 +181,7 @@ mktime_gmt(struct tm *tm) + int + macTime(int *hi, unsigned *lo) + { +- unsigned long diff; /* Not time_t */ ++ unsigned long long diff; /* Not time_t */ + time_t macEpoch, current; + struct tm tm; + tm.tm_sec = 0; +-- +GitLab + + +From 2a6a5574001d7a9959ba4d924522b96f8cc57b43 Mon Sep 17 00:00:00 2001 +From: "Bernhard M. Wiedemann" +Date: Wed, 24 Jul 2024 16:28:43 +0200 +Subject: [PATCH 2/2] Allow to override build date with SOURCE_DATE_EPOCH + +to make builds reproducible. +See https://reproducible-builds.org/ for why this is good +and https://reproducible-builds.org/specs/source-date-epoch/ +for the definition of this variable. + +This patch was done while working on reproducible builds for openSUSE, sponsored by the NLnet NGI0 fund. + +Part-of: +--- + util.c | 7 ++++++- + 1 file changed, 6 insertions(+), 1 deletion(-) + +diff --git a/util.c b/util.c +index a810c87..a7207f8 100644 +--- a/util.c ++++ b/util.c +@@ -182,6 +182,7 @@ int + macTime(int *hi, unsigned *lo) + { + unsigned long long diff; /* Not time_t */ ++ char *source_date_epoch; + time_t macEpoch, current; + struct tm tm; + tm.tm_sec = 0; +@@ -195,7 +196,11 @@ macTime(int *hi, unsigned *lo) + macEpoch = mktime_gmt(&tm); + if(macEpoch == -1) return -1; + +- current = time(NULL); ++ /* This assumes that the SOURCE_DATE_EPOCH environment variable will contain ++ a correct, positive integer in the time_t range */ ++ if ((source_date_epoch = getenv("SOURCE_DATE_EPOCH")) == NULL || ++ (current = (time_t)strtoll(source_date_epoch, NULL, 10)) <= 0) ++ current = time(NULL); + if(current == -1) + return -1; + +-- +GitLab +