Am Sun, Mar 19, 2023 at 03:14:59PM +0100 schrieb Josselin Poiret:
> I agree with you, but given that upstream has already closed a
> discussion on this topic with a clear stance, I don't really want to
> re-open anything.  We could go with that solution for now?

If it is indeed a solution... Here is how far I got, patch attached.
I updated the source code to the latest commit. The patch to
src/util/geniso does not apply any more (in fact, the complete file
has disappeared). The build fails, relatedly:
  [GENFSIMG] bin/ipxe.iso
util/genfsimg: could not find isolinux.bin
make[2]: *** [arch/x86/Makefile.pcbios:61: bin/ipxe.iso] Error 1
...
error: in phase 'build': uncaught exception:
...
build of /gnu/store/z9fs06nl38g2q1ss9wf1vbxp60011izj-ipxe-1.21.1-0.09e8a15.drv 
failed
View build log at 
'/var/log/guix/drvs/z9/fs06nl38g2q1ss9wf1vbxp60011izj-ipxe-1.21.1-0.09e8a15.drv.gz'.

See also here:
   https://github.com/ipxe/ipxe/issues/775
isolinux.bin is supposed to be installed by syslinux, but it is not.

If you could have a more informed look, that would be great.

Andreas

>From 6b4ed4a924994ee5ea12a38d91288238e34e33a2 Mon Sep 17 00:00:00 2001
From: Andreas Enge <andr...@enge.fr>
Date: Mon, 20 Mar 2023 17:42:15 +0100
Subject: [PATCH] gnu: ipex: Update to latest master commit.

* gnu/packages/bootloaders.scm (ipex): Update to latest master commit.
Remove patch.
* gnu/packages/patches/ipxe-reproducible-geniso.patch: Remove file.
* gnu/packages/bootloaders.scm (dist_patch_DATA): Unregister patch.
---
 gnu/local.mk                                  |  1 -
 gnu/packages/bootloaders.scm                  | 13 ++--
 .../patches/ipxe-reproducible-geniso.patch    | 77 -------------------
 3 files changed, 8 insertions(+), 83 deletions(-)
 delete mode 100644 gnu/packages/patches/ipxe-reproducible-geniso.patch

diff --git a/gnu/local.mk b/gnu/local.mk
index 43b7e4ceb3..4f6e100c55 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -1338,7 +1338,6 @@ dist_patch_DATA =                                         
\
   %D%/packages/patches/intel-xed-fix-nondeterminism.patch      \
   %D%/packages/patches/intltool-perl-compatibility.patch       \
   %D%/packages/patches/iputils-libcap-compat.patch             \
-  %D%/packages/patches/ipxe-reproducible-geniso.patch          \
   %D%/packages/patches/irrlicht-use-system-libs.patch          \
   %D%/packages/patches/irrlicht-link-against-needed-libs.patch \
   %D%/packages/patches/isl-0.11.1-aarch64-support.patch        \
