unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* [bug#40246] [PATCH] gnu: Add cramfs-tools.
@ 2020-03-26 22:34 Vincent Legoll
  2020-03-26 23:22 ` [bug#40246] " Vincent Legoll
  2020-04-01 21:22 ` [bug#40246] [PATCH] " Ludovic Courtès
  0 siblings, 2 replies; 6+ messages in thread
From: Vincent Legoll @ 2020-03-26 22:34 UTC (permalink / raw)
  To: 40246

[-- Attachment #1: Type: text/plain, Size: 417 bytes --]

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
https://sourceforge.net/projects/cramfs/)

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

[-- Attachment #2: 0001-gnu-Add-cramfs-tools.patch --]
[-- Type: text/x-patch, Size: 2116 bytes --]

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(+)

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


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* [bug#40246] gnu: Add cramfs-tools
  2020-03-26 22:34 [bug#40246] [PATCH] gnu: Add cramfs-tools Vincent Legoll
@ 2020-03-26 23:22 ` Vincent Legoll
  2020-04-01 21:22 ` [bug#40246] [PATCH] " Ludovic Courtès
  1 sibling, 0 replies; 6+ messages in thread
From: Vincent Legoll @ 2020-03-26 23:22 UTC (permalink / raw)
  To: 40246

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

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#40246] [PATCH] gnu: Add cramfs-tools.
  2020-03-26 22:34 [bug#40246] [PATCH] gnu: Add cramfs-tools Vincent Legoll
  2020-03-26 23:22 ` [bug#40246] " Vincent Legoll
@ 2020-04-01 21:22 ` Ludovic Courtès
  2020-04-01 21:46   ` Vincent Legoll
  1 sibling, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2020-04-01 21:22 UTC (permalink / raw)
  To: Vincent Legoll; +Cc: 40246

Hi Vincent,

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

> 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.

[...]

> +    (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’.

> +    (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’.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#40246] [PATCH] gnu: Add cramfs-tools.
  2020-04-01 21:22 ` [bug#40246] [PATCH] " Ludovic Courtès
@ 2020-04-01 21:46   ` Vincent Legoll
  2020-04-02  8:01     ` bug#40246: " Ludovic Courtès
  0 siblings, 1 reply; 6+ messages in thread
From: Vincent Legoll @ 2020-04-01 21:46 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 40246

[-- Attachment #1: Type: text/plain, Size: 430 bytes --]

Hello Ludovic,

On Wed, Apr 1, 2020 at 11:22 PM Ludovic Courtès <ludo@gnu.org> wrote:
> 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’.
>
[...]
>
> Could you write “file systems” (two words)?  This is by convention in
> GNU and Guix.

Here it is

-- 
Vincent Legoll

[-- Attachment #2: 0001-Add-cramfs-tools.v2.patch --]
[-- Type: text/x-patch, Size: 2141 bytes --]

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(+)

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


^ permalink raw reply related	[flat|nested] 6+ messages in thread

* bug#40246: [PATCH] gnu: Add cramfs-tools.
  2020-04-01 21:46   ` Vincent Legoll
@ 2020-04-02  8:01     ` Ludovic Courtès
  2020-04-02  8:03       ` [bug#40246] " Vincent Legoll
  0 siblings, 1 reply; 6+ messages in thread
From: Ludovic Courtès @ 2020-04-02  8:01 UTC (permalink / raw)
  To: Vincent Legoll; +Cc: 40246-done

Hi Vincent,

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

> 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!

> +    (license license:gpl2)))

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

Thanks,
Ludo’.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* [bug#40246] [PATCH] gnu: Add cramfs-tools.
  2020-04-02  8:01     ` bug#40246: " Ludovic Courtès
@ 2020-04-02  8:03       ` Vincent Legoll
  0 siblings, 0 replies; 6+ messages in thread
From: Vincent Legoll @ 2020-04-02  8:03 UTC (permalink / raw)
  To: Ludovic Courtès; +Cc: 40246-done

Thanks

-- 
Vincent Legoll

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2020-04-02  8:04 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2020-03-26 22:34 [bug#40246] [PATCH] gnu: Add cramfs-tools Vincent Legoll
2020-03-26 23:22 ` [bug#40246] " Vincent Legoll
2020-04-01 21:22 ` [bug#40246] [PATCH] " Ludovic Courtès
2020-04-01 21:46   ` Vincent Legoll
2020-04-02  8:01     ` bug#40246: " Ludovic Courtès
2020-04-02  8:03       ` [bug#40246] " Vincent Legoll

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).