[PATCH] gnu: Add genimage.

  • Done
  • quality assurance status badge
Details
2 participants
  • Danny Milosavljevic
  • Leo Famulari
Owner
unassigned
Submitted by
Danny Milosavljevic
Severity
normal
D
D
Danny Milosavljevic wrote on 12 Feb 2019 04:09
(address . guix-patches@gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20190212030928.7802-1-dannym@scratchpost.org
* gnu/packages/genimage.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
gnu/local.mk | 1 +
gnu/packages/genimage.scm | 197 ++++++++++++++++++++++++++++++++++++++
2 files changed, 198 insertions(+)
create mode 100644 gnu/packages/genimage.scm

Toggle diff (215 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 3bb60d3ad..9020b157f 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -191,6 +191,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/gcc.scm \
%D%/packages/gd.scm \
%D%/packages/gdb.scm \
+ %D%/packages/genimage.scm \
%D%/packages/geo.scm \
%D%/packages/gettext.scm \
%D%/packages/ghostscript.scm \
diff --git a/gnu/packages/genimage.scm b/gnu/packages/genimage.scm
new file mode 100644
index 000000000..6ffffc990
--- /dev/null
+++ b/gnu/packages/genimage.scm
@@ -0,0 +1,197 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages embedded)
+ #:use-module (guix utils)
+ #:use-module (guix packages)
+ #:use-module (guix git-download)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build utils)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages bash)
+ #:use-module (gnu packages bootloaders)
+ #:use-module (gnu packages cdrom)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages cpio)
+ #:use-module (gnu packages disk)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages mtools)
+ #:use-module (gnu packages virtualization)
+ #:use-module (gnu packages wm))
+
+(define-public genimage
+ (package
+ (name "genimage")
+ (version "10")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pengutronix/genimage.git")
+ (commit (string-append "v" version))))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0had00p2why2l1fl14mq7nbhmmfbd3na4qnnpg36akdy05g67jbn"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'guixify
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; TODO: Make this unnecessary.
+ ;; This is working around some weird problem that only appears
+ ;; in our build container: "cp -a" doesn't preserve the mode
+ ;; but rather removes "group" and "other" mode bits even
+ ;; though they are set in the original.
+ (substitute* "genimage.c"
+ (("cp -a") "cp -r --preserve=ownership,timestamps,links"))
+ ;; Note to maintainers: Check ".def =" lines in source.
+ (substitute* "config.c"
+ (("\\.def = \"cpio\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "cpio")
+ "/bin/cpio\""))
+ (("\\.def = \"dd\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "coreutils")
+ "/bin/dd\""))
+ (("\\.def = \"debugfs\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "e2fsprogs")
+ "/sbin/debugfs\""))
+ (("\\.def = \"e2fsck\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "e2fsprogs")
+ "/sbin/e2fsck\""))
+ (("\\.def = \"genext2fs\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "genext2fs")
+ "/bin/genext2fs\""))
+ (("\\.def = \"genisoimage\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "cdrkit-libre")
+ "/bin/genisoimage\""))
+ (("\\.def = \"mcopy\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "mtools")
+ "/bin/mcopy\""))
+ (("\\.def = \"mmd\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "mtools")
+ "/bin/mmd\""))
+ ;;; Note: mkcramfs is obsolete.
+ (("\\.def = \"mkdosfs\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "dosfstools")
+ "/sbin/mkfs.fat\""))
+ (("\\.def = \"mke2fs\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "e2fsprogs")
+ "/sbin/mke2fs\""))
+ (("\\.def = \"mkfs\\.jffs2\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "mtd-utils")
+ "/sbin/mkfs.jffs2\""))
+ (("\\.def = \"mkfs\\.ubifs\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "mtd-utils")
+ "/sbin/mkfs.ubifs\""))
+ (("\\.def = \"mksquashfs\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "squashfs-tools")
+ "/bin/mksquashfs\""))
+ (("\\.def = \"qemu-img\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "qemu")
+ "/bin/qemu-img\""))
+ (("\\.def = \"tar\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "tar")
+ "/bin/tar\""))
+ (("\\.def = \"tune2fs\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "e2fsprogs")
+ "/sbin/tune2fs\""))
+ (("\\.def = \"ubinize\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "mtd-utils")
+ "/sbin/ubinize\""))
+ (("\\.def = \"mkimage\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "u-boot-tools")
+ "/bin/mkimage\"")))
+ (substitute* "test/basic-images.test"
+ ;; Work around bug in sharness.sh.
+ (("mkdosfs")
+ "mkfs.fat")
+ ;; Work around bug in sharness.sh.
+ (("dd,mkfs\\.fat,mcopy")
+ "dd,mkfs_fat,mcopy")
+ ;; Should be in the next upstream release.
+ (("qemu_img") "qemu-img"))
+ (substitute* "util.c"
+ (("\"/bin/sh\"")
+ (string-append "\"" (assoc-ref inputs "bash") "/bin/sh\"")))
+ ;; 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/mke2fs.dump")
+ (("root") "unknown"))
+ #t))
+ (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")
+ #t)))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ;;; Note: cramfs is obsolete.
+ ("dtc" ,dtc) ; for the tests
+ ("fakeroot" ,fakeroot) ; for the tests
+ ("fdisk" ,fdisk) ; 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)))
D
D
Danny Milosavljevic wrote on 15 Feb 2019 15:42
[PATCH v2] gnu: Add genimage.
(address . 34450@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20190215144205.9299-1-dannym@scratchpost.org
* gnu/packages/genimage.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
gnu/local.mk | 1 +
gnu/packages/genimage.scm | 200 ++++++++++++++++++++++++++++++++++++++
2 files changed, 201 insertions(+)
create mode 100644 gnu/packages/genimage.scm

Toggle diff (218 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 0484b3e08..3d59e27e8 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -191,6 +191,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/gcc.scm \
%D%/packages/gd.scm \
%D%/packages/gdb.scm \
+ %D%/packages/genimage.scm \
%D%/packages/geo.scm \
%D%/packages/gettext.scm \
%D%/packages/ghostscript.scm \
diff --git a/gnu/packages/genimage.scm b/gnu/packages/genimage.scm
new file mode 100644
index 000000000..8f1efd4e7
--- /dev/null
+++ b/gnu/packages/genimage.scm
@@ -0,0 +1,200 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages genimage)
+ #:use-module (guix utils)
+ #:use-module (guix packages)
+ #:use-module (guix git-download)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build utils)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages bash)
+ #:use-module (gnu packages bootloaders)
+ #:use-module (gnu packages cdrom)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages cpio)
+ #:use-module (gnu packages disk)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages mtools)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages virtualization)
+ #:use-module (gnu packages wm))
+
+(define-public genimage
+ (package
+ (name "genimage")
+ (version "10")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pengutronix/genimage.git")
+ (commit (string-append "v" version))))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0had00p2why2l1fl14mq7nbhmmfbd3na4qnnpg36akdy05g67jbn"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'guixify
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; TODO: Make this unnecessary.
+ ;; This is working around some weird problem that only appears
+ ;; in our build container: "cp -a" doesn't preserve the mode
+ ;; but rather removes "group" and "other" mode bits even
+ ;; though they are set in the original.
+ ;; Note to maintainers: Check ".def =" lines in source.
+ (substitute* "config.c"
+ (("\\.def = \"cpio\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "cpio")
+ "/bin/cpio\""))
+ (("\\.def = \"dd\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "coreutils")
+ "/bin/dd\""))
+ (("\\.def = \"debugfs\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "e2fsprogs")
+ "/sbin/debugfs\""))
+ (("\\.def = \"e2fsck\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "e2fsprogs")
+ "/sbin/e2fsck\""))
+ (("\\.def = \"genext2fs\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "genext2fs")
+ "/bin/genext2fs\""))
+ (("\\.def = \"genisoimage\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "cdrkit-libre")
+ "/bin/genisoimage\""))
+ (("\\.def = \"mcopy\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "mtools")
+ "/bin/mcopy\""))
+ (("\\.def = \"mmd\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "mtools")
+ "/bin/mmd\""))
+ ;;; Note: mkcramfs is obsolete.
+ (("\\.def = \"mkdosfs\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "dosfstools")
+ "/sbin/mkfs.fat\""))
+ (("\\.def = \"mke2fs\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "e2fsprogs")
+ "/sbin/mke2fs\""))
+ (("\\.def = \"mkfs\\.jffs2\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "mtd-utils")
+ "/sbin/mkfs.jffs2\""))
+ (("\\.def = \"mkfs\\.ubifs\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "mtd-utils")
+ "/sbin/mkfs.ubifs\""))
+ (("\\.def = \"mksquashfs\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "squashfs-tools")
+ "/bin/mksquashfs\""))
+ (("\\.def = \"qemu-img\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "qemu")
+ "/bin/qemu-img\""))
+ (("\\.def = \"tar\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "tar")
+ "/bin/tar\""))
+ (("\\.def = \"tune2fs\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "e2fsprogs")
+ "/sbin/tune2fs\""))
+ (("\\.def = \"ubinize\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "mtd-utils")
+ "/sbin/ubinize\""))
+ (("\\.def = \"mkimage\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "u-boot-tools")
+ "/bin/mkimage\"")))
+ (substitute* "test/basic-images.test"
+ ;; Work around bug in sharness.sh.
+ (("mkdosfs")
+ "mkfs.fat")
+ ;; Work around bug in sharness.sh.
+ (("dd,mkfs\\.fat,mcopy")
+ "dd,mkfs_fat,mcopy")
+ ;; Should be in the next upstream release.
+ (("qemu_img") "qemu-img"))
+ (substitute* "util.c"
+ (("\"/bin/sh\"")
+ (string-append "\"" (assoc-ref inputs "bash") "/bin/sh\"")))
+ ;; 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/mke2fs.dump")
+ (("root") "unknown"))
+ #t))
+ (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")
+ #t))
+ (replace 'check
+ (lambda _
+ (invoke "make" "TEST_LOG_COMPILER=" "check"))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ;;; Note: cramfs is obsolete.
+ ("dtc" ,dtc) ; for the tests
+ ("fakeroot" ,fakeroot) ; for the tests
+ ("fdisk" ,fdisk) ; 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)))
D
D
Danny Milosavljevic wrote on 15 Feb 2019 15:45
[PATCH v3] gnu: Add genimage.
(address . 34450@debbugs.gnu.org)(name . Danny Milosavljevic)(address . dannym@scratchpost.org)
20190215144527.13837-1-dannym@scratchpost.org
* gnu/packages/genimage.scm: New file.
* gnu/local.mk (GNU_SYSTEM_MODULES): Add it.
---
gnu/local.mk | 1 +
gnu/packages/genimage.scm | 194 ++++++++++++++++++++++++++++++++++++++
2 files changed, 195 insertions(+)
create mode 100644 gnu/packages/genimage.scm

