[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#32026: [PATCH v3 04/11] gnu: icecat: Make language packs reproducibl
From: |
Maxim Cournoyer |
Subject: |
bug#32026: [PATCH v3 04/11] gnu: icecat: Make language packs reproducible. |
Date: |
Fri, 17 Feb 2023 07:55:31 -0500 |
* gnu/packages/patches/icecat-reproducible-langpacks.patch: New file.
* gnu/local.mk (dist_patch_DATA): Register. it.
* gnu/packages/gnuzilla.scm (icecat-source): Apply it.
---
(no changes since v1)
gnu/local.mk | 1 +
gnu/packages/gnuzilla.scm | 1 +
.../icecat-reproducible-langpacks.patch | 45 +++++++++++++++++++
3 files changed, 47 insertions(+)
create mode 100644 gnu/packages/patches/icecat-reproducible-langpacks.patch
diff --git a/gnu/local.mk b/gnu/local.mk
index 5fcbdd4586..ddc5796ca8 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1327,6 +1327,7 @@ dist_patch_DATA =
\
%D%/packages/patches/i7z-gcc-10.patch \
%D%/packages/patches/icecat-makeicecat.patch \
%D%/packages/patches/icecat-avoid-bundled-libraries.patch \
+ %D%/packages/patches/icecat-reproducible-langpacks.patch \
%D%/packages/patches/icecat-use-system-graphite2+harfbuzz.patch \
%D%/packages/patches/icecat-use-system-media-libs.patch \
%D%/packages/patches/icedtea-7-hotspot-aarch64-use-c++98.patch\
diff --git a/gnu/packages/gnuzilla.scm b/gnu/packages/gnuzilla.scm
index 1bafa92377..17edb9fa7e 100644
--- a/gnu/packages/gnuzilla.scm
+++ b/gnu/packages/gnuzilla.scm
@@ -554,6 +554,7 @@ (define icecat-source
(method computed-origin-method)
(file-name (string-append "icecat-" %icecat-version ".tar.xz"))
(sha256 #f)
+ (patches (search-patches "icecat-reproducible-langpacks.patch"))
(uri
(delay
(with-imported-modules '((guix build utils))
diff --git a/gnu/packages/patches/icecat-reproducible-langpacks.patch
b/gnu/packages/patches/icecat-reproducible-langpacks.patch
new file mode 100644
index 0000000000..b36a770cc6
--- /dev/null
+++ b/gnu/packages/patches/icecat-reproducible-langpacks.patch
@@ -0,0 +1,45 @@
+Prevent the extension manifests from embedding the current date.
+
+This is inspired by the Debian
+"Use-build-id-as-langpack-version-for-reproducibility.patch" maintained for
+their Firefox package as well as reproducible-builds.org guidelines from
+https://reproducible-builds.org/docs/source-date-epoch/.
+
+Upstream status: https://phabricator.services.mozilla.com/D169979
+
+--- ./python/mozbuild/mozbuild/action/langpack_manifest.py.old 2023-02-13
11:01:21.051537347 -0500
++++ ./python/mozbuild/mozbuild/action/langpack_manifest.py 2023-02-13
11:04:33.141817330 -0500
+@@ -36,6 +36,15 @@
+ pushlog_api_url = "{0}/json-rev/{1}"
+
+
++import os
++import time
++import datetime
++
++def get_build_date():
++ """Honor SOURCE_DATE_EPOCH for reproducibility."""
++ return datetime.datetime.utcfromtimestamp(
++ int(os.environ.get('SOURCE_DATE_EPOCH', time.time())))
++
+ ###
+ # Retrievers a UTC datetime of the push for the current commit
+ # from a mercurial clone directory.
+@@ -54,7 +63,7 @@
+ with mozversioncontrol.get_repository_object(path=path) as repo:
+ phase = repo._run("log", "-r", ".", "-T" "{phase}")
+ if phase.strip() != "public":
+- return datetime.datetime.utcnow()
++ return get_build_date()
+ repo_url = repo._run("paths", "default")
+ repo_url = repo_url.strip().replace("ssh://", "https://";)
+ repo_url = repo_url.replace("hg://", "https://";)
+@@ -105,7 +114,7 @@
+ dt = get_dt_from_hg(path)
+
+ if dt is None:
+- dt = datetime.datetime.utcnow()
++ dt = get_build_date()
+
+ dt = dt.replace(microsecond=0)
+ return dt.strftime("%Y%m%d%H%M%S")
--
2.39.1
- bug#32026: [PATCH v3 01/11] gnu: Add a 'update-mozilla-locales' helper for maintenance., Maxim Cournoyer, 2023/02/17
- bug#32026: [PATCH v3 02/11] gnu: icedove: Compute a self-contained source., Maxim Cournoyer, 2023/02/17
- bug#32026: [PATCH v3 04/11] gnu: icecat: Make language packs reproducible.,
Maxim Cournoyer <=
- bug#32026: [PATCH v3 03/11] gnu: Define UPSTREAM-FIREFOX-SOURCE at the top level., Maxim Cournoyer, 2023/02/17
- bug#32026: [PATCH v3 05/11] gnu: Add icecat-l10n and icedove-l10n., Maxim Cournoyer, 2023/02/17
- bug#32026: [PATCH v3 06/11] gnu: icedove: Automatically load system-provided extensions., Maxim Cournoyer, 2023/02/17
- bug#32026: [PATCH v3 08/11] gnu: icedove: Use the locale of the system., Maxim Cournoyer, 2023/02/17
- bug#32026: [PATCH v3 10/11] gnu: nss-next: Update to 3.88.1 [fixes CVE-2023-0767]., Maxim Cournoyer, 2023/02/17