summaryrefslogtreecommitdiff
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
parent2f7f32003f0714914baf01b9255c4b1ff24c307a (diff)
downloadpatches-66269d47868407926ba6832d7b391857c709a709.tar
patches-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.
-rw-r--r--gnu-system.am1
-rw-r--r--gnu/packages/cryptsetup.scm1
-rw-r--r--gnu/packages/linux.scm61
-rw-r--r--gnu/packages/lvm.scm62
4 files changed, 60 insertions, 65 deletions
diff --git a/gnu-system.am b/gnu-system.am
index a1dea392e6..66a1677c7e 100644
--- a/gnu-system.am
+++ b/gnu-system.am
@@ -155,7 +155,6 @@ GNU_SYSTEM_MODULES = \
gnu/packages/lsh.scm \
gnu/packages/lsof.scm \
gnu/packages/lua.scm \
- gnu/packages/lvm.scm \
gnu/packages/lynx.scm \
gnu/packages/m4.scm \
gnu/packages/man.scm \
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/")))