Toggle diff (212 lines)
diff --git a/gnu/local.mk b/gnu/local.mk
index 0484b3e08..3d59e27e8 100644
--- a/gnu/local.mk
+++ b/gnu/local.mk
@@ -191,6 +191,7 @@ GNU_SYSTEM_MODULES = \
%D%/packages/gcc.scm \
%D%/packages/gd.scm \
%D%/packages/gdb.scm \
+ %D%/packages/genimage.scm \
%D%/packages/geo.scm \
%D%/packages/gettext.scm \
%D%/packages/ghostscript.scm \
diff --git a/gnu/packages/genimage.scm b/gnu/packages/genimage.scm
new file mode 100644
index 000000000..792bddf5a
--- /dev/null
+++ b/gnu/packages/genimage.scm
@@ -0,0 +1,194 @@
+;;; GNU Guix --- Functional package management for GNU
+;;; Copyright © 2018 Danny Milosavljevic <dannym@scratchpost.org>
+;;;
+;;; This file is part of GNU Guix.
+;;;
+;;; GNU Guix is free software; you can redistribute it and/or modify it
+;;; under the terms of the GNU General Public License as published by
+;;; the Free Software Foundation; either version 3 of the License, or (at
+;;; your option) any later version.
+;;;
+;;; GNU Guix is distributed in the hope that it will be useful, but
+;;; WITHOUT ANY WARRANTY; without even the implied warranty of
+;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+;;; GNU General Public License for more details.
+;;;
+;;; You should have received a copy of the GNU General Public License
+;;; along with GNU Guix. If not, see <http://www.gnu.org/licenses/>.
+
+(define-module (gnu packages genimage)
+ #:use-module (guix utils)
+ #:use-module (guix packages)
+ #:use-module (guix git-download)
+ #:use-module ((guix licenses) #:prefix license:)
+ #:use-module (guix build-system gnu)
+ #:use-module (guix build utils)
+ #:use-module (gnu packages)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages bash)
+ #:use-module (gnu packages bootloaders)
+ #:use-module (gnu packages cdrom)
+ #:use-module (gnu packages compression)
+ #:use-module (gnu packages cpio)
+ #:use-module (gnu packages disk)
+ #:use-module (gnu packages linux)
+ #:use-module (gnu packages mtools)
+ #:use-module (gnu packages pkg-config)
+ #:use-module (gnu packages virtualization)
+ #:use-module (gnu packages wm))
+
+(define-public genimage
+ (package
+ (name "genimage")
+ (version "10")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pengutronix/genimage.git")
+ (commit (string-append "v" version))))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0had00p2why2l1fl14mq7nbhmmfbd3na4qnnpg36akdy05g67jbn"))))
+ (build-system gnu-build-system)
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'guixify
+ (lambda* (#:key inputs #:allow-other-keys)
+ ;; Note to maintainers: Check ".def =" lines in source.
+ (substitute* "config.c"
+ (("\\.def = \"cpio\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "cpio")
+ "/bin/cpio\""))
+ (("\\.def = \"dd\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "coreutils")
+ "/bin/dd\""))
+ (("\\.def = \"debugfs\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "e2fsprogs")
+ "/sbin/debugfs\""))
+ (("\\.def = \"e2fsck\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "e2fsprogs")
+ "/sbin/e2fsck\""))
+ (("\\.def = \"genext2fs\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "genext2fs")
+ "/bin/genext2fs\""))
+ (("\\.def = \"genisoimage\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "cdrkit-libre")
+ "/bin/genisoimage\""))
+ (("\\.def = \"mcopy\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "mtools")
+ "/bin/mcopy\""))
+ (("\\.def = \"mmd\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "mtools")
+ "/bin/mmd\""))
+ ;;; Note: mkcramfs is obsolete.
+ (("\\.def = \"mkdosfs\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "dosfstools")
+ "/sbin/mkfs.fat\""))
+ (("\\.def = \"mke2fs\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "e2fsprogs")
+ "/sbin/mke2fs\""))
+ (("\\.def = \"mkfs\\.jffs2\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "mtd-utils")
+ "/sbin/mkfs.jffs2\""))
+ (("\\.def = \"mkfs\\.ubifs\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "mtd-utils")
+ "/sbin/mkfs.ubifs\""))
+ (("\\.def = \"mksquashfs\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "squashfs-tools")
+ "/bin/mksquashfs\""))
+ (("\\.def = \"qemu-img\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "qemu")
+ "/bin/qemu-img\""))
+ (("\\.def = \"tar\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "tar")
+ "/bin/tar\""))
+ (("\\.def = \"tune2fs\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "e2fsprogs")
+ "/sbin/tune2fs\""))
+ (("\\.def = \"ubinize\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "mtd-utils")
+ "/sbin/ubinize\""))
+ (("\\.def = \"mkimage\"")
+ (string-append ".def = \""
+ (assoc-ref inputs "u-boot-tools")
+ "/bin/mkimage\"")))
+ (substitute* "test/basic-images.test"
+ ;; Work around bug in sharness.sh.
+ (("mkdosfs")
+ "mkfs.fat")
+ ;; Work around bug in sharness.sh.
+ (("dd,mkfs\\.fat,mcopy")
+ "dd,mkfs_fat,mcopy")
+ ;; Should be in the next upstream release.
+ (("qemu_img") "qemu-img"))
+ (substitute* "util.c"
+ (("\"/bin/sh\"")
+ (string-append "\"" (assoc-ref inputs "bash") "/bin/sh\"")))
+ ;; 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/mke2fs.dump")
+ (("root") "unknown"))
+ #t))
+ (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")
+ #t))
+ (replace 'check
+ (lambda _
+ (invoke "make" "TEST_LOG_COMPILER=" "check"))))))
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ;;; Note: cramfs is obsolete.
+ ("dtc" ,dtc) ; for the tests
+ ("fdisk" ,fdisk) ; 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)))
L
L
Leo Famulari wrote on 15 Feb 2019 16:58
(name . Danny Milosavljevic)(address . dannym@scratchpost.org)(address . 34450@debbugs.gnu.org)
20190215155806.GB2788@jasmine.lan
On Fri, Feb 15, 2019 at 03:45:27PM +0100, Danny Milosavljevic wrote:
Toggle quote (3 lines)
> * gnu/packages/genimage.scm: New file.
> * gnu/local.mk (GNU_SYSTEM_MODULES): Add it.

