mirror of
https://git.in.rschanz.org/ryan77627/guix.git
synced 2025-01-26 12:39:36 -05:00
gnu: xen: Build reproducibly
* gnu/packages/virtualization.scm (xen)[source]: Add patches. [arguments]: Add a new 'remove-cruft phase. * gnu/packages/patches/xen-docs-use-predictable-ordering.patch, * gnu/packages/patches/xen-remove-config.gz-timestamp.patch: New files. * gnu/local.mk (dist_patch_DATA): Add them both.
This commit is contained in:
parent
d471465624
commit
1b0ec97bce
4 changed files with 84 additions and 2 deletions
|
@ -2121,6 +2121,8 @@ dist_patch_DATA = \
|
||||||
%D%/packages/patches/wpa-supplicant-dbus-group-policy.patch \
|
%D%/packages/patches/wpa-supplicant-dbus-group-policy.patch \
|
||||||
%D%/packages/patches/x265-arm-flags.patch \
|
%D%/packages/patches/x265-arm-flags.patch \
|
||||||
%D%/packages/patches/xdg-desktop-portal-wlr-harcoded-length.patch\
|
%D%/packages/patches/xdg-desktop-portal-wlr-harcoded-length.patch\
|
||||||
|
%D%/packages/patches/xen-docs-use-predictable-ordering.patch \
|
||||||
|
%D%/packages/patches/xen-remove-config.gz-timestamp.patch \
|
||||||
%D%/packages/patches/xf86-video-ark-remove-mibstore.patch \
|
%D%/packages/patches/xf86-video-ark-remove-mibstore.patch \
|
||||||
%D%/packages/patches/xf86-video-nouveau-fixup-ABI.patch \
|
%D%/packages/patches/xf86-video-nouveau-fixup-ABI.patch \
|
||||||
%D%/packages/patches/xf86-video-savage-xorg-compat.patch \
|
%D%/packages/patches/xf86-video-savage-xorg-compat.patch \
|
||||||
|
|
34
gnu/packages/patches/xen-docs-use-predictable-ordering.patch
Normal file
34
gnu/packages/patches/xen-docs-use-predictable-ordering.patch
Normal file
|
@ -0,0 +1,34 @@
|
||||||
|
From: Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
|
Date: Sun Sep 24 02:00:00 2023 +0200
|
||||||
|
Subject: xen: docs: Use predictable ordering.
|
||||||
|
|
||||||
|
What follows was taken verbatim from Debian. See:
|
||||||
|
https://sources.debian.org/patches/xen/4.14.5%2B94-ge49571868d-1/
|
||||||
|
|
||||||
|
From: Maximilian Engelhardt <maxi@daemonizer.de>
|
||||||
|
Date: Fri, 18 Dec 2020 21:42:34 +0100
|
||||||
|
Subject: docs: use predictable ordering in generated documentation
|
||||||
|
|
||||||
|
When the seq number is equal, sort by the title to get predictable
|
||||||
|
output ordering. This is useful for reproducible builds.
|
||||||
|
|
||||||
|
Signed-off-by: Maximilian Engelhardt <maxi@daemonizer.de>
|
||||||
|
Acked-by: Andrew Cooper <andrew.cooper3@citrix.com>
|
||||||
|
(cherry picked from commit e18dadc5b709290b8038a1cacb52bc3b3b69cf21)
|
||||||
|
---
|
||||||
|
docs/xen-headers | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/docs/xen-headers b/docs/xen-headers
|
||||||
|
index 5415563..8c434d7 100755
|
||||||
|
--- a/docs/xen-headers
|
||||||
|
+++ b/docs/xen-headers
|
||||||
|
@@ -331,7 +331,7 @@ sub output_index () {
|
||||||
|
<h2>Starting points</h2>
|
||||||
|
<ul>
|
||||||
|
END
|
||||||
|
- foreach my $ic (sort { $a->{Seq} <=> $b->{Seq} } @incontents) {
|
||||||
|
+ foreach my $ic (sort { $a->{Seq} <=> $b->{Seq} or $a->{Title} cmp $b->{Title} } @incontents) {
|
||||||
|
$o .= "<li><a href=\"$ic->{Href}\">$ic->{Title}</a></li>\n";
|
||||||
|
}
|
||||||
|
$o .= "</ul>\n";
|
37
gnu/packages/patches/xen-remove-config.gz-timestamp.patch
Normal file
37
gnu/packages/patches/xen-remove-config.gz-timestamp.patch
Normal file
|
@ -0,0 +1,37 @@
|
||||||
|
From: Tobias Geerinckx-Rice <me@tobias.gr>
|
||||||
|
Date: Sun Sep 24 02:00:00 2023 +0200
|
||||||
|
Subject: xen: docs: Use predictable ordering.
|
||||||
|
|
||||||
|
What follows was taken verbatim from Debian. See:
|
||||||
|
https://sources.debian.org/patches/xen/4.14.5%2B94-ge49571868d-1/
|
||||||
|
|
||||||
|
From: =?utf-8?b?IkZyw6lkw6lyaWMgUGllcnJldCAoZmVwaXRyZSki?=
|
||||||
|
<frederic.pierret@qubes-os.org>
|
||||||
|
Date: Wed, 4 Nov 2020 09:24:40 +0100
|
||||||
|
Subject: xen: don't have timestamp inserted in config.gz
|
||||||
|
MIME-Version: 1.0
|
||||||
|
Content-Type: text/plain; charset="utf-8"
|
||||||
|
Content-Transfer-Encoding: 8bit
|
||||||
|
|
||||||
|
This is for improving reproducible builds.
|
||||||
|
|
||||||
|
Signed-off-by: Frédéric Pierret (fepitre) <frederic.pierret@qubes-os.org>
|
||||||
|
Acked-by: Jan Beulich <jbeulich@suse.com>
|
||||||
|
(cherry picked from commit 5816d327e44ab37ae08730f4c54a80835998f31f)
|
||||||
|
---
|
||||||
|
xen/common/Makefile | 2 +-
|
||||||
|
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||||
|
|
||||||
|
diff --git a/xen/common/Makefile b/xen/common/Makefile
|
||||||
|
index 06881d0..32cd650 100644
|
||||||
|
--- a/xen/common/Makefile
|
||||||
|
+++ b/xen/common/Makefile
|
||||||
|
@@ -77,7 +77,7 @@ obj-$(CONFIG_HAS_DEVICE_TREE) += libfdt/
|
||||||
|
|
||||||
|
CONF_FILE := $(if $(patsubst /%,,$(KCONFIG_CONFIG)),$(XEN_ROOT)/xen/)$(KCONFIG_CONFIG)
|
||||||
|
config.gz: $(CONF_FILE)
|
||||||
|
- gzip -c $< >$@
|
||||||
|
+ gzip -n -c $< >$@
|
||||||
|
|
||||||
|
config_data.o: config.gz
|
||||||
|
|
|
@ -2288,7 +2288,10 @@ (define-public xen
|
||||||
(file-name (git-file-name name version))
|
(file-name (git-file-name name version))
|
||||||
(sha256
|
(sha256
|
||||||
(base32
|
(base32
|
||||||
"1cdzpxbihkdn4za8ly0lgkbxrafjzbxjflhfn83kyg4bam1vv7mn"))))
|
"1cdzpxbihkdn4za8ly0lgkbxrafjzbxjflhfn83kyg4bam1vv7mn"))
|
||||||
|
(patches
|
||||||
|
(search-patches "xen-docs-use-predictable-ordering.patch"
|
||||||
|
"xen-remove-config.gz-timestamp.patch"))))
|
||||||
(build-system gnu-build-system)
|
(build-system gnu-build-system)
|
||||||
(arguments
|
(arguments
|
||||||
(list
|
(list
|
||||||
|
@ -2409,7 +2412,13 @@ (define (filter-environment! filter-predicate
|
||||||
(apply invoke "make" "world"
|
(apply invoke "make" "world"
|
||||||
"-j" (number->string
|
"-j" (number->string
|
||||||
(if parallel-build? (parallel-job-count) 1))
|
(if parallel-build? (parallel-job-count) 1))
|
||||||
make-flags))))))
|
make-flags)))
|
||||||
|
(add-after 'install 'remove-cruft
|
||||||
|
(lambda _
|
||||||
|
(with-directory-excursion #$output
|
||||||
|
;; Delete useless (and irreproducible) build-time left-overs.
|
||||||
|
(for-each delete-file
|
||||||
|
(find-files "share/doc" "^\\.deps$"))))))))
|
||||||
(inputs
|
(inputs
|
||||||
(list acpica ; TODO: patch iasl invocation
|
(list acpica ; TODO: patch iasl invocation
|
||||||
bridge-utils ; TODO: patch invocations
|
bridge-utils ; TODO: patch invocations
|
||||||
|
|
Loading…
Reference in a new issue