summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorLudovic Courtès <ludo@gnu.org>2014-08-13 12:19:25 +0200
committerLudovic Courtès <ludo@gnu.org>2014-08-14 00:34:47 +0200
commit66269d47868407926ba6832d7b391857c709a709 (patch)
tree5dbbe397557141bdb5c0d9d8c9872519b07d5b9e /gnu
parent2f7f32003f0714914baf01b9255c4b1ff24c307a (diff)
downloadguix-66269d47868407926ba6832d7b391857c709a709.tar.gz
gnu: lvm2: Upgrade, use udev, improve synopsis and description.
* gnu/packages/linux.scm (lvm2): New variable.
* gnu/packages/lvm.scm: Remove.
* gnu-system.am (GNU_SYSTEM_MODULES): Remove it.
* gnu/packages/cryptsetup.scm: Adjust accordingly.
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/cryptsetup.scm1
-rw-r--r--gnu/packages/linux.scm61
-rw-r--r--gnu/packages/lvm.scm62
3 files changed, 60 insertions, 64 deletions
diff --git a/gnu/packages/cryptsetup.scm b/gnu/packages/cryptsetup.scm
index c362a63b8b..781147cc35 100644
--- a/gnu/packages/cryptsetup.scm
+++ b/gnu/packages/cryptsetup.scm
@@ -24,7 +24,6 @@
   #:use-module (guix build-system gnu)
   #:use-module (gnu packages)
   #:use-module (gnu packages gnupg)
-  #:use-module (gnu packages lvm)
   #:use-module (gnu packages popt)
   #:use-module (gnu packages python)
   #:use-module (gnu packages linux))
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 42e82fb88e..73409cc29d 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -1,6 +1,6 @@
 ;;; GNU Guix --- Functional package management for GNU
 ;;; Copyright © 2012, 2013, 2014 Ludovic Courtès <ludo@gnu.org>
-;;; Copyright © 2014 Andreas Enge <andreas@enge.fr>
+;;; Copyright © 2013, 2014 Andreas Enge <andreas@enge.fr>
 ;;; Copyright © 2012 Nikita Karetnikov <nikita@karetnikov.org>
 ;;; Copyright © 2014 Mark H Weaver <mhw@netris.org>
 ;;;
@@ -1344,6 +1344,65 @@ device nodes from /dev/, handles hotplug events and loads drivers at boot
 time.")
     (license gpl2+))) ; libudev is under lgpl2.1+
 
+(define-public lvm2
+  (package
+    (name "lvm2")
+    (version "2.02.109")
+    (source (origin
+              (method url-fetch)
+              (uri (string-append "ftp://sources.redhat.com/pub/lvm2/releases/LVM2."
+                                  version ".tgz"))
+              (sha256
+               (base32
+                "1rv5ivg0l1w3nwzwdkqixm96h5bzg7ib4rr196ysb2lw42jmpjbv"))
+              (modules '((guix build utils)))
+              (snippet
+               '(begin
+                  (use-modules (guix build utils))
+
+                  ;; Honor sysconfdir.
+                  (substitute* "make.tmpl.in"
+                    (("confdir = .*$")
+                     "confdir = @sysconfdir@\n")
+                    (("DEFAULT_SYS_DIR = @DEFAULT_SYS_DIR@")
+                     "DEFAULT_SYS_DIR = @sysconfdir@"))))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("pkg-config" ,pkg-config)
+       ("procps" ,procps)))                       ;tests use 'pgrep'
+    (inputs
+     `(("udev" ,udev)))
+    (arguments
+     '(#:phases (alist-cons-after
+                 'configure 'set-makefile-shell
+                 (lambda _
+                   ;; Use 'sh', not 'bash', so that '. lib/utils.sh' works as
+                   ;; expected.
+                   (setenv "SHELL" (which "sh"))
+
+                   ;; Replace /bin/sh with the right file name.
+                   (patch-makefile-SHELL "make.tmpl"))
+                 %standard-phases)
+
+       #:configure-flags (list (string-append "--sysconfdir="
+                                              (assoc-ref %outputs "out")
+                                              "/etc/lvm")
+                               "--enable-udev_sync"
+                               "--enable-udev_rules")
+
+       ;; The tests use 'mknod', which requires root access.
+       #:tests? #f))
+    (home-page "http://sourceware.org/lvm2/")
+    (synopsis "Logical volume management for Linux")
+    (description
+     "LVM2 is the logical volume management tool set for Linux-based systems.
+This package includes the user-space libraries and tools, including the device
+mapper.  Kernel components are part of Linux-libre.")
+
+    ;; Libraries (liblvm2, libdevmapper) are LGPLv2.1.
+    ;; Command-line tools are GPLv2.
+    (license (list gpl2 lgpl2.1))))
+
 (define-public wireless-tools
   (package
     (name "wireless-tools")
diff --git a/gnu/packages/lvm.scm b/gnu/packages/lvm.scm
deleted file mode 100644
index 82e93dcc66..0000000000
--- a/gnu/packages/lvm.scm
+++ /dev/null
@@ -1,62 +0,0 @@
-;;; GNU Guix --- Functional package management for GNU
-;;; Copyright © 2013 Andreas Enge <andreas@enge.fr>
-;;;
-;;; 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 lvm)
-  #:use-module ((guix licenses)
-                #:renamer (symbol-prefix-proc 'license:))
-  #:use-module (guix packages)
-  #:use-module (guix download)
-  #:use-module (guix build-system gnu)
-  #:use-module (gnu packages)
-  #:use-module (gnu packages linux)
-  #:use-module (gnu packages pkg-config))
-
-(define-public lvm2
-  (package
-   (name "lvm2")
-   (version "2.02.98")
-   (source (origin
-            (method url-fetch)
-            (uri (string-append "ftp://sources.redhat.com/pub/lvm2/LVM2."
-                                version ".tgz"))
-            (sha256
-             (base32
-              "0r6q6z8ip6q5qgkzng0saljassp4912k6i21ra10vq7pzrc0l0vi"))))
-   (build-system gnu-build-system)
-   (native-inputs
-     `(("pkg-config" ,pkg-config)
-       ("procps" ,procps)))
-   (arguments
-    `(#:tests? #f ; require to be root
-      #:configure-flags
-       `(,(string-append "--with-confdir=" (assoc-ref %outputs "out") "/etc"))
-      #:phases
-       (alist-cons-before
-        'configure 'patch-make-tmpl
-        (lambda _
-          (substitute* "make.tmpl.in"
-            (("/bin/sh") (which "sh"))
-            (("CC \\?=") "CC ="))) ; force CC argument to be set from configure
-         %standard-phases)))
-   (synopsis "logical volume management")
-   (description
-    "LVM2 refers to the userspace toolset that provides logical volume
-management facilities on linux. It is reasonably backwards-compatible with
-the original LVM toolset.")
-   (license license:gpl2)
-   (home-page "http://www.sourceware.org/lvm2/")))