Thanks! LGTM if it's working for you.
-----BEGIN PGP SIGNATURE-----

iQIzBAABCAAdFiEEsFFZSPHn08G5gDigJkb6MLrKfwgFAlxm4Y4ACgkQJkb6MLrK
fwicTg/+PKuw2kJgMpgOu5zMN2wJ6H8WYny7k6r8M80aalGvOF7FtwlWmqmDHAuy
/ipHcctqhMcBVwbq4WVGlIBbsJhm1Vg2W+/2+BDVDhkXn7UfoyU6fh7A4jqmyNGv
jCJ1sggBvVYx6b0VLO7LdLE2jOxu5O75c6MtiMotMxdXsIKECzS13VEqLuv+3NHO
iizZ/XVH8sRpokIwtR+Uh1bnF261SMOzZKzyLfk3Ee+44+4fekiOV4Hi9NeNDctE
UsG2u8E6NZlizP+cUCo8mV6bzOiRgGjMli01HeMfnWHxUIOlbA0EY9pH1H7PaX7u
wZI514qS0Sz/8WYzxfnIhJD09QM3jf7oUIV6mpyjZbacv+ARnKHQ6rwlsG92ny2b
iaD/JUIPfmn520xHUCdZcKwrjxWVwDh23J39prHuiIr8pohsWe20OzaQ/lAfDnwO
4jrF+2Z31XWqGI6fIsdsaKdg38fDZCrEYOKpEqGFMbV+JsrXxHs++6ckd6DxUFGQ
g8xOd8qKBd3e3l0GCcpHA9V8xkYcFEdugrbKAjXZmly7S8E8OFCq+IDl+gwJSS5e
gCTvkaGHeJdkZFtCumewWGMXAyhtrnppk2b9GHzCwhtmuvqFsRf4W6p/LZGp8Zqi
9ikzXCTZUQTSnviW0qoFo5wYpH5GOloT56RpjDumb/nyxVGwkXE=
=TPP2
-----END PGP SIGNATURE-----


