[PATCH] gnu: Add cramfs-tools.

  • Done
  • quality assurance status badge
Details
2 participants
  • Ludovic Courtès
  • Vincent Legoll
Owner
unassigned
Submitted by
Vincent Legoll
Severity
normal

Debbugs page

Vincent Legoll wrote 5 years ago
(address . guix-patches@gnu.org)
CAEwRq=r09qqcCfgC=CpMJZ4g3JztS8SkDieSHMPpMjpOH39QyA@mail.gmail.com
This patch adds the updated cramfs-tools
suite from Nicolas Pitre.

This version has additional features
implemented over the 1.1 version still
packaged in some other distros, which
is unmaintained (available on

It handles uncompressed blocks, random
block placement and XiP.

Lightly tested, by loop-mounting a tiny (4kB)
cramfs in a file, worked fine.

--
Vincent Legoll
From ff79a4b2d798bba222ac502a7aa1f7ef0a97e249 Mon Sep 17 00:00:00 2001
From: Vincent Legoll <vincent.legoll@gmail.com>
Date: Thu, 26 Mar 2020 23:12:53 +0100
Subject: [PATCH] gnu: Add cramfs-tools.

* gnu/packages/linux.scm (cramfs-tools): New variable.
---
gnu/packages/linux.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (47 lines)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 8fec3352f3..6ab08e18f4 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -4371,6 +4371,40 @@ repair and easy administration.")
from the btrfs-progs package. It is meant to be used in initrds.")
(license (package-license btrfs-progs))))
+(define-public cramfs-tools
+ (package
+ (name "cramfs-tools")
+ (version "2.1")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/npitre/cramfs-tools/archive/v"
+ version ".tar.gz"))
+ (sha256
+ (base32
+ "1hqwy3bsj4j7wmhj3hr4l9c1gqrscpgprcsnchxhckq3mpna9dyd"))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f ; No tests.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (install-file "mkcramfs" (string-append out "/sbin"))
+ (install-file "cramfsck" (string-append out "/sbin")))
+ #t)))))
+ (inputs
+ `(("zlib" ,zlib)))
+ (home-page "https://github.com/npitre/cramfs-tools")
+ (synopsis "Tools to manage Cramfs filesystems")
+ (description "Cramfs is a Linux filesystem designed to be simple, small,
+and to compress things well. It is used on a number of embedded systems and
+small devices. This version has additional features such as uncompressed
+blocks and random block placement.")
+ (license license:gpl2)))
+
(define-public compsize
(package
(name "compsize")
--
2.25.2
Vincent Legoll wrote 5 years ago
Re: gnu: Add cramfs-tools
(address . 40246@debbugs.gnu.org)
CAEwRq=q-gURk8L5fBTtG0iOU2nA9fKxAmYYND1-hkp6JCL8-sw@mail.gmail.com
This was obsoleted, but then resurrected later...

From wikikpedia
[...]
In 2013, Linux maintainers indicated that cramfs was made obsolete by
squashfs,[1] but the file system got rehabilitated in 2017 for use in
low-memory devices where using squashfs may not be viable.
[...]

And also the guix kernel has support for it...
So why not ?

--
Vincent Legoll
Ludovic Courtès wrote 5 years ago
Re: [bug#40246] [PATCH] gnu: Add cramfs-tools.
(name . Vincent Legoll)(address . vincent.legoll@gmail.com)(address . 40246@debbugs.gnu.org)
87sghmsxy1.fsf@gnu.org
Hi Vincent,

Vincent Legoll <vincent.legoll@gmail.com> skribis:

Toggle quote (7 lines)
> From ff79a4b2d798bba222ac502a7aa1f7ef0a97e249 Mon Sep 17 00:00:00 2001
> From: Vincent Legoll <vincent.legoll@gmail.com>
> Date: Thu, 26 Mar 2020 23:12:53 +0100
> Subject: [PATCH] gnu: Add cramfs-tools.
>
> * gnu/packages/linux.scm (cramfs-tools): New variable.

[...]

Toggle quote (7 lines)
> + (name "cramfs-tools")
> + (version "2.1")
> + (source (origin
> + (method url-fetch)
> + (uri (string-append
> + "https://github.com/npitre/cramfs-tools/archive/v"

As reported by ‘guix lint’, please don’t refer to a generated tarball.

Instead you can use a hosted “hand-crafted” tarball if there’s one or,
more likely, ‘git-fetch’.

Toggle quote (6 lines)
> + (synopsis "Tools to manage Cramfs filesystems")
> + (description "Cramfs is a Linux filesystem designed to be simple, small,
> +and to compress things well. It is used on a number of embedded systems and
> +small devices. This version has additional features such as uncompressed
> +blocks and random block placement.")

Could you write “file systems” (two words)? This is by convention in
GNU and Guix.

Thanks in advance!

Ludo’.
Vincent Legoll wrote 5 years ago
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 40246@debbugs.gnu.org)
CAEwRq=qaiD8GfA2SWVgzsMd8FQagbVx3VcY+N3NXOkQ9=ePBqA@mail.gmail.com
Hello Ludovic,

On Wed, Apr 1, 2020 at 11:22 PM Ludovic Courtès <ludo@gnu.org> wrote:
Toggle quote (5 lines)
> As reported by ‘guix lint’, please don’t refer to a generated tarball.
>
> Instead you can use a hosted “hand-crafted” tarball if there’s one or,
> more likely, ‘git-fetch’.
>
[...]
Toggle quote (4 lines)
>
> Could you write “file systems” (two words)? This is by convention in
> GNU and Guix.

Here it is

--
Vincent Legoll
From d8c3ae54d42d662f7af6cb6740b6ae16455d9073 Mon Sep 17 00:00:00 2001
From: Vincent Legoll <vincent.legoll@gmail.com>
Date: Thu, 26 Mar 2020 23:12:53 +0100
Subject: [PATCH] gnu: Add cramfs-tools.

* gnu/packages/linux.scm (cramfs-tools): New variable.
---
gnu/packages/linux.scm | 34 ++++++++++++++++++++++++++++++++++
1 file changed, 34 insertions(+)

Toggle diff (47 lines)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 945c15d972..f36531efa0 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -4368,6 +4368,40 @@ repair and easy administration.")
from the btrfs-progs package. It is meant to be used in initrds.")
(license (package-license btrfs-progs))))
+(define-public cramfs-tools
+ (package
+ (name "cramfs-tools")
+ (home-page "https://github.com/npitre/cramfs-tools")
+ (version "2.1")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url home-page)
+ (commit (string-append "v" version))))
+ (sha256
+ (base32 "183rfqqyzx52q0vxicdgf0p984idh3rqkvzfb93gjvyzfhc15c0p"))
+ (file-name (git-file-name name version))))
+ (build-system gnu-build-system)
+ (arguments
+ '(#:tests? #f ; No tests.
+ #:phases
+ (modify-phases %standard-phases
+ (delete 'configure)
+ (replace 'install
+ (lambda* (#:key outputs #:allow-other-keys)
+ (let ((out (assoc-ref outputs "out")))
+ (install-file "mkcramfs" (string-append out "/sbin"))
+ (install-file "cramfsck" (string-append out "/sbin")))
+ #t)))))
+ (inputs
+ `(("zlib" ,zlib)))
+ (synopsis "Tools to manage Cramfs file systems")
+ (description "Cramfs is a Linux file system designed to be simple, small,
+and to compress things well. It is used on a number of embedded systems and
+small devices. This version has additional features such as uncompressed
+blocks and random block placement.")
+ (license license:gpl2)))
+
(define-public compsize
(package
(name "compsize")
--
2.25.2
Ludovic Courtès wrote 5 years ago
(name . Vincent Legoll)(address . vincent.legoll@gmail.com)(address . 40246-done@debbugs.gnu.org)
877dyys4dg.fsf@gnu.org
Hi Vincent,

Vincent Legoll <vincent.legoll@gmail.com> skribis:

Toggle quote (7 lines)
> From d8c3ae54d42d662f7af6cb6740b6ae16455d9073 Mon Sep 17 00:00:00 2001
> From: Vincent Legoll <vincent.legoll@gmail.com>
> Date: Thu, 26 Mar 2020 23:12:53 +0100
> Subject: [PATCH] gnu: Add cramfs-tools.
>
> * gnu/packages/linux.scm (cramfs-tools): New variable.

Applied!

Toggle quote (2 lines)
> + (license license:gpl2)))

I changed that to ‘gpl2+’ because I noticed that source file headers
carry the “or any later version” wording.

Thanks,
Ludo’.
Closed
Vincent Legoll wrote 5 years ago
(name . Ludovic Courtès)(address . ludo@gnu.org)(address . 40246-done@debbugs.gnu.org)
CAEwRq=pZ38P6Hvk=oBHh+jxYAs22ARojW85UHEJWd-em5Pe0Rg@mail.gmail.com
Thanks

--
Vincent Legoll
Closed
?
Your comment

This issue is archived.

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

To respond to this issue using the mumi CLI, first switch to it
mumi current 40246
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
You may also tag this issue. See list of standard tags. For example, to set the confirmed and easy tags
mumi command -t +confirmed -t +easy
Or, remove the moreinfo tag and set the help tag
mumi command -t -moreinfo -t +help