aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gnu/packages/genimage.scm184
-rw-r--r--gnu/packages/patches/genimage-mke2fs-test.patch10
2 files changed, 98 insertions, 96 deletions
diff --git a/gnu/packages/genimage.scm b/gnu/packages/genimage.scm
index f5574b04ee..7f2270cc09 100644
--- a/gnu/packages/genimage.scm
+++ b/gnu/packages/genimage.scm
@@ -41,96 +41,98 @@
#:use-module (gnu packages virtualization))
(define-public genimage
- (package
- (name "genimage")
- (version "14")
- (source (origin
- (method git-fetch)
- (uri (git-reference
- (url "https://github.com/pengutronix/genimage")
- (commit (string-append "v" version))))
- (file-name (git-file-name name version))
- (sha256
- (base32
- "1l45djpbaffhyw0allq3mgzwrdilk05iyj0nvp8l3s47vnp5bnbs"))
- (patches
- (search-patches "genimage-mke2fs-test.patch"))))
- (build-system gnu-build-system)
- (arguments
- `(#:modules
- ((ice-9 match)
- ,@%gnu-build-system-modules)
- #:phases
- (modify-phases %standard-phases
- (add-after 'unpack 'guixify
- (lambda* (#:key inputs #:allow-other-keys)
- (map (match-lambda
- ((input directory regexp)
- (substitute* "config.c"
- (((format #f "\\.def = \"(~a)\"" regexp) _ command)
- (format #f ".def = \"~a/~a/~a\""
- (assoc-ref inputs input) directory command)))))
- '(("cpio" "bin" "cpio")
- ("coreutils" "bin" "dd")
- ("e2fsprogs" "sbin" "debugfs|e2fsck|mke2fs|tune2fs")
- ("genext2fs" "bin" "genext2fs")
- ("cdrkit-libre" "bin" "genisoimage")
- ("mtools" "bin" "mcopy|mmd")
- ;; mkcramfs is obsolete.
- ("dosfstools" "sbin" "mkdosfs")
- ("mtd-utils" "sbin" "mkfs.(jffs2|ubifs)|ubinize")
- ("squashfs-tools" "bin" "mksquashfs")
- ("qemu" "bin" "qemu-img")
- ("tar" "bin" "tar")
- ("u-boot-tools" "bin" "mkimage")))
- (substitute* "util.c"
- (("\"/bin/sh\"")
- (string-append "\"" (assoc-ref inputs "bash") "/bin/sh\"")))))
- (add-before 'check 'fix-failing-tests
- (lambda _
- ;; We don't have /etc/passwd so uid 0 is not known as "root".
- ;; Thus patch it out.
- (substitute* '("test/ext2test.dump"
- "test/ext3test.dump"
- "test/ext4test.dump"
- "test/ext2test-percent.dump"
- "test/mke2fs.dump")
- (("root") "unknown"))))
- (add-before 'check 'setenv-check
- (lambda _
- ;; Our container doesn't provide access to /etc/mtab
- (setenv "EXT2FS_NO_MTAB_OK" "1")
- ;; Make test reproducible
- (setenv "GENIMAGE_MKFJFFS2" "mkfs.jffs2 -U")
- (setenv "GENIMAGE_MKE2FS" "mke2fs -E no_copy_xattrs")))
- (replace 'check
- (lambda _
- (invoke "make" "TEST_LOG_COMPILER=" "check"))))))
- (native-inputs
- `(("autoconf" ,autoconf)
- ("automake" ,automake)
+ (let ((commit "11bb04455eaf5434f0723c91a2224918ebd0a196")
+ (revision "1"))
+ (package
+ (name "genimage")
+ (version (git-version "14" revision commit))
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pengutronix/genimage")
+ (commit commit)))
+ (file-name (git-file-name name version))
+ (sha256
+ (base32
+ "1dq3lk0awk12v2aidry35gvrci5a3nr6rzcq0j9hyyf0w1z1rn0l"))
+ (patches
+ (search-patches "genimage-mke2fs-test.patch"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:modules
+ ((ice-9 match)
+ ,@%gnu-build-system-modules)
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'guixify
+ (lambda* (#:key inputs #:allow-other-keys)
+ (map (match-lambda
+ ((input directory regexp)
+ (substitute* "config.c"
+ (((format #f "\\.def = \"(~a)\"" regexp) _ command)
+ (format #f ".def = \"~a/~a/~a\""
+ (assoc-ref inputs input) directory command)))))
+ '(("cpio" "bin" "cpio")
+ ("coreutils" "bin" "dd")
+ ("e2fsprogs" "sbin" "debugfs|e2fsck|mke2fs|tune2fs")
+ ("genext2fs" "bin" "genext2fs")
+ ("cdrkit-libre" "bin" "genisoimage")
+ ("mtools" "bin" "mcopy|mmd")
+ ;; mkcramfs is obsolete.
+ ("dosfstools" "sbin" "mkdosfs")
+ ("mtd-utils" "sbin" "mkfs.(jffs2|ubifs)|ubinize")
+ ("squashfs-tools" "bin" "mksquashfs")
+ ("qemu" "bin" "qemu-img")
+ ("tar" "bin" "tar")
+ ("u-boot-tools" "bin" "mkimage")))
+ (substitute* "util.c"
+ (("\"/bin/sh\"")
+ (string-append "\"" (assoc-ref inputs "bash") "/bin/sh\"")))))
+ (add-before 'check 'fix-failing-tests
+ (lambda _
+ ;; We don't have /etc/passwd so uid 0 is not known as "root".
+ ;; Thus patch it out.
+ (substitute* '("test/ext2test.0.dump"
+ "test/ext3test.0.dump"
+ "test/ext4test.0.dump"
+ "test/ext2test-percent.0.dump"
+ "test/mke2fs.0.dump")
+ (("root") "unknown"))))
+ (add-before 'check 'setenv-check
+ (lambda _
+ ;; Our container doesn't provide access to /etc/mtab
+ (setenv "EXT2FS_NO_MTAB_OK" "1")
+ ;; Make test reproducible
+ (setenv "GENIMAGE_MKFJFFS2" "mkfs.jffs2 -U")
+ (setenv "GENIMAGE_MKE2FS" "mke2fs -E no_copy_xattrs")))
+ (replace 'check
+ (lambda _
+ (invoke "make" "TEST_LOG_COMPILER=" "check"))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
;;; Note: cramfs is obsolete.
- ("dtc" ,dtc) ; for the tests
- ("pkg-config" ,pkg-config)
- ("util-linux" ,util-linux))) ; for the tests
- (inputs
- `(("bash" ,bash)
- ("cdrkit-libre" ,cdrkit-libre)
- ("cpio" ,cpio)
- ;; Note: invoked by final executable.
- ("coreutils" ,coreutils) ; chmod, dd
- ("dosfstools" ,dosfstools)
- ("e2fsprogs" ,e2fsprogs)
- ("genext2fs" ,genext2fs)
- ("libconfuse" ,libconfuse)
- ("mtd-utils" ,mtd-utils)
- ("mtools" ,mtools)
- ("qemu" ,qemu-minimal)
- ("squashfs-tools" ,squashfs-tools)
- ("tar" ,tar)
- ("u-boot-tools" ,u-boot-tools)))
- (synopsis "Create Flash images according to specification")
- (description "@command{genimage} creates Flash images according to a
+ ("dtc" ,dtc) ; for the tests
+ ("pkg-config" ,pkg-config)
+ ("util-linux" ,util-linux))) ; for the tests
+ (inputs
+ `(("bash" ,bash)
+ ("cdrkit-libre" ,cdrkit-libre)
+ ("cpio" ,cpio)
+ ;; Note: invoked by final executable.
+ ("coreutils" ,coreutils) ; chmod, dd
+ ("dosfstools" ,dosfstools)
+ ("e2fsprogs" ,e2fsprogs)
+ ("genext2fs" ,genext2fs)
+ ("libconfuse" ,libconfuse)
+ ("mtd-utils" ,mtd-utils)
+ ("mtools" ,mtools)
+ ("qemu" ,qemu-minimal)
+ ("squashfs-tools" ,squashfs-tools)
+ ("tar" ,tar)
+ ("u-boot-tools" ,u-boot-tools)))
+ (synopsis "Create Flash images according to specification")
+ (description "@command{genimage} creates Flash images according to a
specification file.")
- (home-page "https://github.com/pengutronix/genimage")
- (license license:gpl2)))
+ (home-page "https://github.com/pengutronix/genimage")
+ (license license:gpl2))))
diff --git a/gnu/packages/patches/genimage-mke2fs-test.patch b/gnu/packages/patches/genimage-mke2fs-test.patch
index c4a17590f2..5d4fbcfe44 100644
--- a/gnu/packages/patches/genimage-mke2fs-test.patch
+++ b/gnu/packages/patches/genimage-mke2fs-test.patch
@@ -1,8 +1,8 @@
diff --git a/test/mke2fs.dump b/test/mke2fs.dump
index 8e63662..0c25798 100644
---- a/test/mke2fs.dump
-+++ b/test/mke2fs.dump
-@@ -11,7 +11,7 @@ Filesystem OS type: Linux
+--- a/test/mke2fs.0.dump
++++ b/test/mke2fs.0.dump
+@@ -11,7 +11,7 @@
Inode count: 8192
Block count: 32768
Reserved block count: 1638
@@ -11,7 +11,7 @@ index 8e63662..0c25798 100644
Free inodes: 8141
First block: 1
Block size: 1024
-@@ -29,7 +29,7 @@ Mount count: 0
+@@ -29,7 +29,7 @@
Maximum mount count: -1
Last checked: Sat Jan 1 00:00:00 2000
Check interval: 0 (<none>)
@@ -20,7 +20,7 @@ index 8e63662..0c25798 100644
Reserved blocks uid: 0 (user root)
Reserved blocks gid: 0 (group root)
First inode: 11
-@@ -49,13 +49,13 @@ Journal sequence: 0x00000001
+@@ -51,13 +51,13 @@
Journal start: 0