D
D
Danny Milosavljevic wrote on 15 Feb 2019 17:51
(no subject)
(address . control@debbugs.gnu.org)
20190215175114.72605c00@scratchpost.org
close 34450
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCAAdFiEEds7GsXJ0tGXALbPZ5xo1VCwwuqUFAlxm7gIACgkQ5xo1VCww
uqUdrwgAiWe3Ir9WpaSR2cycw4O/7Nzm/Fmww9ywGsRTlyq/SuyMpuX+4MKKBGLz
o4Sfu/D2DerVHqFhUyefGQbIYL7WJdRPqwmav1M/QnlgtYzqSr35qS3OQig1rhp8
wfE/NhTHpkdjD0wHLtSkDC2YUvSNaYikbQATL5fTvL3emAXaCHY6To/iSTJvLB1o
jnEuSPD5GWJZLdsUGtA8dywN7VEHva+4fc3erjwkd+g6/LwEuczufAMZrKKracld
bqA8esjq7Ird/QCyVJh1zwkWS7MH47xvoghv2JRGhNccLVigx1StaCtgUr1+7X6M
Msp2zHMo6/BOdxU3U4Q2xI9IF28ujA==
=lYrc
-----END PGP SIGNATURE-----


?
Your comment

This issue is archived.

To comment on this conversation send an email to 34450@debbugs.gnu.org

To respond to this issue using the mumi CLI, first switch to it
mumi current 34450
Then, you may apply the latest patchset in this issue (with sign off)
mumi am -- -s
Or, compose a reply to this issue
mumi compose
Or, send patches to this issue
mumi send-email *.patch