@@ -258,10 +258,14 @@ from forcing GEXP-PROMISE."
#:guile-for-build guile)))
(define (make-linux-libre-source version
- upstream-source
+ linux-upstream-source
+ linux-libre-upstream-source
deblob-scripts)
"Return a 'computed' origin that generates a Linux-libre tarball from the
-corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
+corresponding LINUX-UPSTREAM-SOURCE (an origin), using the given
+DEBLOB-SCRIPTS. The generated Linux-libre source is compared against the
+corresponding LINUX-LIBRE-UPSTREAM-SOURCE upstream release (an origin), to
+ensure correctness."
(match deblob-scripts
((deblob-version (? origin? deblob) (? origin? deblob-check))
(unless (string=? deblob-version (version-major+minor version))
@@ -318,14 +322,14 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(("/bin/sed") (which "sed"))
(("/usr/bin/python") (which "python"))))
- (if (file-is-directory? #+upstream-source)
+ (if (file-is-directory? #+linux-upstream-source)
(begin
- (format #t "Copying upstream linux source...~%")
- (invoke "cp" "--archive" #+upstream-source dir)
+ (format #t "Copying upstream Linux source...~%")
+ (invoke "cp" "--archive" #+linux-upstream-source dir)
(invoke "chmod" "--recursive" "u+w" dir))
(begin
- (format #t "Unpacking upstream linux tarball...~%")
- (invoke "tar" "xf" #$upstream-source)
+ (format #t "Unpacking upstream Linux tarball...~%")
+ (invoke "tar" "xf" #$linux-upstream-source)
(match (scandir "."
(lambda (name)
(and (not (member name '("." "..")))
@@ -352,7 +356,16 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(format #t "~%Scanning the generated tarball for blobs...~%")
(invoke "/tmp/bin/deblob-check" "--use-awk" "--list-blobs"
- #$output))))))))))
+ #$output)
+
+ (format #t "~%Comparing with the upstream Linux-libre \
+release...~%")
+ ;; Git doesn't track empty directories, so remove them from
+ ;; our local tree for the sake of comparison.
+ (invoke "find" dir "-type" "d" "-empty" "-delete")
+ (invoke "diff" "-ur"
+ dir
+ #+linux-libre-upstream-source))))))))))
;;;
@@ -381,55 +394,75 @@ corresponding UPSTREAM-SOURCE (an origin), using the given DEBLOB-SCRIPTS."
(uri (string-append "mirror://kernel.org"
"/linux/kernel/v" (version-major version) ".x/"
"linux-" version ".tar.xz"))
- (sha256 hash)))
+ (sha256 (base32 hash))))
+(define (%upstream-linux-libre-source version hash)
+ (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "git://linux-libre.fsfla.org/releases.git")
+ (commit (string-append "sources/v" version "-gnu"))))
+ (file-name (git-file-name "linux-libre-source" version))
+ (sha256 (base32 hash))))
(define-public linux-libre-5.8-version "5.8.5")
(define-public linux-libre-5.8-pristine-source
(let ((version linux-libre-5.8-version)
- (hash (base32 "0zwl0nk3x6fxwsbnmpx1drh7v0116yhgamisb1pghd472mmw6klx")))
+ (hash "0zwl0nk3x6fxwsbnmpx1drh7v0116yhgamisb1pghd472mmw6klx")
+ (libre-hash "0blgkbfvl5p6y6fj0xkdnd0dk2qla02pc37gj7dc3ha0asxv4mp8"))
(make-linux-libre-source version
(%upstream-linux-source version hash)
+ (%upstream-linux-libre-source version libre-hash)
deblob-scripts-5.8)))
(define-public linux-libre-5.4-version "5.4.61")
(define-public linux-libre-5.4-pristine-source
(let ((version linux-libre-5.4-version)
- (hash (base32 "197y2yb60m1k8i7mig4pa9wsrklfxq81ba3zfahwb2b31w2kvwc6")))
+ (hash "197y2yb60m1k8i7mig4pa9wsrklfxq81ba3zfahwb2b31w2kvwc6")
+ (libre-hash "1ycbalnlmgbaq3yh7yc7l8gw7c8d2x4jbwildf04zgfq9g0lv78m"))
(make-linux-libre-source version
(%upstream-linux-source version hash)
+ (%upstream-linux-libre-source version libre-hash)
deblob-scripts-5.4)))
(define-public linux-libre-4.19-version "4.19.142")
(define-public linux-libre-4.19-pristine-source
(let ((version linux-libre-4.19-version)
- (hash (base32 "19372sri4962dqf5rbr211lrfpckmj11kxsginfcwwid4hfdn4k9")))
+ (hash "19372sri4962dqf5rbr211lrfpckmj11kxsginfcwwid4hfdn4k9")
+ (libre-hash "1281d0rx17yiy9723ig381jq3bww59xqggisbxhdrxvfbxv0vvp4"))
(make-linux-libre-source version
(%upstream-linux-source version hash)
+ (%upstream-linux-libre-source version libre-hash)
deblob-scripts-4.19)))
(define-public linux-libre-4.14-version "4.14.195")
(define-public linux-libre-4.14-pristine-source
(let ((version linux-libre-4.14-version)
- (hash (base32 "08d08la3h48fbdlr3h8zbvdghydx3x9cwb4yrnm0n93hhrwjhkrr")))
+ (hash "08d08la3h48fbdlr3h8zbvdghydx3x9cwb4yrnm0n93hhrwjhkrr")
+ (libre-hash "0vgfw8jv3mnn6d9pvccqvx4v143ck02inivnhmxylq0nqfxb7nj4"))
(make-linux-libre-source version
(%upstream-linux-source version hash)
+ (%upstream-linux-libre-source version libre-hash)
deblob-scripts-4.14)))
(define-public linux-libre-4.9-version "4.9.234")
(define-public linux-libre-4.9-pristine-source
(let ((version linux-libre-4.9-version)
- (hash (base32 "1qw26x2qc29yr094c7scw68m9yz4j0b2c4f92rvi3s31s928avvm")))
+ (hash "1qw26x2qc29yr094c7scw68m9yz4j0b2c4f92rvi3s31s928avvm")
+ (libre-hash "1p7dpsqad9vra22r00ha6vg2fap4jjplfkcaskz9fvih6m4m7wgp"))
(make-linux-libre-source version
(%upstream-linux-source version hash)
+ (%upstream-linux-libre-source version libre-hash)
deblob-scripts-4.9)))
(define-public linux-libre-4.4-version "4.4.234")
(define-public linux-libre-4.4-pristine-source
(let ((version linux-libre-4.4-version)
- (hash (base32 "123354h05fip161rzlxc8h0cn5lh0d1gz06gc5b7zyz9i2lxv539")))
+ (hash "123354h05fip161rzlxc8h0cn5lh0d1gz06gc5b7zyz9i2lxv539")
+ (libre-hash "07adliis6kln7531jwwl0h2v9wkzn2j3jn2zjlyashxd9p85kywm"))
(make-linux-libre-source version
(%upstream-linux-source version hash)
+ (%upstream-linux-libre-source version libre-hash)
deblob-scripts-4.4)))
(define %boot-logo-patch