all messages for Guix-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
* [PATCH] Add btrfs-progs.
@ 2015-11-05 22:12 Patrick Hetu
  2015-11-06 21:14 ` Ludovic Courtès
  0 siblings, 1 reply; 2+ messages in thread
From: Patrick Hetu @ 2015-11-05 22:12 UTC (permalink / raw)
  To: guix-devel

I still need to figure out how to get rid of the "fsck.btrfs not found" 
when the system boots. Maybe it needs to be in the initrd.
Note that I'm also adding it to %base-packages like e2fsprogs.

Patrick (avoine on IRC)

 From 982302084d16b53b878b36cc29f4e0cefc2df608 Mon Sep 17 00:00:00 2001
From: Patrick Hetu <patrick.hetu@auf.org>
Date: Thu, 5 Nov 2015 17:01:42 -0500
Subject: [PATCH] gnu: Add btrfs-progs.

---
  gnu/packages/linux.scm | 48 
++++++++++++++++++++++++++++++++++++++++++++++++
  gnu/system.scm         |  1 +
  2 files changed, 49 insertions(+)

diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index aa2fc02..c21c151 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -57,6 +57,7 @@
    #:use-module (gnu packages asciidoc)
    #:use-module (gnu packages readline)
    #:use-module (gnu packages calendar)
+  #:use-module (gnu packages acl)
    #:use-module (guix packages)
    #:use-module (guix download)
    #:use-module (guix utils)
@@ -2410,3 +2411,50 @@ id=0B7CLI-REKbE3VTdaa0EzTkhYdU0")
       "This package provides a FUSE-based file system that provides 
read and
  write access to exFAT devices.")
      (license gpl2+)))
+
+(define-public btrfs-progs
+  (package
+    (name "btrfs-progs")
+    (version "4.2.3")
+    (source (origin
+             (method url-fetch)
+             (uri (string-append
+                   "mirror://kernel.org/linux/kernel/people/kdave/"
+                   name "/"
+                   name "-v" version ".tar.xz"))
+             (sha256
+              (base32
+ "0gpknqvnpl4y78fsfak3iv147czc0rak8fbcg0d9krr50wzd3hf3"))
+             (modules '((guix build utils)))))
+    (build-system gnu-build-system)
+    (inputs `(("acl" ,acl)
+              ("coreutils" ,coreutils)
+              ("libblkid" ,util-linux)
+              ("libext2fs" ,e2fsprogs)
+              ("libuuid" ,util-linux)
+              ("lzo" ,lzo)
+              ("zlib" ,zlib)))
+    (native-inputs `(("pkg-config" ,pkg-config)))
+    (arguments
+     '(#:make-flags
+       (list "CC=gcc" (string-append "prefix=" %output))
+       #:phases (alist-replace
+                 'configure
+                 (lambda* (#:key outputs #:allow-other-keys)
+                   (setenv "CONFIG_SHELL" (which "sh"))
+
+                   (let ((out (assoc-ref outputs "out")))
+                     ;; The 'configure' script
+                     ;; doesn't recognize things like 
'--enable-fast-install'.
+                     (zero? (system* "./configure"
+                                     "--disable-documentation"
+                                     (string-append "--prefix=" out)))))
+                 %standard-phases)
+       #:tests? #f))
+    (home-page "http://btrfs.wiki.kernel.org/")
+    (synopsis "Checksumming Copy on Write Filesystem utilities")
+    (description
+     "Btrfs is a new copy on write filesystem for Linux aimed at 
implementing
+ advanced features while focusing on fault tolerance, repair and easy
+ administration.")
+    (license gpl2+)))
diff --git a/gnu/system.scm b/gnu/system.scm
index be6b1ac..f7093e7 100644
--- a/gnu/system.scm
+++ b/gnu/system.scm
@@ -355,6 +355,7 @@ explicitly appear in OS."
           kmod eudev

           e2fsprogs kbd
+         btrfs-progs

           bash-completion

-- 
2.5.0

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

* Re: [PATCH] Add btrfs-progs.
  2015-11-05 22:12 [PATCH] Add btrfs-progs Patrick Hetu
@ 2015-11-06 21:14 ` Ludovic Courtès
  0 siblings, 0 replies; 2+ messages in thread
From: Ludovic Courtès @ 2015-11-06 21:14 UTC (permalink / raw)
  To: Patrick Hetu; +Cc: guix-devel

Hi!

Patrick Hetu <patrick.hetu@auf.org> skribis:

> I still need to figure out how to get rid of the "fsck.btrfs not
> found" when the system boots. Maybe it needs to be in the initrd.

(gnu build file-systems) is where “fsck.foo” is invoked, in
‘check-file-system’.

The other place to look at is ‘base-initrd’ in (gnu system
linux-initrd), where the ‘helper-packages’ variable hosts packages to be
added to the initrd.

If you adjust these two things, it should be possible to boot on a Btrfs
file system.

However note that there’s an ext2 superblock parser in (gnu build
file-systems), which is used to find partition labels and so on.  This
won’t work on Btrfs partitions I suppose, so you’ll have to refer to
them by device name rather than by label or UUID.

> Note that I'm also adding it to %base-packages like e2fsprogs.

I think I’d rather avoid it by default.  Users can still add it to their
‘packages’ field.

Now, we could add it in (gnu system install) so people can create Btrfs
partition from the installer.  That should be a separate commit, though.

> From 982302084d16b53b878b36cc29f4e0cefc2df608 Mon Sep 17 00:00:00 2001
> From: Patrick Hetu <patrick.hetu@auf.org>
> Date: Thu, 5 Nov 2015 17:01:42 -0500
> Subject: [PATCH] gnu: Add btrfs-progs.

The MUA ate the patch!  It seems lines were wrapped or something.  Could
you send it again, the gnu/packages part?

Also, it would be great if you could try to write a commit entry in
ChangeLog format; see
<http://www.gnu.org/software/guix/manual/html_node/Submitting-Patches.html>.

Thank you!

Ludo’.

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

end of thread, other threads:[~2015-11-06 21:14 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-11-05 22:12 [PATCH] Add btrfs-progs Patrick Hetu
2015-11-06 21:14 ` Ludovic Courtès

Code repositories for project(s) associated with this external index

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

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.