diff --git a/gnu/packages/bootloaders.scm b/gnu/packages/bootloaders.scm
index b1276f90dd..85da7aed55 100644
--- a/gnu/packages/bootloaders.scm
+++ b/gnu/packages/bootloaders.scm
@@ -1706,20 +1706,23 @@ (define-public ipxe
   ;;
   ;; TODO: Bump this timestamp at each modifications of the package (not only
   ;; for updates) by running: date +%s.
-  (let ((timestamp "1671715380"))
+  (let ((timestamp "1671715380")
+        (commit "09e8a154084c57311463408e3f2e412c305a9638")
+        (revision "0"))
     (package
       (name "ipxe")
-      (version "1.21.1")
+      (version (string-append "1.21.1"
+                              "-" revision "."
+                              (string-take commit 7)))
       (source (origin
                 (method git-fetch)
                 (uri (git-reference
                       (url "https://github.com/ipxe/ipxe";)
-                      (commit (string-append "v" version))))
+                      (commit commit)))
                 (file-name (git-file-name name version))
-                (patches (search-patches "ipxe-reproducible-geniso.patch"))
                 (sha256
                  (base32
-                  "1pkf1n1c0rdlzfls8fvjvi1sd9xjd9ijqlyz3wigr70ijcv6x8i9"))))
+                  "0578qnq69pyvm1j7ykcd763mly9phgnlsdyai1npsg455kf6q1m4"))))
       (build-system gnu-build-system)
       (arguments
        (list
diff --git a/gnu/packages/patches/ipxe-reproducible-geniso.patch 
b/gnu/packages/patches/ipxe-reproducible-geniso.patch
deleted file mode 100644
index ff6aa1da94..0000000000
--- a/gnu/packages/patches/ipxe-reproducible-geniso.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-From 052d24d8217c51c572c2f6cbb4a687be2e8ba52d Mon Sep 17 00:00:00 2001
-From: Brice Waegeneire <br...@waegenei.re>
-Date: Fri, 5 Jun 2020 14:38:43 +0200
-Subject: [PATCH] [geniso] Make it reproducible
-
-Some timestamps get embedded in the generated ISO, making it
-unreproducible so we overwrite those timestamps to be at the UNIX epoch.
----
- src/util/geniso | 24 +++++++++++++++++++++---
- 1 file changed, 21 insertions(+), 3 deletions(-)
-
-diff --git a/src/util/geniso b/src/util/geniso
-index ff090d4a..e032ffb0 100755
---- a/src/util/geniso
-+++ b/src/util/geniso
-@@ -11,6 +11,13 @@ function help() {
-       echo " -o FILE  save iso image to file"
- }
- 
-+function reset_timestamp() {
-+      for f in "$1"/*; do
-+              touch -t 197001010100 "$f"
-+      done
-+      touch -t 197001010100 "$1"
-+}
-+
- LEGACY=0
- FIRST=""
- 
-@@ -37,8 +44,9 @@ if [ -z "${OUT}" ]; then
-       exit 1
- fi
- 
--# There should either be mkisofs or the compatible genisoimage program
--for command in genisoimage mkisofs; do
-+# There should either be mkisofs, xorriso or the compatible genisoimage
-+# program
-+for command in xorriso genisoimage mkisofs; do
-       if ${command} --version >/dev/null 2>/dev/null; then
-               mkisofs=(${command})
-               break
-@@ -46,8 +54,10 @@ for command in genisoimage mkisofs; do
- done
- 
- if [ -z "${mkisofs}" ]; then
--      echo "${0}: mkisofs or genisoimage not found, please install or set 
PATH" >&2
-+      echo "${0}: mkisofs, xorriso or genisoimage not found, please install 
or set PATH" >&2
-       exit 1
-+elif [ "$mkisofs" = "xorriso" ]; then
-+       mkisofs+=(-as mkisofs)
- fi
- 
- dir=$(mktemp -d bin/iso.dir.XXXXXX)
-@@ -115,6 +125,8 @@ case "${LEGACY}" in
-                       exit 1
-               fi
- 
-+              reset_timestamp "$dir"
-+
-               # generate the iso image
-               "${mkisofs[@]}" -b boot.img -output ${OUT} ${dir}
-               ;;
-@@ -127,6 +139,12 @@ case "${LEGACY}" in
-                       cp ${LDLINUX_C32} ${dir}
-               fi
- 
-+              reset_timestamp "$dir"
-+
-+              if [ "${mkisofs[0]}" = "xorriso" ]; then
-+                      mkisofs+=(-isohybrid-mbr "$SYSLINUX_MBR_DISK_PATH")
-+              fi
-+
-               # generate the iso image
-               "${mkisofs[@]}" -b isolinux.bin -no-emul-boot -boot-load-size 4 
-boot-info-table -output ${OUT} ${dir}
- 
--- 
-2.26.2
-- 
2.39.2

Reply via email to