* [bug#31999] [PATCH 3/7] gnu: Add libbytesize.
2018-06-28 21:35 ` [bug#31999] [PATCH 2/7] gnu: Add ndctl Pierre Neidhardt
@ 2018-06-28 21:35 ` Pierre Neidhardt
2018-07-12 20:20 ` Marius Bakke
2018-06-28 21:35 ` [bug#31999] [PATCH 4/7] gnu: lvm2: Add device-mapper-event support Pierre Neidhardt
` (4 subsequent siblings)
5 siblings, 1 reply; 65+ messages in thread
From: Pierre Neidhardt @ 2018-06-28 21:35 UTC (permalink / raw)
To: 31999
* gnu/package/c.scm (libbytesize): New variable.
---
gnu/packages/c.scm | 75 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 75 insertions(+)
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index bc6042874..0398bb04d 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -22,6 +23,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (gnu packages bootstrap)
@@ -30,6 +32,12 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages multiprecision)
+ #:use-module (gnu packages pcre)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages gettext)
+ #:use-module (gnu packages pkg-config)
#:use-module (srfi srfi-1))
(define-public tcc
@@ -166,3 +174,70 @@ compiler while still keeping it small, simple, fast and understandable.")
;; PCC incorporates code under various BSD licenses; for new code bsd-2 is
;; preferred. See http://pcc.ludd.ltu.se/licenses/ for more details.
(license (list license:bsd-2 license:bsd-3))))
+
+(define-public libbytesize
+ (package
+ (name "libbytesize")
+ (version "1.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/storaged-project/libbytesize")
+ (commit version)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1ys5d8rya8x4q34gn1hr96z7797s9gdzah0y0d7g84x5x6k50p30"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("gettext" ,gettext-minimal)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python)
+ ("python2" ,python-2) ; For tests.
+ ("python2-six" ,python2-six) ; For tests.
+ ("python2-polib" ,python2-polib) ; For tests.
+ ))
+ (inputs
+ `(("mpfr" ,mpfr)
+ ("pcre" ,pcre)))
+ (arguments
+ `(#:tests? #f ; One test fails because busctl (systemd only?) and
+ ; python2-pocketlint are missing.
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'autogen
+ (lambda _
+ (invoke ("sh" "autogen.sh")))))))
+ (home-page "https://github.com/storaged-project/libbytesize")
+ (synopsis "Tiny C library for working with arbitrary big sizes in bytes")
+ (description
+ "The goal of this project is to provide a tiny library that would
+facilitate the common operations with sizes in bytes. Many projects need to
+work with sizes in bytes (be it sizes of storage space, memory...) and all of
+them need to deal with the same issues like:
+
+@itemize
+@item How to get a human-readable string for the given size?
+@item How to store the given size so that no significant information is lost?
+@item If we store the size in bytes, what if the given size gets over the
+MAXUINT64 value?
+@item How to interpret sizes entered by users according to their locale and
+typing conventions?
+@item How to deal with the decimal/binary units (MB vs. MiB) ambiguity?
+@end itemize
+
+Some projects have all the above questions/concerns addressed well, some have
+them addressed partially some simply don't care. However, having (partial)
+solutions implemented in multiple places every time with a different set of
+bugs, differences in behaviour and this or that missing is a waste of time and
+effort. We need a generally usable solution that could be used by every
+project that needs to deal with sizes in bytes.
+
+Since the goal is to provide a solution as much generally usable as possible
+the implementation has to be small, fast and written in a language that can be
+easily interfaced from other languages. The current obvious choice is the C
+language with thin bindings for other languages.")
+ (license license:lgpl2.1+)))
--
2.17.1
^ permalink raw reply related [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 3/7] gnu: Add libbytesize.
2018-06-28 21:35 ` [bug#31999] [PATCH 3/7] gnu: Add libbytesize Pierre Neidhardt
@ 2018-07-12 20:20 ` Marius Bakke
2018-07-28 22:07 ` Pierre Neidhardt
0 siblings, 1 reply; 65+ messages in thread
From: Marius Bakke @ 2018-07-12 20:20 UTC (permalink / raw)
To: Pierre Neidhardt, 31999
[-- Attachment #1: Type: text/plain, Size: 1758 bytes --]
Pierre Neidhardt <ambrevar@gmail.com> writes:
> * gnu/package/c.scm (libbytesize): New variable.
[...]
> + (description
> + "The goal of this project is to provide a tiny library that would
> +facilitate the common operations with sizes in bytes. Many projects need to
> +work with sizes in bytes (be it sizes of storage space, memory...) and all of
> +them need to deal with the same issues like:
> +
> +@itemize
> +@item How to get a human-readable string for the given size?
> +@item How to store the given size so that no significant information is lost?
> +@item If we store the size in bytes, what if the given size gets over the
> +MAXUINT64 value?
> +@item How to interpret sizes entered by users according to their locale and
> +typing conventions?
> +@item How to deal with the decimal/binary units (MB vs. MiB) ambiguity?
> +@end itemize
> +
> +Some projects have all the above questions/concerns addressed well, some have
> +them addressed partially some simply don't care. However, having (partial)
> +solutions implemented in multiple places every time with a different set of
> +bugs, differences in behaviour and this or that missing is a waste of time and
> +effort. We need a generally usable solution that could be used by every
> +project that needs to deal with sizes in bytes.
> +
> +Since the goal is to provide a solution as much generally usable as possible
> +the implementation has to be small, fast and written in a language that can be
> +easily interfaced from other languages. The current obvious choice is the C
> +language with thin bindings for other languages.")
Woah. I wonder if we should shorten this a bit (for once!). It's a lot
to digest for the curious user. Can you try to provide a summary? :-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 3/7] gnu: Add libbytesize.
2018-07-12 20:20 ` Marius Bakke
@ 2018-07-28 22:07 ` Pierre Neidhardt
2018-07-29 22:10 ` Marius Bakke
0 siblings, 1 reply; 65+ messages in thread
From: Pierre Neidhardt @ 2018-07-28 22:07 UTC (permalink / raw)
To: 31999
* gnu/package/c.scm (libbytesize): New variable.
---
gnu/packages/c.scm | 67 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 67 insertions(+)
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index bc6042874..65de20cf9 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -22,6 +23,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (gnu packages bootstrap)
@@ -30,6 +32,12 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages multiprecision)
+ #:use-module (gnu packages pcre)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages gettext)
+ #:use-module (gnu packages pkg-config)
#:use-module (srfi srfi-1))
(define-public tcc
@@ -166,3 +174,62 @@ compiler while still keeping it small, simple, fast and understandable.")
;; PCC incorporates code under various BSD licenses; for new code bsd-2 is
;; preferred. See http://pcc.ludd.ltu.se/licenses/ for more details.
(license (list license:bsd-2 license:bsd-3))))
+
+(define-public libbytesize
+ (package
+ (name "libbytesize")
+ (version "1.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/storaged-project/libbytesize")
+ (commit version)))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1ys5d8rya8x4q34gn1hr96z7797s9gdzah0y0d7g84x5x6k50p30"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("gettext" ,gettext-minimal)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python)
+ ("python2" ,python-2) ; For tests.
+ ("python2-six" ,python2-six) ; For tests.
+ ("python2-polib" ,python2-polib) ; For tests.
+ ))
+ (inputs
+ `(("mpfr" ,mpfr)
+ ("pcre" ,pcre)))
+ (arguments
+ `(#:tests? #f ; One test fails because busctl (systemd only?) and
+ ; python2-pocketlint are missing.
+ #:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'autogen
+ (lambda _
+ (invoke "sh" "autogen.sh"))))))
+ (home-page "https://github.com/storaged-project/libbytesize")
+ (synopsis "Tiny C library for working with arbitrary big sizes in bytes")
+ (description
+ "The goal of this project is to provide a tiny library that would
+facilitate the common operations with sizes in bytes. Many projects need to
+work with sizes in bytes (be it sizes of storage space, memory...) and all of
+them need to deal with the same issues like:
+
+@itemize
+@item How to get a human-readable string for the given size?
+@item How to store the given size so that no significant information is lost?
+@item If we store the size in bytes, what if the given size gets over the
+MAXUINT64 value?
+@item How to interpret sizes entered by users according to their locale and
+typing conventions?
+@item How to deal with the decimal/binary units (MB versus MiB) ambiguity?
+@end itemize
+
+@code{libbytesize} offers a generally usable solution that could be used by
+every project that needs to deal with sizes in bytes. It is written in the C
+language with thin bindings for other languages.")
+ (license license:lgpl2.1+)))
--
2.18.0
^ permalink raw reply related [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 3/7] gnu: Add libbytesize.
2018-07-28 22:07 ` Pierre Neidhardt
@ 2018-07-29 22:10 ` Marius Bakke
2018-07-30 9:59 ` Pierre Neidhardt
0 siblings, 1 reply; 65+ messages in thread
From: Marius Bakke @ 2018-07-29 22:10 UTC (permalink / raw)
To: Pierre Neidhardt, 31999
[-- Attachment #1: Type: text/plain, Size: 3307 bytes --]
Pierre Neidhardt <ambrevar@gmail.com> writes:
> * gnu/package/c.scm (libbytesize): New variable.
[...]
> +(define-public libbytesize
> + (package
> + (name "libbytesize")
> + (version "1.3")
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/storaged-project/libbytesize")
> + (commit version)))
> + (file-name (string-append name "-" version "-checkout"))
> + (sha256
> + (base32
> + "1ys5d8rya8x4q34gn1hr96z7797s9gdzah0y0d7g84x5x6k50p30"))))
This project has a release tarball (which are distinct from
autogenerated tarballs and won't suddenly change):
https://github.com/storaged-project/libbytesize/releases
Can you change to use that instead?
> + (build-system gnu-build-system)
> + (native-inputs
> + `(("autoconf" ,autoconf)
> + ("automake" ,automake)
> + ("libtool" ,libtool)
> + ("gettext" ,gettext-minimal)
> + ("pkg-config" ,pkg-config)
> + ("python" ,python)
> + ("python2" ,python-2) ; For tests.
> + ("python2-six" ,python2-six) ; For tests.
> + ("python2-polib" ,python2-polib) ; For tests.
> + ))
Please move these parenthesis up to please 'guix lint'.
> + (inputs
> + `(("mpfr" ,mpfr)
> + ("pcre" ,pcre)))
> + (arguments
> + `(#:tests? #f ; One test fails because busctl (systemd only?) and
> + ; python2-pocketlint are missing.
Nit-pick: margin comments are typically not capitalized and has no
spacing between the ; and the text.
> + #:phases
> + (modify-phases %standard-phases
> + (add-after 'unpack 'autogen
> + (lambda _
> + (invoke "sh" "autogen.sh"))))))
Note that since the previous 'core-updates' merge, the equivalent of
this should now be invoked automatically if needed. Can you try
removing it? If that doesn't work, use (replace 'bootstrap ...) here
for clarity.
The rest LGTM.
> + (home-page "https://github.com/storaged-project/libbytesize")
> + (synopsis "Tiny C library for working with arbitrary big sizes in bytes")
> + (description
> + "The goal of this project is to provide a tiny library that would
> +facilitate the common operations with sizes in bytes. Many projects need to
> +work with sizes in bytes (be it sizes of storage space, memory...) and all of
> +them need to deal with the same issues like:
> +
> +@itemize
> +@item How to get a human-readable string for the given size?
> +@item How to store the given size so that no significant information is lost?
> +@item If we store the size in bytes, what if the given size gets over the
> +MAXUINT64 value?
> +@item How to interpret sizes entered by users according to their locale and
> +typing conventions?
> +@item How to deal with the decimal/binary units (MB versus MiB) ambiguity?
> +@end itemize
> +
> +@code{libbytesize} offers a generally usable solution that could be used by
> +every project that needs to deal with sizes in bytes. It is written in the C
> +language with thin bindings for other languages.")
> + (license license:lgpl2.1+)))
> --
> 2.18.0
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 3/7] gnu: Add libbytesize.
2018-07-29 22:10 ` Marius Bakke
@ 2018-07-30 9:59 ` Pierre Neidhardt
2018-07-30 13:36 ` Pierre Neidhardt
0 siblings, 1 reply; 65+ messages in thread
From: Pierre Neidhardt @ 2018-07-30 9:59 UTC (permalink / raw)
To: Marius Bakke; +Cc: 31999
[-- Attachment #1: Type: text/plain, Size: 431 bytes --]
Marius Bakke <mbakke@fastmail.com> writes:
>> + ("python2-polib" ,python2-polib) ; For tests.
>> + ))
>
> Please move these parenthesis up to please 'guix lint'.
Actually, because there is a comment on the previous line, guix lint
does not complain and in fact it's accepted but the style guide of Guix.
See "(guix) Formatting Code" which refers to
http://mumble.net/~campbell/scheme/style.txt.
--
Pierre Neidhardt
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 3/7] gnu: Add libbytesize.
2018-07-30 9:59 ` Pierre Neidhardt
@ 2018-07-30 13:36 ` Pierre Neidhardt
2018-07-30 18:42 ` Marius Bakke
0 siblings, 1 reply; 65+ messages in thread
From: Pierre Neidhardt @ 2018-07-30 13:36 UTC (permalink / raw)
To: 31999
* gnu/package/c.scm (libbytesize): New variable.
---
gnu/packages/c.scm | 59 ++++++++++++++++++++++++++++++++++++++++++++++
1 file changed, 59 insertions(+)
diff --git a/gnu/packages/c.scm b/gnu/packages/c.scm
index bc6042874..dd91f8b9b 100644
--- a/gnu/packages/c.scm
+++ b/gnu/packages/c.scm
@@ -2,6 +2,7 @@
;;; Copyright © 2016, 2018 Ludovic Courtès <ludo@gnu.org>
;;; Copyright © 2016, 2017 Ricardo Wurmus <rekado@elephly.net>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -22,6 +23,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (gnu packages bootstrap)
@@ -30,6 +32,12 @@
#:use-module (gnu packages perl)
#:use-module (gnu packages texinfo)
#:use-module (gnu packages guile)
+ #:use-module (gnu packages multiprecision)
+ #:use-module (gnu packages pcre)
+ #:use-module (gnu packages python)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages gettext)
+ #:use-module (gnu packages pkg-config)
#:use-module (srfi srfi-1))
(define-public tcc
@@ -166,3 +174,54 @@ compiler while still keeping it small, simple, fast and understandable.")
;; PCC incorporates code under various BSD licenses; for new code bsd-2 is
;; preferred. See http://pcc.ludd.ltu.se/licenses/ for more details.
(license (list license:bsd-2 license:bsd-3))))
+
+(define-public libbytesize
+ (package
+ (name "libbytesize")
+ (version "1.3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append
+ "https://github.com/storaged-project/libbytesize/archive/"
+ version ".tar.gz"))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0pfm1d0cpm3l0f17n567fhfh9dxjn9y59pgjajgsagp0nc0lmf2x"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("gettext" ,gettext-minimal)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python)))
+ (inputs
+ `(("mpfr" ,mpfr)
+ ("pcre" ,pcre)))
+ ;; One test fails because busctl (systemd only?) and python2-pocketlint
+ ;; are missing. Should we fix it, we would need the "python-2" ,
+ ;; "python2-polib" and "python2-six" native-inputs.
+ (arguments `(#:tests? #f))
+ (home-page "https://github.com/storaged-project/libbytesize")
+ (synopsis "Tiny C library for working with arbitrary big sizes in bytes")
+ (description
+ "The goal of this project is to provide a tiny library that would
+facilitate the common operations with sizes in bytes. Many projects need to
+work with sizes in bytes (be it sizes of storage space, memory...) and all of
+them need to deal with the same issues like:
+
+@itemize
+@item How to get a human-readable string for the given size?
+@item How to store the given size so that no significant information is lost?
+@item If we store the size in bytes, what if the given size gets over the
+MAXUINT64 value?
+@item How to interpret sizes entered by users according to their locale and
+typing conventions?
+@item How to deal with the decimal/binary units (MB versus MiB) ambiguity?
+@end itemize
+
+@code{libbytesize} offers a generally usable solution that could be used by
+every project that needs to deal with sizes in bytes. It is written in the C
+language with thin bindings for other languages.")
+ (license license:lgpl2.1+)))
--
2.18.0
^ permalink raw reply related [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 3/7] gnu: Add libbytesize.
2018-07-30 13:36 ` Pierre Neidhardt
@ 2018-07-30 18:42 ` Marius Bakke
0 siblings, 0 replies; 65+ messages in thread
From: Marius Bakke @ 2018-07-30 18:42 UTC (permalink / raw)
To: Pierre Neidhardt, 31999
[-- Attachment #1: Type: text/plain, Size: 2679 bytes --]
Pierre Neidhardt <ambrevar@gmail.com> writes:
> * gnu/package/c.scm (libbytesize): New variable.
[...]
> +(define-public libbytesize
> + (package
> + (name "libbytesize")
> + (version "1.3")
> + (source (origin
> + (method url-fetch)
> + (uri (string-append
> + "https://github.com/storaged-project/libbytesize/archive/"
> + version ".tar.gz"))
> + (file-name (string-append name "-" version "-checkout"))
> + (sha256
> + (base32
> + "0pfm1d0cpm3l0f17n567fhfh9dxjn9y59pgjajgsagp0nc0lmf2x"))))
Please use the release tarball instead of a git checkout:
https://github.com/storaged-project/libbytesize/releases/download/1.3/libbytesize-1.3.tar.gz
> + (build-system gnu-build-system)
> + (native-inputs
> + `(("autoconf" ,autoconf)
> + ("automake" ,automake)
> + ("libtool" ,libtool)
> + ("gettext" ,gettext-minimal)
...then you can (probably) remove these inputs as well.
Apart from that LGTM!
> + ("pkg-config" ,pkg-config)
> + ("python" ,python)))
> + (inputs
> + `(("mpfr" ,mpfr)
> + ("pcre" ,pcre)))
> + ;; One test fails because busctl (systemd only?) and python2-pocketlint
> + ;; are missing. Should we fix it, we would need the "python-2" ,
> + ;; "python2-polib" and "python2-six" native-inputs.
> + (arguments `(#:tests? #f))
> + (home-page "https://github.com/storaged-project/libbytesize")
> + (synopsis "Tiny C library for working with arbitrary big sizes in bytes")
> + (description
> + "The goal of this project is to provide a tiny library that would
> +facilitate the common operations with sizes in bytes. Many projects need to
> +work with sizes in bytes (be it sizes of storage space, memory...) and all of
> +them need to deal with the same issues like:
> +
> +@itemize
> +@item How to get a human-readable string for the given size?
> +@item How to store the given size so that no significant information is lost?
> +@item If we store the size in bytes, what if the given size gets over the
> +MAXUINT64 value?
> +@item How to interpret sizes entered by users according to their locale and
> +typing conventions?
> +@item How to deal with the decimal/binary units (MB versus MiB) ambiguity?
> +@end itemize
> +
> +@code{libbytesize} offers a generally usable solution that could be used by
> +every project that needs to deal with sizes in bytes. It is written in the C
> +language with thin bindings for other languages.")
> + (license license:lgpl2.1+)))
> --
> 2.18.0
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 4/7] gnu: lvm2: Add device-mapper-event support.
2018-06-28 21:35 ` [bug#31999] [PATCH 2/7] gnu: Add ndctl Pierre Neidhardt
2018-06-28 21:35 ` [bug#31999] [PATCH 3/7] gnu: Add libbytesize Pierre Neidhardt
@ 2018-06-28 21:35 ` Pierre Neidhardt
2018-07-12 21:26 ` Marius Bakke
2018-06-28 21:35 ` [bug#31999] [PATCH 5/7] gnu: Add dmraid Pierre Neidhardt
` (3 subsequent siblings)
5 siblings, 1 reply; 65+ messages in thread
From: Pierre Neidhardt @ 2018-06-28 21:35 UTC (permalink / raw)
To: 31999
* GNU/packages/linux.scm (lvm2)[configure-flags]: Build device-mapper-event.
---
gnu/packages/linux.scm | 2 ++
1 file changed, 2 insertions(+)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 50f90e165..a3c7276d6 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -2138,6 +2138,8 @@ time.")
"--enable-udev_sync"
"--enable-udev_rules"
"--enable-pkgconfig"
+ "--enable-cmdlib"
+ "--enable-dmeventd" ; Requires '--enable-cmdlib'.
;; Make sure programs such as 'dmsetup' can
;; find libdevmapper.so.
--
2.17.1
^ permalink raw reply related [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 4/7] gnu: lvm2: Add device-mapper-event support.
2018-06-28 21:35 ` [bug#31999] [PATCH 4/7] gnu: lvm2: Add device-mapper-event support Pierre Neidhardt
@ 2018-07-12 21:26 ` Marius Bakke
2018-07-28 22:09 ` Pierre Neidhardt
0 siblings, 1 reply; 65+ messages in thread
From: Marius Bakke @ 2018-07-12 21:26 UTC (permalink / raw)
To: Pierre Neidhardt, 31999
[-- Attachment #1.1: Type: text/plain, Size: 348 bytes --]
Pierre Neidhardt <ambrevar@gmail.com> writes:
> * GNU/packages/linux.scm (lvm2)[configure-flags]: Build device-mapper-event.
[...]
> + "--enable-cmdlib"
> + "--enable-dmeventd" ; Requires '--enable-cmdlib'.
I was able to get this working by modifying LDFLAGS *and* CLDFLAGS like
so:
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: Type: text/x-patch, Size: 1383 bytes --]
1 file changed, 12 insertions(+), 1 deletion(-)
gnu/packages/linux.scm | 13 ++++++++++++-
modified gnu/packages/linux.scm
@@ -2133,11 +2133,22 @@ time.")
"--enable-udev_rules"
"--enable-pkgconfig"
+ "--enable-cmdlib"
+ "--enable-dmeventd"
+
;; Make sure programs such as 'dmsetup' can
;; find libdevmapper.so.
(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out")
- "/lib"))
+ "/lib,-rpath="
+ (assoc-ref %outputs "out")
+ "/lib/device-mapper")
+ (string-append "CLDFLAGS=-Wl,-rpath="
+ (assoc-ref %outputs "out")
+ "/lib,-rpath="
+ (assoc-ref %outputs "out")
+ "/lib/device-mapper")
+ )
;; The tests use 'mknod', which requires root access.
#:tests? #f))
[back]
[-- Attachment #1.3: Type: text/plain, Size: 338 bytes --]
The reason CLDFLAGS is required is because the dmeventd plugins do not
respect LDFLAGS. See "%.so" (around line 449) in make.tmpl.in.
I think it would be okay to patch the Make template to also take LDFLAGS
into account. Not sure what CLDFLAGS is used for, but it seems
redundant to have the same contents in both. Can you try that?
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 4/7] gnu: lvm2: Add device-mapper-event support.
2018-07-12 21:26 ` Marius Bakke
@ 2018-07-28 22:09 ` Pierre Neidhardt
2018-07-29 22:33 ` Marius Bakke
0 siblings, 1 reply; 65+ messages in thread
From: Pierre Neidhardt @ 2018-07-28 22:09 UTC (permalink / raw)
To: 31999
* GNU/packages/linux.scm (lvm2)[configure-flags]: Build device-mapper-event.
---
gnu/packages/linux.scm | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 70615df93..e27c9b475 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -2127,12 +2127,24 @@ time.")
"--enable-udev_sync"
"--enable-udev_rules"
"--enable-pkgconfig"
+ "--enable-cmdlib"
+ "--enable-dmeventd" ; Requires '--enable-cmdlib'.
;; Make sure programs such as 'dmsetup' can
;; find libdevmapper.so.
(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out")
- "/lib"))
+ "/lib,-rpath="
+ (assoc-ref %outputs "out")
+ "/lib/device-mapper")
+ ;; TODO: Patch make.tmpl.in to take LDFLAGS
+ ;; into account so that we don't need to also
+ ;; set CLDFLAGS.
+ (string-append "CLDFLAGS=-Wl,-rpath="
+ (assoc-ref %outputs "out")
+ "/lib,-rpath="
+ (assoc-ref %outputs "out")
+ "/lib/device-mapper"))
;; The tests use 'mknod', which requires root access.
#:tests? #f))
--
2.18.0
^ permalink raw reply related [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 4/7] gnu: lvm2: Add device-mapper-event support.
2018-07-28 22:09 ` Pierre Neidhardt
@ 2018-07-29 22:33 ` Marius Bakke
2018-07-30 10:10 ` Pierre Neidhardt
2018-07-30 10:12 ` Pierre Neidhardt
0 siblings, 2 replies; 65+ messages in thread
From: Marius Bakke @ 2018-07-29 22:33 UTC (permalink / raw)
To: Pierre Neidhardt, 31999
[-- Attachment #1: Type: text/plain, Size: 2016 bytes --]
Pierre Neidhardt <ambrevar@gmail.com> writes:
> * GNU/packages/linux.scm (lvm2)[configure-flags]: Build device-mapper-event.
This changes more than just configure-flags, can you update the commit
message accordingly?
[...]
> diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
> index 70615df93..e27c9b475 100644
> --- a/gnu/packages/linux.scm
> +++ b/gnu/packages/linux.scm
> @@ -2127,12 +2127,24 @@ time.")
> "--enable-udev_sync"
> "--enable-udev_rules"
> "--enable-pkgconfig"
> + "--enable-cmdlib"
> + "--enable-dmeventd" ; Requires '--enable-cmdlib'.
>
> ;; Make sure programs such as 'dmsetup' can
> ;; find libdevmapper.so.
> (string-append "LDFLAGS=-Wl,-rpath="
> (assoc-ref %outputs "out")
> - "/lib"))
> + "/lib,-rpath="
> + (assoc-ref %outputs "out")
> + "/lib/device-mapper")
> + ;; TODO: Patch make.tmpl.in to take LDFLAGS
> + ;; into account so that we don't need to also
> + ;; set CLDFLAGS.
> + (string-append "CLDFLAGS=-Wl,-rpath="
> + (assoc-ref %outputs "out")
> + "/lib,-rpath="
> + (assoc-ref %outputs "out")
> + "/lib/device-mapper"))
Did you try patching the Make template?
I suppose this is okay, though I'm curious about the LDFLAGS/CLDFLAGS
distinction.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 4/7] gnu: lvm2: Add device-mapper-event support.
2018-07-29 22:33 ` Marius Bakke
@ 2018-07-30 10:10 ` Pierre Neidhardt
2018-07-30 10:12 ` Pierre Neidhardt
1 sibling, 0 replies; 65+ messages in thread
From: Pierre Neidhardt @ 2018-07-30 10:10 UTC (permalink / raw)
To: Marius Bakke; +Cc: 31999
[-- Attachment #1: Type: text/plain, Size: 926 bytes --]
Marius Bakke <mbakke@fastmail.com> writes:
>> + ;; TODO: Patch make.tmpl.in to take LDFLAGS
>> + ;; into account so that we don't need to also
>> + ;; set CLDFLAGS.
>> + (string-append "CLDFLAGS=-Wl,-rpath="
>> + (assoc-ref %outputs "out")
>> + "/lib,-rpath="
>> + (assoc-ref %outputs "out")
>> + "/lib/device-mapper"))
>
> Did you try patching the Make template?
>
> I suppose this is okay, though I'm curious about the LDFLAGS/CLDFLAGS
> distinction.
I did not but this is low priority on my TODO list so I'd rather leave a
TODO comment if someone wants to pick this up later.
--
Pierre Neidhardt
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 4/7] gnu: lvm2: Add device-mapper-event support.
2018-07-29 22:33 ` Marius Bakke
2018-07-30 10:10 ` Pierre Neidhardt
@ 2018-07-30 10:12 ` Pierre Neidhardt
2018-07-30 12:50 ` Marius Bakke
1 sibling, 1 reply; 65+ messages in thread
From: Pierre Neidhardt @ 2018-07-30 10:12 UTC (permalink / raw)
To: Marius Bakke; +Cc: 31999
[-- Attachment #1: Type: text/plain, Size: 379 bytes --]
Marius Bakke <mbakke@fastmail.com> writes:
> Pierre Neidhardt <ambrevar@gmail.com> writes:
>
>> * GNU/packages/linux.scm (lvm2)[configure-flags]: Build device-mapper-event.
>
> This changes more than just configure-flags, can you update the commit
> message accordingly?
Err... What else does it change? Could be missing the obvious... :p
--
Pierre Neidhardt
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 4/7] gnu: lvm2: Add device-mapper-event support.
2018-07-30 10:12 ` Pierre Neidhardt
@ 2018-07-30 12:50 ` Marius Bakke
2018-07-30 13:36 ` Pierre Neidhardt
0 siblings, 1 reply; 65+ messages in thread
From: Marius Bakke @ 2018-07-30 12:50 UTC (permalink / raw)
To: Pierre Neidhardt; +Cc: 31999
[-- Attachment #1: Type: text/plain, Size: 501 bytes --]
Pierre Neidhardt <ambrevar@gmail.com> writes:
> Marius Bakke <mbakke@fastmail.com> writes:
>
>> Pierre Neidhardt <ambrevar@gmail.com> writes:
>>
>>> * GNU/packages/linux.scm (lvm2)[configure-flags]: Build device-mapper-event.
>>
>> This changes more than just configure-flags, can you update the commit
>> message accordingly?
>
> Err... What else does it change? Could be missing the obvious... :p
Derp. Never mind! I though the LDFLAGS stuff was elsewhere, but
apparently I'm seeing things :-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 4/7] gnu: lvm2: Add device-mapper-event support.
2018-07-30 12:50 ` Marius Bakke
@ 2018-07-30 13:36 ` Pierre Neidhardt
2018-07-30 18:43 ` Marius Bakke
0 siblings, 1 reply; 65+ messages in thread
From: Pierre Neidhardt @ 2018-07-30 13:36 UTC (permalink / raw)
To: 31999
* GNU/packages/linux.scm (lvm2)[configure-flags]: Build device-mapper-event.
---
gnu/packages/linux.scm | 14 +++++++++++++-
1 file changed, 13 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/linux.scm b/gnu/packages/linux.scm
index 70615df93..e27c9b475 100644
--- a/gnu/packages/linux.scm
+++ b/gnu/packages/linux.scm
@@ -2127,12 +2127,24 @@ time.")
"--enable-udev_sync"
"--enable-udev_rules"
"--enable-pkgconfig"
+ "--enable-cmdlib"
+ "--enable-dmeventd" ; Requires '--enable-cmdlib'.
;; Make sure programs such as 'dmsetup' can
;; find libdevmapper.so.
(string-append "LDFLAGS=-Wl,-rpath="
(assoc-ref %outputs "out")
- "/lib"))
+ "/lib,-rpath="
+ (assoc-ref %outputs "out")
+ "/lib/device-mapper")
+ ;; TODO: Patch make.tmpl.in to take LDFLAGS
+ ;; into account so that we don't need to also
+ ;; set CLDFLAGS.
+ (string-append "CLDFLAGS=-Wl,-rpath="
+ (assoc-ref %outputs "out")
+ "/lib,-rpath="
+ (assoc-ref %outputs "out")
+ "/lib/device-mapper"))
;; The tests use 'mknod', which requires root access.
#:tests? #f))
--
2.18.0
^ permalink raw reply related [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 5/7] gnu: Add dmraid.
2018-06-28 21:35 ` [bug#31999] [PATCH 2/7] gnu: Add ndctl Pierre Neidhardt
2018-06-28 21:35 ` [bug#31999] [PATCH 3/7] gnu: Add libbytesize Pierre Neidhardt
2018-06-28 21:35 ` [bug#31999] [PATCH 4/7] gnu: lvm2: Add device-mapper-event support Pierre Neidhardt
@ 2018-06-28 21:35 ` Pierre Neidhardt
2018-07-12 21:28 ` Marius Bakke
2018-06-28 21:35 ` [bug#31999] [PATCH 6/7] gnu: Add libblockdev Pierre Neidhardt
` (2 subsequent siblings)
5 siblings, 1 reply; 65+ messages in thread
From: Pierre Neidhardt @ 2018-06-28 21:35 UTC (permalink / raw)
To: 31999
* gnu/package/disk.scm (dmraid): New variable.
---
gnu/packages/disk.scm | 29 +++++++++++++++++++++++++++++
1 file changed, 29 insertions(+)
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 8d0739a45..bb1faae8a 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -650,3 +650,32 @@ them separately from volumes to handle forgotten passphrases.")
"Utility library for managing the libnvdimm (non-volatile memory device)
sub-system in the Linux kernel.")
(license license:lgpl2.1+)))
+
+(define-public dmraid
+ (package
+ (name "dmraid")
+ (version "1.0.0.rc16-3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://people.redhat.com/~heinzm/sw/dmraid/src/dmraid-"
+ version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "1n7vsqvh7y6yvil682q129d21yhb0cmvd5fvsbkza7ypd78inhlk"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("lvm2" ,lvm2)))
+ (arguments
+ `(#:phases (modify-phases %standard-phases
+ (add-before 'configure 'change-directory
+ (lambda _ (chdir (string-append ,version "/dmraid")) #t)))))
+ (home-page "http://people.redhat.com/~heinzm/sw/dmraid/")
+ (synopsis "Device mapper RAID interface")
+ (description
+ "This software supports RAID device discovery, RAID set activation, creation,
+removal, rebuild and display of properties for ATARAID/DDF1 metadata.
+
+@command{dmraid} uses @file{libdevmapper} and the device-mapper kernel runtime
+to create devices with respective mappings for the ATARAID sets discovered.")
+ (license license:gpl2+)))
--
2.17.1
^ permalink raw reply related [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 5/7] gnu: Add dmraid.
2018-06-28 21:35 ` [bug#31999] [PATCH 5/7] gnu: Add dmraid Pierre Neidhardt
@ 2018-07-12 21:28 ` Marius Bakke
2018-07-28 15:32 ` Pierre Neidhardt
0 siblings, 1 reply; 65+ messages in thread
From: Marius Bakke @ 2018-07-12 21:28 UTC (permalink / raw)
To: Pierre Neidhardt, 31999
[-- Attachment #1: Type: text/plain, Size: 138 bytes --]
Pierre Neidhardt <ambrevar@gmail.com> writes:
> * gnu/package/disk.scm (dmraid): New variable.
This is built-in to LVM2 these days, no?
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 5/7] gnu: Add dmraid.
2018-07-12 21:28 ` Marius Bakke
@ 2018-07-28 15:32 ` Pierre Neidhardt
2018-07-28 22:10 ` Pierre Neidhardt
0 siblings, 1 reply; 65+ messages in thread
From: Pierre Neidhardt @ 2018-07-28 15:32 UTC (permalink / raw)
To: Marius Bakke; +Cc: 31999
[-- Attachment #1: Type: text/plain, Size: 346 bytes --]
Marius Bakke <mbakke@fastmail.com> writes:
> Pierre Neidhardt <ambrevar@gmail.com> writes:
>
>> * gnu/package/disk.scm (dmraid): New variable.
>
> This is built-in to LVM2 these days, no?
Not unless I'm mistaken.
Arch Linux has separate packages for them.
The Guix declaration of lvm2 does not seem to relate to dmraid.
--
Pierre Neidhardt
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 5/7] gnu: Add dmraid.
2018-07-28 15:32 ` Pierre Neidhardt
@ 2018-07-28 22:10 ` Pierre Neidhardt
2018-07-29 22:42 ` Marius Bakke
0 siblings, 1 reply; 65+ messages in thread
From: Pierre Neidhardt @ 2018-07-28 22:10 UTC (permalink / raw)
To: 31999
* gnu/package/disk.scm (dmraid): New variable.
---
gnu/packages/disk.scm | 40 ++++++++++++++++++++++++++++++++++++++++
1 file changed, 40 insertions(+)
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 354313441..f26772ed2 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -652,3 +652,43 @@ passphrases.")
"Utility library for managing the libnvdimm (non-volatile memory device)
sub-system in the Linux kernel.")
(license (list license:lgpl2.1 license:gpl2))))
+
+(define-public dmraid
+ (package
+ (name "dmraid")
+ (version "1.0.0.rc16-3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "http://people.redhat.com/~heinzm/sw/dmraid/src/dmraid-"
+ version
+ ".tar.bz2"))
+ (sha256
+ (base32
+ "1n7vsqvh7y6yvil682q129d21yhb0cmvd5fvsbkza7ypd78inhlk"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("lvm2" ,lvm2)
+ ("which" ,which)))
+ (arguments
+ `(#:tests? #f ; No tests.
+ #:phases (modify-phases %standard-phases
+ (add-before 'configure 'change-directory
+ (lambda _
+ (chdir (string-append ,version "/dmraid"))
+ (substitute* "make.tmpl.in"
+ (("/bin/sh") (which "sh")))
+ #t)))
+ #:configure-flags (list ;; Make sure programs such as 'dmevent_tool' can
+ ;; find libdmraid.so.
+ (string-append "LDFLAGS=-Wl,-rpath="
+ (assoc-ref %outputs "out")
+ "/lib"))))
+ (home-page "http://people.redhat.com/~heinzm/sw/dmraid/")
+ (synopsis "Device mapper RAID interface")
+ (description
+ "This software supports RAID device discovery, RAID set activation, creation,
+removal, rebuild and display of properties for ATARAID/DDF1 metadata.
+
+@command{dmraid} uses @file{libdevmapper} and the device-mapper kernel runtime
+to create devices with respective mappings for the ATARAID sets discovered.")
+ (license license:gpl2+)))
--
2.18.0
^ permalink raw reply related [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 5/7] gnu: Add dmraid.
2018-07-28 22:10 ` Pierre Neidhardt
@ 2018-07-29 22:42 ` Marius Bakke
2018-07-30 10:23 ` Pierre Neidhardt
0 siblings, 1 reply; 65+ messages in thread
From: Marius Bakke @ 2018-07-29 22:42 UTC (permalink / raw)
To: Pierre Neidhardt, 31999
[-- Attachment #1: Type: text/plain, Size: 2613 bytes --]
Pierre Neidhardt <ambrevar@gmail.com> writes:
> * gnu/package/disk.scm (dmraid): New variable.
[...]
> +(define-public dmraid
> + (package
> + (name "dmraid")
> + (version "1.0.0.rc16-3")
> + (source (origin
> + (method url-fetch)
> + (uri (string-append "http://people.redhat.com/~heinzm/sw/dmraid/src/dmraid-"
> + version
> + ".tar.bz2"))
*HTTPS. Also you can save a line here :-)
> + (sha256
> + (base32
> + "1n7vsqvh7y6yvil682q129d21yhb0cmvd5fvsbkza7ypd78inhlk"))))
14 years since the last release and still going strong!
> + (build-system gnu-build-system)
> + (native-inputs
> + `(("lvm2" ,lvm2)
> + ("which" ,which)))
Is LVM2 really a native input?
> + (arguments
> + `(#:tests? #f ; No tests.
> + #:phases (modify-phases %standard-phases
> + (add-before 'configure 'change-directory
> + (lambda _
> + (chdir (string-append ,version "/dmraid"))
> + (substitute* "make.tmpl.in"
> + (("/bin/sh") (which "sh")))
> + #t)))
Nit-pick: I prefer having the chdir just after unpack. It's a huge
benefit on tarballs with lots of unrelated directories, so that the
various patching phases don't have to traverse everything.
I doubt it makes a difference in this case, though :P
> + #:configure-flags (list ;; Make sure programs such as 'dmevent_tool' can
> + ;; find libdmraid.so.
> + (string-append "LDFLAGS=-Wl,-rpath="
> + (assoc-ref %outputs "out")
> + "/lib"))))
> + (home-page "http://people.redhat.com/~heinzm/sw/dmraid/")
*HTTPS
> + (synopsis "Device mapper RAID interface")
> + (description
> + "This software supports RAID device discovery, RAID set activation, creation,
> +removal, rebuild and display of properties for ATARAID/DDF1 metadata.
> +
> +@command{dmraid} uses @file{libdevmapper} and the device-mapper kernel runtime
> +to create devices with respective mappings for the ATARAID sets discovered.")
> + (license license:gpl2+)))
OK! I realized this is the "fake RAID" driver, apparently it's called
ATARAID. It would be good to mention this is for specialized hardware,
and LVM itself can do "normal" RAID, but if you can't think of a good
way to squeeze it in don't sweat about it :-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 5/7] gnu: Add dmraid.
2018-07-29 22:42 ` Marius Bakke
@ 2018-07-30 10:23 ` Pierre Neidhardt
2018-07-30 13:37 ` Pierre Neidhardt
0 siblings, 1 reply; 65+ messages in thread
From: Pierre Neidhardt @ 2018-07-30 10:23 UTC (permalink / raw)
To: Marius Bakke; +Cc: 31999
[-- Attachment #1: Type: text/plain, Size: 439 bytes --]
Marius Bakke <mbakke@fastmail.com> writes:
> OK! I realized this is the "fake RAID" driver, apparently it's called
> ATARAID. It would be good to mention this is for specialized hardware,
> and LVM itself can do "normal" RAID, but if you can't think of a good
> way to squeeze it in don't sweat about it :-)
I don't know anything about it, so I'll leave it to someone with more
knowledge on RAID :)
--
Pierre Neidhardt
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 5/7] gnu: Add dmraid.
2018-07-30 10:23 ` Pierre Neidhardt
@ 2018-07-30 13:37 ` Pierre Neidhardt
2018-07-30 18:44 ` Marius Bakke
0 siblings, 1 reply; 65+ messages in thread
From: Pierre Neidhardt @ 2018-07-30 13:37 UTC (permalink / raw)
To: 31999
* gnu/package/disk.scm (dmraid): New variable.
---
gnu/packages/disk.scm | 38 ++++++++++++++++++++++++++++++++++++++
1 file changed, 38 insertions(+)
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index e5d72bd1f..222469f88 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -653,3 +653,41 @@ libnvdimm (non-volatile memory device) sub-system in the Linux kernel.")
;; the effective license. Note that some files under ccan/ are
;; covered by BSD-3 or public domain, see the individual folders.
(license license:gpl2)))
+
+(define-public dmraid
+ (package
+ (name "dmraid")
+ (version "1.0.0.rc16-3")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://people.redhat.com/~heinzm/sw/dmraid/src/dmraid-"
+ version ".tar.bz2"))
+ (sha256
+ (base32
+ "1n7vsqvh7y6yvil682q129d21yhb0cmvd5fvsbkza7ypd78inhlk"))))
+ (build-system gnu-build-system)
+ (inputs `(("lvm2" ,lvm2)))
+ (native-inputs `(("which" ,which)))
+ (arguments
+ `(#:tests? #f ; No tests.
+ #:phases (modify-phases %standard-phases
+ (add-before 'configure 'change-directory
+ (lambda _
+ (chdir (string-append ,version "/dmraid"))
+ (substitute* "make.tmpl.in"
+ (("/bin/sh") (which "sh")))
+ #t)))
+ #:configure-flags (list ;; Make sure programs such as 'dmevent_tool' can
+ ;; find libdmraid.so.
+ (string-append "LDFLAGS=-Wl,-rpath="
+ (assoc-ref %outputs "out")
+ "/lib"))))
+ (home-page "https://people.redhat.com/~heinzm/sw/dmraid/")
+ (synopsis "Device mapper RAID interface")
+ (description
+ "This software supports RAID device discovery, RAID set activation, creation,
+removal, rebuild and display of properties for ATARAID/DDF1 metadata.
+
+@command{dmraid} uses @file{libdevmapper} and the device-mapper kernel runtime
+to create devices with respective mappings for the ATARAID sets discovered.")
+ (license license:gpl2+)))
--
2.18.0
^ permalink raw reply related [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 5/7] gnu: Add dmraid.
2018-07-30 13:37 ` Pierre Neidhardt
@ 2018-07-30 18:44 ` Marius Bakke
2018-08-01 3:21 ` [bug#31999] [PATCH 5/7] gnu: Add dmraid. --- Failed to build from master Brendan Tildesley
0 siblings, 1 reply; 65+ messages in thread
From: Marius Bakke @ 2018-07-30 18:44 UTC (permalink / raw)
To: Pierre Neidhardt, 31999
[-- Attachment #1: Type: text/plain, Size: 103 bytes --]
Pierre Neidhardt <ambrevar@gmail.com> writes:
> * gnu/package/disk.scm (dmraid): New variable.
LGTM.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 5/7] gnu: Add dmraid. --- Failed to build from master
2018-07-30 18:44 ` Marius Bakke
@ 2018-08-01 3:21 ` Brendan Tildesley
2018-08-01 11:37 ` Marius Bakke
0 siblings, 1 reply; 65+ messages in thread
From: Brendan Tildesley @ 2018-08-01 3:21 UTC (permalink / raw)
To: 31999
On 07/31/18 04:44, Marius Bakke wrote:
> Pierre Neidhardt <ambrevar@gmail.com> writes:
>
>> * gnu/package/disk.scm (dmraid): New variable.
> LGTM.
dmraid failed to build for me when I reconfigured. This change has
broken my ability to reconfigure as dmraid has crept in to my OS config
via udisks, even though I don't know anything about it and don't seem to
need it at all.
If guix pull was using a model with a delayed 'stable' branch as has
been discussed, this would mean I'd have caught this bug before any
regular user saw it. Currently, patches sit on the mailing list until
maybe one maintainer tests them and pushes them (I presume), so bugs get
immediately propagated to all users. If master was not immediately
pushed to all users, it would mean that all of us developers could
voluntarily choose to guix pull with master and thus become 'beta
testers' for all new patches that passed the initial screening by the
maintainer with git access. All nonurgent patches would have to run the
bug-catching gauntlet of master before it made it to stable. Currently,
I don't do any testing at all of other peoples patches on the list
simply because it would take effort to download, commit the patches to a
branch, and build, but I'm happy to be a zero-effort tester simply by
continuing to pull from master for my own system.
----------------------
gcc -o libdmraid.so -O2 -fPIC -Wall -Wundef -Wcast-align -Wwrite-strings
-Winline -DDMRAID_AUTOREGISTER -O2
-Wl,-rpath=/gnu/store/gr6ik2qp7vfqgfrnb9r1qj9x6x9w981s-dmraid-1.0.0.rc16-3/lib
activate/activate.o activate/devmapper.o device/ata.o device/partition.o
device/scan.o device/scsi.o display/display.o format/format.o
locking/locking.o log/log.o metadata/log_ops.o metadata/metadata.o
metadata/reconfig.o misc/file.o misc/init.o misc/lib_context.o
misc/misc.o misc/workaround.o mm/dbg_malloc.o format/ataraid/asr.o
format/ataraid/hpt37x.o format/ataraid/hpt45x.o format/ataraid/isw.o
format/ataraid/jm.o format/ataraid/lsi.o format/ataraid/nv.o
format/ataraid/pdc.o format/ataraid/sil.o format/ataraid/via.o
format/ddf/ddf1.o format/ddf/ddf1_lib.o format/ddf/ddf1_crc.o
format/ddf/ddf1_cvt.o format/ddf/ddf1_dump.o format/partition/dos.o
register/dmreg.o \
-shared -Wl,--discard-all -Wl,--no-undefined
-Wl,--version-script,../lib/.export.sym \
-Wl,-soname,libdmraid.so.1 \
-ldevmapper-event -ldevmapper -ldl
gcc -o libdmraid-events-isw.so -O2 -fPIC -Wall -Wundef -Wcast-align
-Wwrite-strings -Winline -DDMRAID_AUTOREGISTER -O2
-Wl,-rpath=/gnu/store/gr6ik2qp7vfqgfrnb9r1qj9x6x9w981s-dmraid-1.0.0.rc16-3/lib
events/libdmraid-events-isw.o \
-shared -Wl,--discard-all -Wl,--no-undefined
-Wl,-soname,libdmraid-events-isw.so \
libdmraid.so -ldevmapper-event -ldevmapper -lpthread
ar r libdmraid.a activate/activate.o activate/devmapper.o device/ata.o
device/partition.o device/scan.o device/scsi.o display/display.o
format/format.o locking/locking.o log/log.o metadata/log_ops.o
metadata/metadata.o metadata/reconfig.o misc/file.o misc/init.o
misc/lib_context.o misc/misc.o misc/workaround.o mm/dbg_malloc.o
format/ataraid/asr.o format/ataraid/hpt37x.o format/ataraid/hpt45x.o
format/ataraid/isw.o format/ataraid/jm.o format/ataraid/lsi.o
format/ataraid/nv.o format/ataraid/pdc.o format/ataraid/sil.o
format/ataraid/via.o format/ddf/ddf1.o format/ddf/ddf1_lib.o
format/ddf/ddf1_crc.o format/ddf/ddf1_cvt.o format/ddf/ddf1_dump.o
format/partition/dos.o register/dmreg.o
gcc: error: libdmraid.so: No such file or directory
make[1]: *** [Makefile:83: libdmraid-events-isw.so] Error 1
make[1]: *** Waiting for unfinished jobs....
ar: creating libdmraid.a
ranlib libdmraid.a
make[1]: Leaving directory
'/tmp/guix-build-dmraid-1.0.0.rc16-3.drv-0/dmraid/1.0.0.rc16-3/dmraid/lib'
make: *** [make.tmpl:120: lib] Error 2
Backtrace:
4 (primitive-load "/gnu/store/4mmzx3xfbbpmaafdl8hdadsa2ah…")
In ice-9/eval.scm:
191:35 3 (_ _)
In srfi/srfi-1.scm:
640:9 2 (for-each #<procedure a30b00 at /gnu/store/f95ghy8mx00…> …)
In
/gnu/store/f95ghy8mx00fc22nrvswvnpqlfdkf2nk-module-import/guix/build/gnu-build-system.scm:
799:31 1 (_ _)
In
/gnu/store/f95ghy8mx00fc22nrvswvnpqlfdkf2nk-module-import/guix/build/utils.scm:
616:6 0 (invoke _ . _)
/gnu/store/f95ghy8mx00fc22nrvswvnpqlfdkf2nk-module-import/guix/build/utils.scm:616:6:
In procedure invoke:
Throw to key `srfi-34' with args `(#<condition &invoke-error [program:
"make" arguments: ("-j" "8") exit-status: 2 term-signal: #f stop-signal:
#f] 68fc00>)'.
builder for
`/gnu/store/1pijciihl4mlkk81hvr7sz1bvlhbgjsy-dmraid-1.0.0.rc16-3.drv'
failed with exit code 1
@ build-failed
/gnu/store/1pijciihl4mlkk81hvr7sz1bvlhbgjsy-dmraid-1.0.0.rc16-3.drv - 1
builder for
`/gnu/store/1pijciihl4mlkk81hvr7sz1bvlhbgjsy-dmraid-1.0.0.rc16-3.drv'
failed with exit code 1
guix build: error: build failed: build of
`/gnu/store/1pijciihl4mlkk81hvr7sz1bvlhbgjsy-dmraid-1.0.0.rc16-3.drv' failed
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 6/7] gnu: Add libblockdev.
2018-06-28 21:35 ` [bug#31999] [PATCH 2/7] gnu: Add ndctl Pierre Neidhardt
` (2 preceding siblings ...)
2018-06-28 21:35 ` [bug#31999] [PATCH 5/7] gnu: Add dmraid Pierre Neidhardt
@ 2018-06-28 21:35 ` Pierre Neidhardt
2018-07-12 20:24 ` Marius Bakke
2018-07-29 22:56 ` Marius Bakke
2018-06-28 21:35 ` [bug#31999] [PATCH 7/7] gnu: Update udisk to 2.7.6 Pierre Neidhardt
2018-07-12 20:12 ` [bug#31999] [PATCH 2/7] gnu: Add ndctl Marius Bakke
5 siblings, 2 replies; 65+ messages in thread
From: Pierre Neidhardt @ 2018-06-28 21:35 UTC (permalink / raw)
To: 31999
* gnu/package/disk.scm (libblockdev): New variable.
---
gnu/packages/disk.scm | 59 ++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 58 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index bb1faae8a..2a458eafb 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -65,7 +65,8 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages web)
#:use-module (gnu packages documentation)
- #:use-module (gnu packages bash))
+ #:use-module (gnu packages bash)
+ #:use-module (gnu packages c))
(define-public parted
(package
@@ -679,3 +680,59 @@ removal, rebuild and display of properties for ATARAID/DDF1 metadata.
@command{dmraid} uses @file{libdevmapper} and the device-mapper kernel runtime
to create devices with respective mappings for the ATARAID sets discovered.")
(license license:gpl2+)))
+
+(define-public libblockdev
+ (package
+ (name "libblockdev")
+ (version "2.17")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/rhinstaller/libblockdev")
+ (commit (string-append version "-1"))))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "14f52cj2qcnm8i2zb57qfpdk3kij2gb3xgqkbvidmf6sjicq84z2"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("python" ,python)
+ ("gobject-introspection" ,gobject-introspection)
+ ("automake" ,automake)
+ ("autocont" ,autoconf)
+ ("libtool" ,libtool)
+ ("glib" ,glib)
+ ("util-linux" ,util-linux)
+ ("nss" ,nss)
+ ("cryptsetup" ,cryptsetup)
+ ("eudev" ,eudev)
+ ("pkg-config" ,pkg-config)))
+ (inputs
+ `(("btrfs-progs" ,btrfs-progs)
+ ("dosfstools" ,dosfstools)
+ ("dmraid" ,dmraid)
+ ("libbytesize" ,libbytesize)
+ ("lvm2" ,lvm2)
+ ("mdadm" ,mdadm)
+ ("ndctl" ,ndctl)
+ ("mdadm" ,mdadm)
+ ("parted" ,parted)
+ ("volume-key" ,volume-key)
+ ;; ("xfsprogs" ,xfsprogs) ; TODO: Package?
+ ("kmod" ,kmod)
+ ))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'autogen
+ (lambda _
+ (invoke "sh" "autogen.sh"))))))
+ (home-page "https://github.com/rhinstaller/libblockdev")
+ (synopsis "A library for manipulating block devices")
+ (description
+ "libblockdev is a C library supporting GObject introspection for
+manipulation of block devices. It has a plugin-based architecture where each
+technology (like LVM, Btrfs, MD RAID, Swap,...) is implemented in a separate
+plugin, possibly with multiple implementations (e.g. using LVM CLI or the new
+LVM DBus API).")
+ (license license:lgpl2.1+)))
--
2.17.1
^ permalink raw reply related [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 6/7] gnu: Add libblockdev.
2018-06-28 21:35 ` [bug#31999] [PATCH 6/7] gnu: Add libblockdev Pierre Neidhardt
@ 2018-07-12 20:24 ` Marius Bakke
2018-07-28 22:10 ` Pierre Neidhardt
2018-07-29 22:56 ` Marius Bakke
1 sibling, 1 reply; 65+ messages in thread
From: Marius Bakke @ 2018-07-12 20:24 UTC (permalink / raw)
To: Pierre Neidhardt, 31999
[-- Attachment #1: Type: text/plain, Size: 839 bytes --]
Pierre Neidhardt <ambrevar@gmail.com> writes:
> * gnu/package/disk.scm (libblockdev): New variable.
[...]
> +(define-public libblockdev
> + (package
> + (name "libblockdev")
> + (version "2.17")
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/rhinstaller/libblockdev")
> + (commit (string-append version "-1"))))
> + (file-name (string-append name "-" version "-checkout"))
> + (sha256
> + (base32
> + "14f52cj2qcnm8i2zb57qfpdk3kij2gb3xgqkbvidmf6sjicq84z2"))))
Note that this project provides uploaded releases, which are preferrable
to git checkouts, and won't suddenly change. Could you change to that?
Otherwise LGTM, provided `guix lint` is happy :-)
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 6/7] gnu: Add libblockdev.
2018-07-12 20:24 ` Marius Bakke
@ 2018-07-28 22:10 ` Pierre Neidhardt
0 siblings, 0 replies; 65+ messages in thread
From: Pierre Neidhardt @ 2018-07-28 22:10 UTC (permalink / raw)
To: 31999
* gnu/package/disk.scm (libblockdev): New variable.
---
gnu/packages/disk.scm | 59 ++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 58 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index f26772ed2..900fa7a18 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -65,7 +65,8 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages web)
#:use-module (gnu packages documentation)
- #:use-module (gnu packages bash))
+ #:use-module (gnu packages bash)
+ #:use-module (gnu packages c))
(define-public parted
(package
@@ -692,3 +693,59 @@ removal, rebuild and display of properties for ATARAID/DDF1 metadata.
@command{dmraid} uses @file{libdevmapper} and the device-mapper kernel runtime
to create devices with respective mappings for the ATARAID sets discovered.")
(license license:gpl2+)))
+
+(define-public libblockdev
+ (package
+ (name "libblockdev")
+ (version "2.18")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/storaged-project/libblockdev/archive/"
+ version
+ "-1.tar.gz"))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "1q8wh27yngrjvydm9bainda5fgifq8hbgzdsjipkn3nrrhbfy8p9"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("automake" ,automake)
+ ("autoconf" ,autoconf)
+ ("cryptsetup" ,cryptsetup)
+ ("eudev" ,eudev)
+ ("glib" ,glib)
+ ("gobject-introspection" ,gobject-introspection)
+ ("libtool" ,libtool)
+ ("libyaml" ,libyaml)
+ ("nss" ,nss)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python-wrapper)
+ ("util-linux" ,util-linux)))
+ (inputs
+ `(("btrfs-progs" ,btrfs-progs)
+ ("dosfstools" ,dosfstools)
+ ("dmraid" ,dmraid)
+ ("kmod" ,kmod)
+ ("libbytesize" ,libbytesize)
+ ("lvm2" ,lvm2)
+ ("mdadm" ,mdadm)
+ ("ndctl" ,ndctl)
+ ("parted" ,parted)
+ ("volume-key" ,volume-key)
+ ;; ("xfsprogs" ,xfsprogs) ; TODO: Package?
+ ))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'autogen
+ (lambda _
+ (invoke "sh" "autogen.sh"))))))
+ (home-page "https://github.com/storaged-project/libblockdev")
+ (synopsis "Library for manipulating block devices")
+ (description
+ "libblockdev is a C library supporting GObject introspection for
+manipulation of block devices. It has a plugin-based architecture where each
+technology (like LVM, Btrfs, MD RAID, Swap...) is implemented in a separate
+plugin, possibly with multiple implementations (e.g. using LVM CLI or the new
+LVM DBus API).")
+ (license license:lgpl2.1+)))
--
2.18.0
^ permalink raw reply related [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 6/7] gnu: Add libblockdev.
2018-06-28 21:35 ` [bug#31999] [PATCH 6/7] gnu: Add libblockdev Pierre Neidhardt
2018-07-12 20:24 ` Marius Bakke
@ 2018-07-29 22:56 ` Marius Bakke
2018-07-30 9:14 ` Pierre Neidhardt
1 sibling, 1 reply; 65+ messages in thread
From: Marius Bakke @ 2018-07-29 22:56 UTC (permalink / raw)
To: Pierre Neidhardt, 31999
[-- Attachment #1: Type: text/plain, Size: 3122 bytes --]
Pierre Neidhardt <ambrevar@gmail.com> writes:
> * gnu/package/disk.scm (libblockdev): New variable.
[...]
> +(define-public libblockdev
> + (package
> + (name "libblockdev")
> + (version "2.17")
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/rhinstaller/libblockdev")
> + (commit (string-append version "-1"))))
> + (file-name (string-append name "-" version "-checkout"))
> + (sha256
> + (base32
> + "14f52cj2qcnm8i2zb57qfpdk3kij2gb3xgqkbvidmf6sjicq84z2"))))
This project also provides uploaded releases. Please use those when
available.
Also, 2.18 is out!
> + (build-system gnu-build-system)
> + (native-inputs
> + `(("python" ,python)
> + ("gobject-introspection" ,gobject-introspection)
> + ("automake" ,automake)
> + ("autocont" ,autoconf)
> + ("libtool" ,libtool)
> + ("glib" ,glib)
> + ("util-linux" ,util-linux)
> + ("nss" ,nss)
> + ("cryptsetup" ,cryptsetup)
> + ("eudev" ,eudev)
> + ("pkg-config" ,pkg-config)))
That's a lot of native dependencies! I would assume glib, cryptsetup
and eudev at least were "normal" inputs, I guess they are needed for
tests? Can you add a comment about it?
> + (inputs
> + `(("btrfs-progs" ,btrfs-progs)
> + ("dosfstools" ,dosfstools)
> + ("dmraid" ,dmraid)
> + ("libbytesize" ,libbytesize)
> + ("lvm2" ,lvm2)
> + ("mdadm" ,mdadm)
> + ("ndctl" ,ndctl)
> + ("mdadm" ,mdadm)
> + ("parted" ,parted)
> + ("volume-key" ,volume-key)
> + ;; ("xfsprogs" ,xfsprogs) ; TODO: Package?
> + ("kmod" ,kmod)
> + ))
These parenthesis feel lonely ;-)
> + (arguments
> + `(#:phases
> + (modify-phases %standard-phases
> + (add-after 'unpack 'autogen
> + (lambda _
> + (invoke "sh" "autogen.sh"))))))
Try removing this phase here too, or replace 'bootstrap' :-)
> + (home-page "https://github.com/rhinstaller/libblockdev")
> + (synopsis "A library for manipulating block devices")
s/A library/C library/ to please `guix lint` :-)
> + (description
> + "libblockdev is a C library supporting GObject introspection for
> +manipulation of block devices. It has a plugin-based architecture where each
> +technology (like LVM, Btrfs, MD RAID, Swap,...) is implemented in a separate
> +plugin, possibly with multiple implementations (e.g. using LVM CLI or the new
> +LVM DBus API).")
Remember two spaces between sentences (guix lint should warn about this too).
Also s/DBus/D-Bus/
> + (license license:lgpl2.1+)))
Most of the source files are GPL2+, actually. Not a single source file
includes the LGPL header, though some are missing licensing information.
I'd write this as:
;; XXX: Copying says LGPL2.1, but the source files with license
;; information are GPL2+.
(license license:gpl2+)))
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 6/7] gnu: Add libblockdev.
2018-07-29 22:56 ` Marius Bakke
@ 2018-07-30 9:14 ` Pierre Neidhardt
2018-07-30 12:52 ` Marius Bakke
0 siblings, 1 reply; 65+ messages in thread
From: Pierre Neidhardt @ 2018-07-30 9:14 UTC (permalink / raw)
To: Marius Bakke; +Cc: 31999
[-- Attachment #1: Type: text/plain, Size: 173 bytes --]
Looks like you've reviewed the n-1 patch! :p
Some comments are still valid though. Let me know if there is anything
else in the latest patch.
--
Pierre Neidhardt
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 6/7] gnu: Add libblockdev.
2018-07-30 9:14 ` Pierre Neidhardt
@ 2018-07-30 12:52 ` Marius Bakke
2018-07-30 13:37 ` Pierre Neidhardt
0 siblings, 1 reply; 65+ messages in thread
From: Marius Bakke @ 2018-07-30 12:52 UTC (permalink / raw)
To: Pierre Neidhardt; +Cc: 31999
[-- Attachment #1: Type: text/plain, Size: 336 bytes --]
Pierre Neidhardt <ambrevar@gmail.com> writes:
> Looks like you've reviewed the n-1 patch! :p
>
> Some comments are still valid though. Let me know if there is anything
> else in the latest patch.
Derp * 2! Please change to the release tarball, then you can get rid of
the autotools inputs and phases as well. Other than that LGTM.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 6/7] gnu: Add libblockdev.
2018-07-30 12:52 ` Marius Bakke
@ 2018-07-30 13:37 ` Pierre Neidhardt
2018-07-30 18:48 ` Marius Bakke
0 siblings, 1 reply; 65+ messages in thread
From: Pierre Neidhardt @ 2018-07-30 13:37 UTC (permalink / raw)
To: 31999
* gnu/package/disk.scm (libblockdev): New variable.
---
gnu/packages/disk.scm | 54 ++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 53 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 222469f88..595c39919 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -65,7 +65,8 @@
#:use-module (gnu packages autotools)
#:use-module (gnu packages web)
#:use-module (gnu packages documentation)
- #:use-module (gnu packages bash))
+ #:use-module (gnu packages bash)
+ #:use-module (gnu packages c))
(define-public parted
(package
@@ -691,3 +692,54 @@ removal, rebuild and display of properties for ATARAID/DDF1 metadata.
@command{dmraid} uses @file{libdevmapper} and the device-mapper kernel runtime
to create devices with respective mappings for the ATARAID sets discovered.")
(license license:gpl2+)))
+
+(define-public libblockdev
+ (package
+ (name "libblockdev")
+ (version "2.18")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "https://github.com/storaged-project/libblockdev/archive/"
+ version "-1.tar.gz"))
+ (file-name (string-append name "-" version))
+ (sha256
+ (base32
+ "1q8wh27yngrjvydm9bainda5fgifq8hbgzdsjipkn3nrrhbfy8p9"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("libtool" ,libtool)
+ ("pkg-config" ,pkg-config)
+ ("python" ,python-wrapper)
+ ("util-linux" ,util-linux)))
+ (inputs
+ `(("btrfs-progs" ,btrfs-progs)
+ ("cryptsetup" ,cryptsetup)
+ ("dosfstools" ,dosfstools)
+ ("dmraid" ,dmraid)
+ ("eudev" ,eudev)
+ ("glib" ,glib)
+ ("gobject-introspection" ,gobject-introspection)
+ ("kmod" ,kmod)
+ ("libbytesize" ,libbytesize)
+ ("libyaml" ,libyaml)
+ ("lvm2" ,lvm2)
+ ("mdadm" ,mdadm)
+ ("ndctl" ,ndctl)
+ ("nss" ,nss)
+ ("parted" ,parted)
+ ("volume-key" ,volume-key)
+ ;; ("xfsprogs" ,xfsprogs) ; TODO: Package?
+ ))
+ (home-page "https://github.com/storaged-project/libblockdev")
+ (synopsis "Library for manipulating block devices")
+ (description
+ "libblockdev is a C library supporting GObject introspection for
+manipulation of block devices. It has a plugin-based architecture where each
+technology (like LVM, Btrfs, MD RAID, Swap...) is implemented in a separate
+plugin, possibly with multiple implementations (e.g. using LVM CLI or the new
+LVM D-Bus API).")
+ ;; XXX: Copying says LGPL2.1, but the source files with license
+ ;; information are GPL2+.
+ (license license:gpl2+)))
--
2.18.0
^ permalink raw reply related [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 6/7] gnu: Add libblockdev.
2018-07-30 13:37 ` Pierre Neidhardt
@ 2018-07-30 18:48 ` Marius Bakke
0 siblings, 0 replies; 65+ messages in thread
From: Marius Bakke @ 2018-07-30 18:48 UTC (permalink / raw)
To: Pierre Neidhardt, 31999
[-- Attachment #1: Type: text/plain, Size: 2519 bytes --]
Pierre Neidhardt <ambrevar@gmail.com> writes:
> * gnu/package/disk.scm (libblockdev): New variable.
[...]
> +(define-public libblockdev
> + (package
> + (name "libblockdev")
> + (version "2.18")
> + (source (origin
> + (method url-fetch)
> + (uri (string-append "https://github.com/storaged-project/libblockdev/archive/"
> + version "-1.tar.gz"))
> + (file-name (string-append name "-" version))
> + (sha256
> + (base32
> + "1q8wh27yngrjvydm9bainda5fgifq8hbgzdsjipkn3nrrhbfy8p9"))))
Please use the uploaded release tarball instead of the autogenerated git
archive:
https://github.com/storaged-project/libblockdev/releases/download/2.18-1/libblockdev-2.18.tar.gz
Then you can remove (file-name ...) since it's already fine.
> + (build-system gnu-build-system)
> + (native-inputs
> + `(("autoconf" ,autoconf)
> + ("automake" ,automake)
> + ("libtool" ,libtool)
...and probably also these inputs.
Other than that LGTM, provided `guix lint` is happy!
> + ("pkg-config" ,pkg-config)
> + ("python" ,python-wrapper)
> + ("util-linux" ,util-linux)))
> + (inputs
> + `(("btrfs-progs" ,btrfs-progs)
> + ("cryptsetup" ,cryptsetup)
> + ("dosfstools" ,dosfstools)
> + ("dmraid" ,dmraid)
> + ("eudev" ,eudev)
> + ("glib" ,glib)
> + ("gobject-introspection" ,gobject-introspection)
> + ("kmod" ,kmod)
> + ("libbytesize" ,libbytesize)
> + ("libyaml" ,libyaml)
> + ("lvm2" ,lvm2)
> + ("mdadm" ,mdadm)
> + ("ndctl" ,ndctl)
> + ("nss" ,nss)
> + ("parted" ,parted)
> + ("volume-key" ,volume-key)
> + ;; ("xfsprogs" ,xfsprogs) ; TODO: Package?
> + ))
> + (home-page "https://github.com/storaged-project/libblockdev")
> + (synopsis "Library for manipulating block devices")
> + (description
> + "libblockdev is a C library supporting GObject introspection for
> +manipulation of block devices. It has a plugin-based architecture where each
> +technology (like LVM, Btrfs, MD RAID, Swap...) is implemented in a separate
> +plugin, possibly with multiple implementations (e.g. using LVM CLI or the new
> +LVM D-Bus API).")
> + ;; XXX: Copying says LGPL2.1, but the source files with license
> + ;; information are GPL2+.
> + (license license:gpl2+)))
> --
> 2.18.0
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 7/7] gnu: Update udisk to 2.7.6.
2018-06-28 21:35 ` [bug#31999] [PATCH 2/7] gnu: Add ndctl Pierre Neidhardt
` (3 preceding siblings ...)
2018-06-28 21:35 ` [bug#31999] [PATCH 6/7] gnu: Add libblockdev Pierre Neidhardt
@ 2018-06-28 21:35 ` Pierre Neidhardt
2018-06-28 21:40 ` Pierre Neidhardt
2018-07-12 21:34 ` Marius Bakke
2018-07-12 20:12 ` [bug#31999] [PATCH 2/7] gnu: Add ndctl Marius Bakke
5 siblings, 2 replies; 65+ messages in thread
From: Pierre Neidhardt @ 2018-06-28 21:35 UTC (permalink / raw)
To: 31999
* gnu/package/freedesktop.scm (udisks): Update to 2.7.6.
---
gnu/packages/freedesktop.scm | 36 +++++++++++++++++++++++++++++-------
1 file changed, 29 insertions(+), 7 deletions(-)
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index 7df44dfb0..ff3720109 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -12,6 +12,7 @@
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -77,6 +78,9 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages gnupg)
+ #:use-module (gnu packages swig)
#:use-module (srfi srfi-1))
(define-public xdg-utils
@@ -622,20 +626,29 @@ Analysis and Reporting Technology) functionality.")
(define-public udisks
(package
(name "udisks")
- (version "2.1.8")
+ (version "2.7.6")
(source (origin
- (method url-fetch)
- (uri (string-append "https://udisks.freedesktop.org/releases/"
- name "-" version ".tar.bz2"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/storaged-project/udisks")
+ (commit (string-append name "-" version))))
+ (file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "1nkxhnqh39c9pzvm4zfj50rgv6apqawdx09bv3sfaxrah4a6jhfs"))))
+ "16kf104vv2xbk8cdgaqygszcl69d7lz9gf3vmi7ggywn7nfbp2ks"))))
(build-system gnu-build-system)
(native-inputs
`(("docbook-xml" ,docbook-xml-4.3) ; to build the manpages
("docbook-xsl" ,docbook-xsl)
("glib:bin" ,glib "bin") ; for glib-mkenums
("gobject-introspection" ,gobject-introspection)
+ ("gnome-common" ,gnome-common)
+ ("which" ,which) ; for autogen.sh
+ ("automake" ,automake)
+ ("autocont" ,autoconf)
+ ("libtool" ,libtool)
+ ("glib" ,glib "bin") ; for glib-gettextize
+ ("gtk-doc" ,gtk-doc)
("intltool" ,intltool)
("pkg-config" ,pkg-config)
("xsltproc" ,libxslt)))
@@ -647,13 +660,15 @@ Analysis and Reporting Technology) functionality.")
("libgudev" ,libgudev)
("polkit" ,polkit)
("util-linux" ,util-linux)
- ("cryptsetup" ,cryptsetup)
- ("parted" ,parted)))
+ ("cryptsetup" ,cryptsetup) ; TODO: Not needed on https://www.archlinux.org/packages/extra/x86_64/udisks2/.
+ ("parted" ,parted) ; TODO: Use as native-input? Arch Linux does it.
+ ))
(outputs '("out"
"doc")) ;5 MiB of gtk-doc HTML
(arguments
`(#:tests? #f ; requiring system message dbus
#:disallowed-references ("doc") ;enforce separation of "doc"
+ ;; TODO: No need for configure?
#:configure-flags
(list "--enable-man"
"--localstatedir=/var"
@@ -679,6 +694,13 @@ Analysis and Reporting Technology) functionality.")
docbook-xml-catalog-file)))
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'autogen
+ (lambda _
+ ;; The autogen.sh script in gnome-common will run ./configure
+ ;; by default, which is problematic because source shebangs
+ ;; have not yet been patched.
+ (setenv "NOCONFIGURE" "t")
+ (invoke "sh" "autogen.sh")))
(add-before
'configure 'fix-girdir
(lambda _
--
2.17.1
^ permalink raw reply related [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 7/7] gnu: Update udisk to 2.7.6.
2018-06-28 21:35 ` [bug#31999] [PATCH 7/7] gnu: Update udisk to 2.7.6 Pierre Neidhardt
@ 2018-06-28 21:40 ` Pierre Neidhardt
2018-07-12 21:34 ` Marius Bakke
1 sibling, 0 replies; 65+ messages in thread
From: Pierre Neidhardt @ 2018-06-28 21:40 UTC (permalink / raw)
To: 31999
[-- Attachment #1: Type: text/plain, Size: 267 bytes --]
I'm sending this unfinished patch set because it's been a while and I
don't want to lose it all.
It's almost done: as far as I understand, we just need to build lvm2
with the new options so that dmraid->libblockdev->udisks can build.
--
Pierre Neidhardt
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 7/7] gnu: Update udisk to 2.7.6.
2018-06-28 21:35 ` [bug#31999] [PATCH 7/7] gnu: Update udisk to 2.7.6 Pierre Neidhardt
2018-06-28 21:40 ` Pierre Neidhardt
@ 2018-07-12 21:34 ` Marius Bakke
2018-07-28 22:11 ` Pierre Neidhardt
1 sibling, 1 reply; 65+ messages in thread
From: Marius Bakke @ 2018-07-12 21:34 UTC (permalink / raw)
To: Pierre Neidhardt, 31999
[-- Attachment #1: Type: text/plain, Size: 3514 bytes --]
Pierre Neidhardt <ambrevar@gmail.com> writes:
> * gnu/package/freedesktop.scm (udisks): Update to 2.7.6.
[...]
> (define-public udisks
> (package
> (name "udisks")
> - (version "2.1.8")
> + (version "2.7.6")
> (source (origin
> - (method url-fetch)
> - (uri (string-append "https://udisks.freedesktop.org/releases/"
> - name "-" version ".tar.bz2"))
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/storaged-project/udisks")
> + (commit (string-append name "-" version))))
> + (file-name (string-append name "-" version "-checkout"))
> (sha256
> (base32
> - "1nkxhnqh39c9pzvm4zfj50rgv6apqawdx09bv3sfaxrah4a6jhfs"))))
> + "16kf104vv2xbk8cdgaqygszcl69d7lz9gf3vmi7ggywn7nfbp2ks"))))
> (build-system gnu-build-system)
> (native-inputs
> `(("docbook-xml" ,docbook-xml-4.3) ; to build the manpages
> ("docbook-xsl" ,docbook-xsl)
> ("glib:bin" ,glib "bin") ; for glib-mkenums
> ("gobject-introspection" ,gobject-introspection)
> + ("gnome-common" ,gnome-common)
Do you know what gnome-common is used for?
> + ("which" ,which) ; for autogen.sh
> + ("automake" ,automake)
> + ("autocont" ,autoconf)
> + ("libtool" ,libtool)
> + ("glib" ,glib "bin") ; for glib-gettextize
> + ("gtk-doc" ,gtk-doc)
> ("intltool" ,intltool)
> ("pkg-config" ,pkg-config)
> ("xsltproc" ,libxslt)))
> @@ -647,13 +660,15 @@ Analysis and Reporting Technology) functionality.")
> ("libgudev" ,libgudev)
> ("polkit" ,polkit)
> ("util-linux" ,util-linux)
> - ("cryptsetup" ,cryptsetup)
> - ("parted" ,parted)))
> + ("cryptsetup" ,cryptsetup) ; TODO: Not needed on https://www.archlinux.org/packages/extra/x86_64/udisks2/.
How does it fail without it? Perhaps it should be propagated from
somewhere else?
> + ("parted" ,parted) ; TODO: Use as native-input? Arch Linux does it.
If the software does not use parted at runtime (check with `guix gc
--references`) it should be a native-input.
> + ))
`guix lint` won't be happy about these ;-)
> (outputs '("out"
> "doc")) ;5 MiB of gtk-doc HTML
> (arguments
> `(#:tests? #f ; requiring system message dbus
> #:disallowed-references ("doc") ;enforce separation of "doc"
> + ;; TODO: No need for configure?
Why is that? I see it can run configure as part of autogen, but IMO
it's better to keep it this way to keep a consistent interface.
> #:configure-flags
> (list "--enable-man"
> "--localstatedir=/var"
> @@ -679,6 +694,13 @@ Analysis and Reporting Technology) functionality.")
> docbook-xml-catalog-file)))
> #:phases
> (modify-phases %standard-phases
> + (add-after 'unpack 'autogen
> + (lambda _
> + ;; The autogen.sh script in gnome-common will run ./configure
> + ;; by default, which is problematic because source shebangs
> + ;; have not yet been patched.
> + (setenv "NOCONFIGURE" "t")
> + (invoke "sh" "autogen.sh")))
LGTM. Thanks a lot for taking this on, hopefully we can get this in
master soon!
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 7/7] gnu: Update udisk to 2.7.6.
2018-07-12 21:34 ` Marius Bakke
@ 2018-07-28 22:11 ` Pierre Neidhardt
2018-07-28 22:17 ` Pierre Neidhardt
2018-07-29 23:01 ` Marius Bakke
0 siblings, 2 replies; 65+ messages in thread
From: Pierre Neidhardt @ 2018-07-28 22:11 UTC (permalink / raw)
To: 31999
* gnu/package/freedesktop.scm (udisks): Update to 2.7.6.
[inputs]: Replace parted with libblockdev.
---
gnu/packages/freedesktop.scm | 47 +++++++++++++++++++++++++-----------
1 file changed, 33 insertions(+), 14 deletions(-)
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index b42a27b8c..43c49f51e 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -12,6 +12,7 @@
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -77,6 +78,9 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages gnupg)
+ #:use-module (gnu packages swig)
#:use-module (srfi srfi-1))
(define-public xdg-utils
@@ -623,33 +627,42 @@ Analysis and Reporting Technology) functionality.")
(define-public udisks
(package
(name "udisks")
- (version "2.1.8")
+ (version "2.7.6")
(source (origin
- (method url-fetch)
- (uri (string-append "https://udisks.freedesktop.org/releases/"
- name "-" version ".tar.bz2"))
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/storaged-project/udisks")
+ (commit (string-append name "-" version))))
+ (file-name (string-append name "-" version "-checkout"))
(sha256
(base32
- "1nkxhnqh39c9pzvm4zfj50rgv6apqawdx09bv3sfaxrah4a6jhfs"))))
+ "16kf104vv2xbk8cdgaqygszcl69d7lz9gf3vmi7ggywn7nfbp2ks"))))
(build-system gnu-build-system)
(native-inputs
- `(("docbook-xml" ,docbook-xml-4.3) ; to build the manpages
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("docbook-xml" ,docbook-xml-4.3) ; to build the manpages
("docbook-xsl" ,docbook-xsl)
- ("glib:bin" ,glib "bin") ; for glib-mkenums
+ ("glib:bin" ,glib "bin") ; for glib-mkenums
+ ("gnome-common" ,gnome-common) ; TODO: Why is this needed?
("gobject-introspection" ,gobject-introspection)
+ ("gtk-doc" ,gtk-doc)
+ ("libtool" ,libtool) ; for glib-gettextize
("intltool" ,intltool)
("pkg-config" ,pkg-config)
- ("xsltproc" ,libxslt)))
+ ("xsltproc" ,libxslt)
+ ;; For autogen.sh:
+ ("which" ,which)))
(propagated-inputs
`(("glib" ,glib))) ; required by udisks2.pc
(inputs
`(("acl" ,acl)
+ ("cryptsetup" ,cryptsetup)
("libatasmart" ,libatasmart)
+ ("libblockdev" ,libblockdev)
("libgudev" ,libgudev)
("polkit" ,polkit)
- ("util-linux" ,util-linux)
- ("cryptsetup" ,cryptsetup)
- ("parted" ,parted)))
+ ("util-linux" ,util-linux)))
(outputs '("out"
"doc")) ;5 MiB of gtk-doc HTML
(arguments
@@ -657,6 +670,8 @@ Analysis and Reporting Technology) functionality.")
#:disallowed-references ("doc") ;enforce separation of "doc"
#:configure-flags
(list "--enable-man"
+ "--enable-gtk-doc" ; Without this the HTML doc does not seem to build automatically.
+ "--enable-available-modules" ; Such as lvm2, btrfs, etc.
"--localstatedir=/var"
"--enable-fhs-media" ;mount devices in /media, not /run/media
(string-append "--with-html-dir="
@@ -680,6 +695,13 @@ Analysis and Reporting Technology) functionality.")
docbook-xml-catalog-file)))
#:phases
(modify-phases %standard-phases
+ (add-after 'unpack 'autogen
+ (lambda _
+ ;; The autogen.sh script in gnome-common will run ./configure
+ ;; by default, which is problematic because source shebangs
+ ;; have not yet been patched.
+ (setenv "NOCONFIGURE" "t")
+ (invoke "sh" "autogen.sh")))
(add-before
'configure 'fix-girdir
(lambda _
@@ -702,9 +724,6 @@ Analysis and Reporting Technology) functionality.")
;; cryptsetup is required for setting encrypted
;; partitions, e.g. in gnome-disks
,(string-append cryptsetup "/sbin")
- ;; parted is required for managing partitions, e.g. in
- ;; gnome-disks
- ,(string-append parted "/sbin")
"/run/current-system/profile/bin"
"/run/current-system/profile/sbin")))
#t))))))
--
2.18.0
^ permalink raw reply related [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 7/7] gnu: Update udisk to 2.7.6.
2018-07-28 22:11 ` Pierre Neidhardt
@ 2018-07-28 22:17 ` Pierre Neidhardt
2018-07-29 23:01 ` Marius Bakke
1 sibling, 0 replies; 65+ messages in thread
From: Pierre Neidhardt @ 2018-07-28 22:17 UTC (permalink / raw)
To: 31999
[-- Attachment #1: Type: text/plain, Size: 183 bytes --]
At last, a working version of an up-to-date udisks!
I tried mounting an external drive with it and it worked.
I haven't test the more advanced features.
--
Pierre Neidhardt
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 7/7] gnu: Update udisk to 2.7.6.
2018-07-28 22:11 ` Pierre Neidhardt
2018-07-28 22:17 ` Pierre Neidhardt
@ 2018-07-29 23:01 ` Marius Bakke
2018-07-30 13:38 ` [bug#31999] [PATCH 7/7] gnu: Update udisks to 2.7.7 Pierre Neidhardt
1 sibling, 1 reply; 65+ messages in thread
From: Marius Bakke @ 2018-07-29 23:01 UTC (permalink / raw)
To: Pierre Neidhardt, 31999
[-- Attachment #1: Type: text/plain, Size: 4577 bytes --]
Pierre Neidhardt <ambrevar@gmail.com> writes:
> * gnu/package/freedesktop.scm (udisks): Update to 2.7.6.
> [inputs]: Replace parted with libblockdev.
Woohoo! Please also mention the changes to [native-inputs] and
[arguments] here.
[...]
> @@ -623,33 +627,42 @@ Analysis and Reporting Technology) functionality.")
> (define-public udisks
> (package
> (name "udisks")
> - (version "2.1.8")
> + (version "2.7.6")
> (source (origin
> - (method url-fetch)
> - (uri (string-append "https://udisks.freedesktop.org/releases/"
> - name "-" version ".tar.bz2"))
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/storaged-project/udisks")
> + (commit (string-append name "-" version))))
> + (file-name (string-append name "-" version "-checkout"))
> (sha256
> (base32
> - "1nkxhnqh39c9pzvm4zfj50rgv6apqawdx09bv3sfaxrah4a6jhfs"))))
> + "16kf104vv2xbk8cdgaqygszcl69d7lz9gf3vmi7ggywn7nfbp2ks"))))
2.7.7 is out! Also use the uploaded release instead of a git checkout.
Then you can drop the autotools inputs and autogen phase as well!
Other than that LGTM.
> (build-system gnu-build-system)
> (native-inputs
> - `(("docbook-xml" ,docbook-xml-4.3) ; to build the manpages
> + `(("autoconf" ,autoconf)
> + ("automake" ,automake)
> + ("docbook-xml" ,docbook-xml-4.3) ; to build the manpages
> ("docbook-xsl" ,docbook-xsl)
> - ("glib:bin" ,glib "bin") ; for glib-mkenums
> + ("glib:bin" ,glib "bin") ; for glib-mkenums
> + ("gnome-common" ,gnome-common) ; TODO: Why is this needed?
> ("gobject-introspection" ,gobject-introspection)
> + ("gtk-doc" ,gtk-doc)
> + ("libtool" ,libtool) ; for glib-gettextize
> ("intltool" ,intltool)
> ("pkg-config" ,pkg-config)
> - ("xsltproc" ,libxslt)))
> + ("xsltproc" ,libxslt)
> + ;; For autogen.sh:
> + ("which" ,which)))
> (propagated-inputs
> `(("glib" ,glib))) ; required by udisks2.pc
> (inputs
> `(("acl" ,acl)
> + ("cryptsetup" ,cryptsetup)
> ("libatasmart" ,libatasmart)
> + ("libblockdev" ,libblockdev)
> ("libgudev" ,libgudev)
> ("polkit" ,polkit)
> - ("util-linux" ,util-linux)
> - ("cryptsetup" ,cryptsetup)
> - ("parted" ,parted)))
> + ("util-linux" ,util-linux)))
> (outputs '("out"
> "doc")) ;5 MiB of gtk-doc HTML
> (arguments
> @@ -657,6 +670,8 @@ Analysis and Reporting Technology) functionality.")
> #:disallowed-references ("doc") ;enforce separation of "doc"
> #:configure-flags
> (list "--enable-man"
> + "--enable-gtk-doc" ; Without this the HTML doc does not seem to build automatically.
> + "--enable-available-modules" ; Such as lvm2, btrfs, etc.
> "--localstatedir=/var"
> "--enable-fhs-media" ;mount devices in /media, not /run/media
> (string-append "--with-html-dir="
> @@ -680,6 +695,13 @@ Analysis and Reporting Technology) functionality.")
> docbook-xml-catalog-file)))
> #:phases
> (modify-phases %standard-phases
> + (add-after 'unpack 'autogen
> + (lambda _
> + ;; The autogen.sh script in gnome-common will run ./configure
> + ;; by default, which is problematic because source shebangs
> + ;; have not yet been patched.
> + (setenv "NOCONFIGURE" "t")
> + (invoke "sh" "autogen.sh")))
> (add-before
> 'configure 'fix-girdir
> (lambda _
> @@ -702,9 +724,6 @@ Analysis and Reporting Technology) functionality.")
> ;; cryptsetup is required for setting encrypted
> ;; partitions, e.g. in gnome-disks
> ,(string-append cryptsetup "/sbin")
> - ;; parted is required for managing partitions, e.g. in
> - ;; gnome-disks
> - ,(string-append parted "/sbin")
> "/run/current-system/profile/bin"
> "/run/current-system/profile/sbin")))
> #t))))))
> --
> 2.18.0
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 7/7] gnu: Update udisks to 2.7.7.
2018-07-29 23:01 ` Marius Bakke
@ 2018-07-30 13:38 ` Pierre Neidhardt
2018-07-30 18:54 ` Marius Bakke
0 siblings, 1 reply; 65+ messages in thread
From: Pierre Neidhardt @ 2018-07-30 13:38 UTC (permalink / raw)
To: 31999
* gnu/package/freedesktop.scm (udisks): Update to 2.7.7.
[inputs]: Replace parted with libblockdev.
---
gnu/packages/freedesktop.scm | 44 +++++++++++++++++++++++++-----------
1 file changed, 31 insertions(+), 13 deletions(-)
diff --git a/gnu/packages/freedesktop.scm b/gnu/packages/freedesktop.scm
index b42a27b8c..d9edbcff9 100644
--- a/gnu/packages/freedesktop.scm
+++ b/gnu/packages/freedesktop.scm
@@ -12,6 +12,7 @@
;;; Copyright © 2017, 2018 Rutger Helling <rhelling@mykolab.com>
;;; Copyright © 2017 Brendan Tildesley <brendan.tildesley@openmailbox.org>
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
+;;; Copyright © 2018 Pierre Neidhardt <ambrevar@gmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -77,6 +78,9 @@
#:use-module (gnu packages xml)
#:use-module (gnu packages xdisorg)
#:use-module (gnu packages xorg)
+ #:use-module (gnu packages base)
+ #:use-module (gnu packages gnupg)
+ #:use-module (gnu packages swig)
#:use-module (srfi srfi-1))
(define-public xdg-utils
@@ -623,33 +627,41 @@ Analysis and Reporting Technology) functionality.")
(define-public udisks
(package
(name "udisks")
- (version "2.1.8")
+ (version "2.7.7")
(source (origin
(method url-fetch)
- (uri (string-append "https://udisks.freedesktop.org/releases/"
- name "-" version ".tar.bz2"))
+ (uri (string-append
+ "https://github.com/storaged-project/udisks/archive/"
+ name "-" version ".tar.gz"))
(sha256
(base32
- "1nkxhnqh39c9pzvm4zfj50rgv6apqawdx09bv3sfaxrah4a6jhfs"))))
+ "1aq8n9722sgcj3b9i9lh1rzdrb6dhkadv8dafpy0rqr183kqb8jy"))))
(build-system gnu-build-system)
(native-inputs
- `(("docbook-xml" ,docbook-xml-4.3) ; to build the manpages
+ `(("autoconf" ,autoconf)
+ ("automake" ,automake)
+ ("docbook-xml" ,docbook-xml-4.3) ; to build the manpages
("docbook-xsl" ,docbook-xsl)
- ("glib:bin" ,glib "bin") ; for glib-mkenums
+ ("glib:bin" ,glib "bin") ; for glib-mkenums
+ ("gnome-common" ,gnome-common) ; TODO: Why is this needed?
("gobject-introspection" ,gobject-introspection)
+ ("gtk-doc" ,gtk-doc)
+ ("libtool" ,libtool) ; for glib-gettextize
("intltool" ,intltool)
("pkg-config" ,pkg-config)
- ("xsltproc" ,libxslt)))
+ ("xsltproc" ,libxslt)
+ ;; For autogen.sh:
+ ("which" ,which)))
(propagated-inputs
`(("glib" ,glib))) ; required by udisks2.pc
(inputs
`(("acl" ,acl)
+ ("cryptsetup" ,cryptsetup)
("libatasmart" ,libatasmart)
+ ("libblockdev" ,libblockdev)
("libgudev" ,libgudev)
("polkit" ,polkit)
- ("util-linux" ,util-linux)
- ("cryptsetup" ,cryptsetup)
- ("parted" ,parted)))
+ ("util-linux" ,util-linux)))
(outputs '("out"
"doc")) ;5 MiB of gtk-doc HTML
(arguments
@@ -657,6 +669,8 @@ Analysis and Reporting Technology) functionality.")
#:disallowed-references ("doc") ;enforce separation of "doc"
#:configure-flags
(list "--enable-man"
+ "--enable-gtk-doc" ; Without this the HTML doc does not seem to build automatically.
+ "--enable-available-modules" ; Such as lvm2, btrfs, etc.
"--localstatedir=/var"
"--enable-fhs-media" ;mount devices in /media, not /run/media
(string-append "--with-html-dir="
@@ -680,6 +694,13 @@ Analysis and Reporting Technology) functionality.")
docbook-xml-catalog-file)))
#:phases
(modify-phases %standard-phases
+ (replace 'bootstrap
+ (lambda _
+ ;; The autogen.sh script in gnome-common will run ./configure
+ ;; by default, which is problematic because source shebangs
+ ;; have not yet been patched.
+ (setenv "NOCONFIGURE" "t")
+ (invoke "sh" "autogen.sh")))
(add-before
'configure 'fix-girdir
(lambda _
@@ -702,9 +723,6 @@ Analysis and Reporting Technology) functionality.")
;; cryptsetup is required for setting encrypted
;; partitions, e.g. in gnome-disks
,(string-append cryptsetup "/sbin")
- ;; parted is required for managing partitions, e.g. in
- ;; gnome-disks
- ,(string-append parted "/sbin")
"/run/current-system/profile/bin"
"/run/current-system/profile/sbin")))
#t))))))
--
2.18.0
^ permalink raw reply related [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 7/7] gnu: Update udisks to 2.7.7.
2018-07-30 13:38 ` [bug#31999] [PATCH 7/7] gnu: Update udisks to 2.7.7 Pierre Neidhardt
@ 2018-07-30 18:54 ` Marius Bakke
2018-07-30 19:20 ` Pierre Neidhardt
0 siblings, 1 reply; 65+ messages in thread
From: Marius Bakke @ 2018-07-30 18:54 UTC (permalink / raw)
To: Pierre Neidhardt, 31999
[-- Attachment #1: Type: text/plain, Size: 4467 bytes --]
Pierre Neidhardt <ambrevar@gmail.com> writes:
> * gnu/package/freedesktop.scm (udisks): Update to 2.7.7.
> [inputs]: Replace parted with libblockdev.
[...]
> @@ -623,33 +627,41 @@ Analysis and Reporting Technology) functionality.")
> (define-public udisks
> (package
> (name "udisks")
> - (version "2.1.8")
> + (version "2.7.7")
> (source (origin
> (method url-fetch)
> - (uri (string-append "https://udisks.freedesktop.org/releases/"
> - name "-" version ".tar.bz2"))
> + (uri (string-append
> + "https://github.com/storaged-project/udisks/archive/"
> + name "-" version ".tar.gz"))
> (sha256
> (base32
> - "1nkxhnqh39c9pzvm4zfj50rgv6apqawdx09bv3sfaxrah4a6jhfs"))))
> + "1aq8n9722sgcj3b9i9lh1rzdrb6dhkadv8dafpy0rqr183kqb8jy"))))
This project also provides a release tarball:
https://github.com/storaged-project/udisks/releases/download/udisks-2.7.7/udisks-2.7.7.tar.bz2
> (build-system gnu-build-system)
> (native-inputs
> - `(("docbook-xml" ,docbook-xml-4.3) ; to build the manpages
> + `(("autoconf" ,autoconf)
> + ("automake" ,automake)
...which should make these unnecessary...
> + ("docbook-xml" ,docbook-xml-4.3) ; to build the manpages
> ("docbook-xsl" ,docbook-xsl)
> - ("glib:bin" ,glib "bin") ; for glib-mkenums
> + ("glib:bin" ,glib "bin") ; for glib-mkenums
> + ("gnome-common" ,gnome-common) ; TODO: Why is this needed?
> ("gobject-introspection" ,gobject-introspection)
> + ("gtk-doc" ,gtk-doc)
> + ("libtool" ,libtool) ; for glib-gettextize
...and this...
> ("intltool" ,intltool)
> ("pkg-config" ,pkg-config)
> - ("xsltproc" ,libxslt)))
> + ("xsltproc" ,libxslt)
> + ;; For autogen.sh:
> + ("which" ,which)))
...and this...
> (propagated-inputs
> `(("glib" ,glib))) ; required by udisks2.pc
> (inputs
> `(("acl" ,acl)
> + ("cryptsetup" ,cryptsetup)
> ("libatasmart" ,libatasmart)
> + ("libblockdev" ,libblockdev)
> ("libgudev" ,libgudev)
> ("polkit" ,polkit)
> - ("util-linux" ,util-linux)
> - ("cryptsetup" ,cryptsetup)
> - ("parted" ,parted)))
> + ("util-linux" ,util-linux)))
> (outputs '("out"
> "doc")) ;5 MiB of gtk-doc HTML
> (arguments
> @@ -657,6 +669,8 @@ Analysis and Reporting Technology) functionality.")
> #:disallowed-references ("doc") ;enforce separation of "doc"
> #:configure-flags
> (list "--enable-man"
> + "--enable-gtk-doc" ; Without this the HTML doc does not seem to build automatically.
> + "--enable-available-modules" ; Such as lvm2, btrfs, etc.
> "--localstatedir=/var"
> "--enable-fhs-media" ;mount devices in /media, not /run/media
> (string-append "--with-html-dir="
> @@ -680,6 +694,13 @@ Analysis and Reporting Technology) functionality.")
> docbook-xml-catalog-file)))
> #:phases
> (modify-phases %standard-phases
> + (replace 'bootstrap
> + (lambda _
> + ;; The autogen.sh script in gnome-common will run ./configure
> + ;; by default, which is problematic because source shebangs
> + ;; have not yet been patched.
> + (setenv "NOCONFIGURE" "t")
> + (invoke "sh" "autogen.sh")))
...and this.
Apart from that LGTM!
> (add-before
> 'configure 'fix-girdir
> (lambda _
> @@ -702,9 +723,6 @@ Analysis and Reporting Technology) functionality.")
> ;; cryptsetup is required for setting encrypted
> ;; partitions, e.g. in gnome-disks
> ,(string-append cryptsetup "/sbin")
> - ;; parted is required for managing partitions, e.g. in
> - ;; gnome-disks
> - ,(string-append parted "/sbin")
> "/run/current-system/profile/bin"
> "/run/current-system/profile/sbin")))
> #t))))))
> --
> 2.18.0
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 2/7] gnu: Add ndctl.
2018-06-28 21:35 ` [bug#31999] [PATCH 2/7] gnu: Add ndctl Pierre Neidhardt
` (4 preceding siblings ...)
2018-06-28 21:35 ` [bug#31999] [PATCH 7/7] gnu: Update udisk to 2.7.6 Pierre Neidhardt
@ 2018-07-12 20:12 ` Marius Bakke
2018-07-28 22:05 ` Pierre Neidhardt
5 siblings, 1 reply; 65+ messages in thread
From: Marius Bakke @ 2018-07-12 20:12 UTC (permalink / raw)
To: Pierre Neidhardt, 31999
[-- Attachment #1: Type: text/plain, Size: 1923 bytes --]
Pierre Neidhardt <ambrevar@gmail.com> writes:
> * gnu/package/disk.scm (ndctl): New variable.
[...]
> + (native-inputs
> + `(("asciidoc" ,asciidoc)
> + ("automake" ,automake)
> + ("autocont" ,autoconf)
> + ("libtool" ,libtool)
> + ("xmlto" ,xmlto)
> + ("which" ,which)
> + ("pkg-config" ,pkg-config)
> + ("docbook-xsl" ,docbook-xsl)
> + ("libxml2" ,libxml2) ; Required for offline docbook generation.
> + ("bash-completion" ,bash-completion)))
> + (inputs
> + `(("json-c" ,json-c)
> + ("eudev" ,eudev)
> + ("util-linux" ,util-linux)
> + ("kmod" ,kmod)))
Nit-pick: please try to keep inputs sorted. In addition to cosmetics,
it makes it easier to find out whether a particular input is present.
> + (arguments
> + `(#:phases
> + (modify-phases %standard-phases
> + (add-after 'unpack 'autogen
> + (lambda _
> + (substitute* "autogen.sh"
> + (("/bin/sh") (which "sh")))
> + (substitute* "git-version-gen"
> + (("/bin/sh") (which "sh")))
> + (substitute* "git-version"
> + (("/bin/bash") (which "bash")))
> + (invoke "sh" "autogen.sh"))))
> + #:make-flags
> + (let ((out (assoc-ref %outputs "out")))
> + (list (string-append "BASH_COMPLETION_DIR=" out
> + "/share/bash-completion/completions")))))
> + (home-page "https://github.com/pmem/ndctl")
> + (synopsis "Manage the non-volatile memory device sub-system in the Linux kernel")
> + (description
> + "Utility library for managing the libnvdimm (non-volatile memory device)
> +sub-system in the Linux kernel.")
> + (license license:lgpl2.1+)))
Most of the source files say GPL version 2 (only), except for the
library files which are LGPL2.1 only. So I think we need to list both.
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 2/7] gnu: Add ndctl.
2018-07-12 20:12 ` [bug#31999] [PATCH 2/7] gnu: Add ndctl Marius Bakke
@ 2018-07-28 22:05 ` Pierre Neidhardt
2018-07-29 22:23 ` Marius Bakke
0 siblings, 1 reply; 65+ messages in thread
From: Pierre Neidhardt @ 2018-07-28 22:05 UTC (permalink / raw)
To: 31999
* gnu/package/disk.scm (ndctl): New variable.
---
gnu/packages/disk.scm | 61 ++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 60 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 6d4435784..354313441 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -33,6 +33,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix build-system python)
@@ -60,7 +61,11 @@
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages gnuzilla)
#:use-module (gnu packages gnupg)
- #:use-module (gnu packages swig))
+ #:use-module (gnu packages swig)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages web)
+ #:use-module (gnu packages documentation)
+ #:use-module (gnu packages bash))
(define-public parted
(package
@@ -593,3 +598,57 @@ automatically finding out which program to use for what file type.")
encryption keys and storing them separately from volumes to handle forgotten
passphrases.")
(license license:gpl2)))
+
+(define-public ndctl
+ (package
+ (name "ndctl")
+ (version "60.3")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pmem/ndctl")
+ (commit (string-append "v" version))))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0w19yh6f9skf5zy4bhdjlrn3wdx5xx9cq8j6h04cmw4nla6zj9ar"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("asciidoc" ,asciidoc)
+ ("automake" ,automake)
+ ("autoconf" ,autoconf)
+ ("bash-completion" ,bash-completion)
+ ("docbook-xsl" ,docbook-xsl)
+ ("libtool" ,libtool)
+ ("libxml2" ,libxml2)
+ ("pkg-config" ,pkg-config)
+ ("xmlto" ,xmlto)
+ ;; Required for offline docbook generation:
+ ("which" ,which)))
+ (inputs
+ `(("eudev" ,eudev)
+ ("json-c" ,json-c)
+ ("kmod" ,kmod)
+ ("util-linux" ,util-linux)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'autogen
+ (lambda _
+ (substitute* "autogen.sh"
+ (("/bin/sh") (which "sh")))
+ (substitute* "git-version-gen"
+ (("/bin/sh") (which "sh")))
+ (substitute* "git-version"
+ (("/bin/bash") (which "bash")))
+ (invoke "sh" "autogen.sh"))))
+ #:make-flags
+ (let ((out (assoc-ref %outputs "out")))
+ (list (string-append "BASH_COMPLETION_DIR=" out
+ "/share/bash-completion/completions")))))
+ (home-page "https://github.com/pmem/ndctl")
+ (synopsis "Manage the non-volatile memory device sub-system in the Linux kernel")
+ (description
+ "Utility library for managing the libnvdimm (non-volatile memory device)
+sub-system in the Linux kernel.")
+ (license (list license:lgpl2.1 license:gpl2))))
--
2.18.0
^ permalink raw reply related [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 2/7] gnu: Add ndctl.
2018-07-28 22:05 ` Pierre Neidhardt
@ 2018-07-29 22:23 ` Marius Bakke
2018-07-30 9:47 ` Pierre Neidhardt
0 siblings, 1 reply; 65+ messages in thread
From: Marius Bakke @ 2018-07-29 22:23 UTC (permalink / raw)
To: Pierre Neidhardt, 31999
[-- Attachment #1: Type: text/plain, Size: 2934 bytes --]
Pierre Neidhardt <ambrevar@gmail.com> writes:
> * gnu/package/disk.scm (ndctl): New variable.
[...]
> +(define-public ndctl
> + (package
> + (name "ndctl")
> + (version "60.3")
Version 61.2 is out. Can you see if that still works?
> + (source (origin
> + (method git-fetch)
> + (uri (git-reference
> + (url "https://github.com/pmem/ndctl")
> + (commit (string-append "v" version))))
> + (file-name (string-append name "-" version "-checkout"))
> + (sha256
> + (base32
> + "0w19yh6f9skf5zy4bhdjlrn3wdx5xx9cq8j6h04cmw4nla6zj9ar"))))
> + (build-system gnu-build-system)
> + (native-inputs
> + `(("asciidoc" ,asciidoc)
> + ("automake" ,automake)
> + ("autoconf" ,autoconf)
> + ("bash-completion" ,bash-completion)
That's an unusual input. Can you add a comment about why it's needed?
> + ("docbook-xsl" ,docbook-xsl)
> + ("libtool" ,libtool)
> + ("libxml2" ,libxml2)
> + ("pkg-config" ,pkg-config)
> + ("xmlto" ,xmlto)
> + ;; Required for offline docbook generation:
> + ("which" ,which)))
> + (inputs
> + `(("eudev" ,eudev)
> + ("json-c" ,json-c)
> + ("kmod" ,kmod)
> + ("util-linux" ,util-linux)))
> + (arguments
> + `(#:phases
> + (modify-phases %standard-phases
> + (add-after 'unpack 'autogen
> + (lambda _
> + (substitute* "autogen.sh"
> + (("/bin/sh") (which "sh")))
> + (substitute* "git-version-gen"
> + (("/bin/sh") (which "sh")))
> + (substitute* "git-version"
> + (("/bin/bash") (which "bash")))
> + (invoke "sh" "autogen.sh"))))
Same here: please use the existing bootstrap phase if possible, or
replace it.
> + #:make-flags
> + (let ((out (assoc-ref %outputs "out")))
> + (list (string-append "BASH_COMPLETION_DIR=" out
> + "/share/bash-completion/completions")))))
> + (home-page "https://github.com/pmem/ndctl")
> + (synopsis "Manage the non-volatile memory device sub-system in the Linux kernel")
> + (description
> + "Utility library for managing the libnvdimm (non-volatile memory device)
> +sub-system in the Linux kernel.")
Please use full sentences in descriptions. E.g. "This package provides
a ...".
> + (license (list license:lgpl2.1 license:gpl2))))
Please add comments when the licensing situation is not clear cut. I
had a look, and while COPYING says LGPL2.1, most of the source headers
were GPL2.
In that situation GPL2 "wins", so I'd write this as:
;; COPYING says LGPL2.1, but many source files are GPL2 so that's
;; the effective license. Note that some files under ccan/ are
;; covered by BSD-3 or public domain, see the individual folders.
(license license:gpl2)))
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 2/7] gnu: Add ndctl.
2018-07-29 22:23 ` Marius Bakke
@ 2018-07-30 9:47 ` Pierre Neidhardt
2018-07-30 12:54 ` Marius Bakke
0 siblings, 1 reply; 65+ messages in thread
From: Pierre Neidhardt @ 2018-07-30 9:47 UTC (permalink / raw)
To: Marius Bakke; +Cc: 31999
[-- Attachment #1: Type: text/plain, Size: 543 bytes --]
Marius Bakke <mbakke@fastmail.com> writes:
>> + ("bash-completion" ,bash-completion)
>
> That's an unusual input. Can you add a comment about why it's needed?
I took that from the Arch package
(https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/ndctl)
but it's obviously not required.
That said, should I add bash-completion as an input or leave it out? I
tend to see this as "optional", so I'd rather leave it out. Not sure
what the Guix policy is in this regard.
--
Pierre Neidhardt
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 2/7] gnu: Add ndctl.
2018-07-30 9:47 ` Pierre Neidhardt
@ 2018-07-30 12:54 ` Marius Bakke
2018-07-30 13:35 ` Pierre Neidhardt
0 siblings, 1 reply; 65+ messages in thread
From: Marius Bakke @ 2018-07-30 12:54 UTC (permalink / raw)
To: Pierre Neidhardt; +Cc: 31999
[-- Attachment #1: Type: text/plain, Size: 765 bytes --]
Pierre Neidhardt <ambrevar@gmail.com> writes:
> Marius Bakke <mbakke@fastmail.com> writes:
>
>>> + ("bash-completion" ,bash-completion)
>>
>> That's an unusual input. Can you add a comment about why it's needed?
>
> I took that from the Arch package
> (https://git.archlinux.org/svntogit/packages.git/tree/trunk/PKGBUILD?h=packages/ndctl)
> but it's obviously not required.
> That said, should I add bash-completion as an input or leave it out? I
> tend to see this as "optional", so I'd rather leave it out. Not sure
> what the Guix policy is in this regard.
It depends on what it's used for. If it's needed to install bash
completions or something, let's keep it. If it does not make any
difference... well that's one less dependency to worry about!
[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]
^ permalink raw reply [flat|nested] 65+ messages in thread
* [bug#31999] [PATCH 2/7] gnu: Add ndctl.
2018-07-30 12:54 ` Marius Bakke
@ 2018-07-30 13:35 ` Pierre Neidhardt
2018-07-30 18:56 ` Marius Bakke
0 siblings, 1 reply; 65+ messages in thread
From: Pierre Neidhardt @ 2018-07-30 13:35 UTC (permalink / raw)
To: 31999
* gnu/package/disk.scm (ndctl): New variable.
---
gnu/packages/disk.scm | 62 ++++++++++++++++++++++++++++++++++++++++++-
1 file changed, 61 insertions(+), 1 deletion(-)
diff --git a/gnu/packages/disk.scm b/gnu/packages/disk.scm
index 1640f3d93..e5d72bd1f 100644
--- a/gnu/packages/disk.scm
+++ b/gnu/packages/disk.scm
@@ -33,6 +33,7 @@
#:use-module ((guix licenses) #:prefix license:)
#:use-module (guix packages)
#:use-module (guix download)
+ #:use-module (guix git-download)
#:use-module (guix build-system gnu)
#:use-module (guix build-system trivial)
#:use-module (guix build-system python)
@@ -60,7 +61,11 @@
#:use-module (gnu packages cryptsetup)
#:use-module (gnu packages gnuzilla)
#:use-module (gnu packages gnupg)
- #:use-module (gnu packages swig))
+ #:use-module (gnu packages swig)
+ #:use-module (gnu packages autotools)
+ #:use-module (gnu packages web)
+ #:use-module (gnu packages documentation)
+ #:use-module (gnu packages bash))
(define-public parted
(package
@@ -593,3 +598,58 @@ automatically finding out which program to use for what file type.")
encryption keys and storing them separately from volumes to handle forgotten
passphrases.")
(license license:gpl2)))
+
+(define-public ndctl
+ (package
+ (name "ndctl")
+ (version "61.2")
+ (source (origin
+ (method git-fetch)
+ (uri (git-reference
+ (url "https://github.com/pmem/ndctl")
+ (commit (string-append "v" version))))
+ (file-name (string-append name "-" version "-checkout"))
+ (sha256
+ (base32
+ "0vid78jzhmzh505bpwn8mvlamfhcvl6rlfjc29y4yn7zslpydxl7"))))
+ (build-system gnu-build-system)
+ (native-inputs
+ `(("asciidoc" ,asciidoc)
+ ("automake" ,automake)
+ ("autoconf" ,autoconf)
+ ("docbook-xsl" ,docbook-xsl)
+ ("libtool" ,libtool)
+ ("libxml2" ,libxml2)
+ ("pkg-config" ,pkg-config)
+ ("xmlto" ,xmlto)
+ ;; Required for offline docbook generation:
+ ("which" ,which)))
+ (inputs
+ `(("eudev" ,eudev)
+ ("json-c" ,json-c)
+ ("kmod" ,kmod)
+ ("util-linux" ,util-linux)))
+ (arguments
+ `(#:phases
+ (modify-phases %standard-phases
+ (add-after 'unpack 'autogen
+ (lambda _
+ (substitute* "autogen.sh"
+ (("/bin/sh") (which "sh")))
+ (substitute* "git-version-gen"
+ (("/bin/sh") (which "sh")))
+ (substitute* "git-version"
+ (("/bin/bash") (which "bash"))))))
+ #:make-flags
+ (let ((out (assoc-ref %outputs "out")))
+ (list (string-append "BASH_COMPLETION_DIR=" out
+ "/share/bash-completion/completions")))))
+ (home-page "https://github.com/pmem/ndctl")
+ (synopsis "Manage the non-volatile memory device sub-system in the Linux kernel")
+ (description
+ "This package provides a utility library for managing the
+libnvdimm (non-volatile memory device) sub-system in the Linux kernel.")
+ ;; COPYING says LGPL2.1, but many source files are GPL2 so that's
+ ;; the effective license. Note that some files under ccan/ are
+ ;; covered by BSD-3 or public domain, see the individual folders.
+ (license license:gpl2)))
--
2.18.0
^ permalink raw reply related [flat|nested] 65+ messages in thread