unofficial mirror of guix-patches@gnu.org 
 help / color / mirror / code / Atom feed
* bug#26312: [PATCH] gnu: Add cifs-utils.
@ 2017-03-30 15:48 Thomas Danckaert
  2017-03-30 20:19 ` Tobias Geerinckx-Rice
  0 siblings, 1 reply; 8+ messages in thread
From: Thomas Danckaert @ 2017-03-30 15:48 UTC (permalink / raw)
  To: 26312

[-- Attachment #1: 0001-gnu-Add-cifs-utils.patch --]
[-- Type: Text/X-Patch, Size: 2775 bytes --]

From 5eea8296e5d53d179bef13f6b7e47c0258a6e33a Mon Sep 17 00:00:00 2001
From: Thomas Danckaert <post@thomasdanckaert.be>
Date: Thu, 30 Mar 2017 17:47:00 +0200
Subject: [PATCH] gnu: Add cifs-utils.

* gnu/packages/samba.scm (cifs-utils): New variable.
---
 gnu/packages/samba.scm | 45 +++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 45 insertions(+)

diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index 3b2a6868d..379e1306d 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -26,6 +26,8 @@
   #:use-module (guix licenses)
   #:use-module (gnu packages acl)
   #:use-module (gnu packages admin)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages crypto)
   #:use-module (gnu packages cups)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages tls)
@@ -33,10 +35,53 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages openldap)
   #:use-module (gnu packages readline)
+  #:use-module (gnu packages kerberos)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages python))
 
+(define-public cifs-utils
+  (package
+    (name "cifs-utils")
+    (version "6.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://download.samba.org/pub/linux-cifs/"
+                           name "/" name "-" version ".tar.bz2"))
+       (sha256 (base32
+                "1ayghnkryy1n1zm5dyvyyr7n3807nsm6glfcbbki5c2a8w91dwmj"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("keytuils" ,keyutils)
+       ("linux-pam" ,linux-pam)
+       ("libcap-ng" ,libcap-ng)
+       ("mit-krb5" ,mit-krb5)
+       ("samba" ,samba)
+       ("talloc" ,talloc)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         (add-before 'configure 'autoreconf
+           (lambda _ ; install.sh is missing from release tarball
+             (zero? (system* "autoreconf" "-i"))))
+         (add-before 'configure 'set-root-sbin
+           (lambda _ ; Don't try to install in "/sbin"
+             (setenv "ROOTSBINDIR"
+                     (string-append (assoc-ref %outputs "out") "/sbin"))
+             #t)))))
+    (synopsis "User-space utilities for CIFS (Samba) mounts")
+    (description "@code{cifs-utils} is a set of user-space tools used
+by the in-kernel CIFS filesystem.")
+    (home-page "https://wiki.samba.org/index.php/LinuxCIFS_utils")
+    ;; cifs-utils is licensed as GPL3 or later, but 3 files contain LGPL code.
+    (license
+     (list gpl3+ lgpl2.1+ lgpl3+))))
+
 (define-public iniparser
   (package
     (name "iniparser")
-- 
2.11.1

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

* bug#26312: [PATCH] gnu: Add cifs-utils.
  2017-03-30 15:48 bug#26312: [PATCH] gnu: Add cifs-utils Thomas Danckaert
@ 2017-03-30 20:19 ` Tobias Geerinckx-Rice
  2017-04-01  6:47   ` Thomas Danckaert
  0 siblings, 1 reply; 8+ messages in thread
From: Tobias Geerinckx-Rice @ 2017-03-30 20:19 UTC (permalink / raw)
  To: post, 26312


[-- Attachment #1.1: Type: text/plain, Size: 1441 bytes --]

Thomas,

I don't have any Samba shares to test this on, but will try my hand at
this reviewing business anyway.

On 30/03/17 17:48, Thomas Danckaert wrote:
> +    (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         (add-before 'configure 'autoreconf
> +           (lambda _ ; install.sh is missing from release tarball
> +             (zero? (system* "autoreconf" "-i"))))

If it's a one-time oversight, best leave a note for the next update:

            ;; The 6.7 tarball is missing ‘install.sh’. Create it.

(Your shorter in-line form is fine too; I just think active comments are
more clear.)

I noticed that the ‘--enable-systemd’ configure flag is enabled by
default, but it seems to be well-behaved on systems without a running
systemd.

> +    (synopsis "User-space utilities for CIFS (Samba) mounts")
> +    (description "@code{cifs-utils} is a set of user-space tools used
> +by the in-kernel CIFS filesystem.")

If this package is as Linux-specific at it seems, I'd explicitly mention
that in both the synopsis and description.

Aside: GNU uses ‘file system’, not ‘filesystem’, because GNU is rad. How
about expanding the acronym at the same time? E.g.:

  ‘the @{Common Internet File System} (CIFS) implementation built into
   the Linux kernel’.

Bonus points for replacing the horrid word ‘implementation’ :-)

Thanks!

T G-R


[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 504 bytes --]

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

* bug#26312: [PATCH] gnu: Add cifs-utils.
  2017-03-30 20:19 ` Tobias Geerinckx-Rice
@ 2017-04-01  6:47   ` Thomas Danckaert
  2017-04-01 17:18     ` Marius Bakke
  0 siblings, 1 reply; 8+ messages in thread
From: Thomas Danckaert @ 2017-04-01  6:47 UTC (permalink / raw)
  To: Tobias Geerinckx-Rice; +Cc: 26312

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

Tobias Geerinckx-Rice <me@tobias.gr> writes:

> Thomas,
>
> I don't have any Samba shares to test this on, but will try my hand at
> this reviewing business anyway.

Thanks!  I followed all of your suggestions.

> Aside: GNU uses ‘file system’, not ‘filesystem’, because GNU is rad. How
> about expanding the acronym at the same time? E.g.:
>
>   ‘the @{Common Internet File System} (CIFS) implementation built into
>    the Linux kernel’.
>
> Bonus points for replacing the horrid word ‘implementation’ :-)

I stole this from somewhere:

“@code{cifs-utils} is a set of user-space utilities for mounting and
managing @{Common Internet File System} (CIFS) shares using the Linux
kernel CIFS client.”

Thomas


[-- Attachment #2: 0001-gnu-Add-cifs-utils.patch --]
[-- Type: text/x-patch, Size: 3347 bytes --]

From 08858a1e8674f868db2fc255e47bb18aa0ee9de9 Mon Sep 17 00:00:00 2001
From: Thomas Danckaert <post@thomasdanckaert.be>
Date: Thu, 30 Mar 2017 17:47:00 +0200
Subject: [PATCH] gnu: Add cifs-utils.

* gnu/packages/samba.scm (cifs-utils): New variable.
---
 gnu/packages/samba.scm | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
 1 file changed, 48 insertions(+)

diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
index 3b2a6868d..92531eebf 100644
--- a/gnu/packages/samba.scm
+++ b/gnu/packages/samba.scm
@@ -3,6 +3,7 @@
 ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
 ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
 ;;; Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
+;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -26,6 +27,8 @@
   #:use-module (guix licenses)
   #:use-module (gnu packages acl)
   #:use-module (gnu packages admin)
+  #:use-module (gnu packages autotools)
+  #:use-module (gnu packages crypto)
   #:use-module (gnu packages cups)
   #:use-module (gnu packages databases)
   #:use-module (gnu packages tls)
@@ -33,10 +36,55 @@
   #:use-module (gnu packages pkg-config)
   #:use-module (gnu packages openldap)
   #:use-module (gnu packages readline)
+  #:use-module (gnu packages kerberos)
   #:use-module (gnu packages linux)
   #:use-module (gnu packages perl)
   #:use-module (gnu packages python))
 
+(define-public cifs-utils
+  (package
+    (name "cifs-utils")
+    (version "6.7")
+    (source
+     (origin
+       (method url-fetch)
+       (uri (string-append "https://download.samba.org/pub/linux-cifs/"
+                           name "/" name "-" version ".tar.bz2"))
+       (sha256 (base32
+                "1ayghnkryy1n1zm5dyvyyr7n3807nsm6glfcbbki5c2a8w91dwmj"))))
+    (build-system gnu-build-system)
+    (native-inputs
+     `(("autoconf" ,autoconf)
+       ("automake" ,automake)
+       ("pkg-config" ,pkg-config)))
+    (inputs
+     `(("keytuils" ,keyutils)
+       ("linux-pam" ,linux-pam)
+       ("libcap-ng" ,libcap-ng)
+       ("mit-krb5" ,mit-krb5)
+       ("samba" ,samba)
+       ("talloc" ,talloc)))
+    (arguments
+     `(#:phases
+       (modify-phases %standard-phases
+         ;; The 6.7 tarball is missing ‘install.sh’. Create it.
+         (add-before 'configure 'autoreconf
+           (lambda _
+             (zero? (system* "autoreconf" "-i"))))
+         (add-before 'configure 'set-root-sbin
+           (lambda _ ; Don't try to install in "/sbin".
+             (setenv "ROOTSBINDIR"
+                     (string-append (assoc-ref %outputs "out") "/sbin"))
+             #t)))))
+    (synopsis "User-space utilities for Linux CIFS (Samba) mounts")
+    (description "@code{cifs-utils} is a set of user-space utilities for
+mounting and managing @{Common Internet File System} (CIFS) shares using the
+Linux kernel CIFS client.")
+    (home-page "https://wiki.samba.org/index.php/LinuxCIFS_utils")
+    ;; cifs-utils is licensed as GPL3 or later, but 3 files contain LGPL code.
+    (license
+     (list gpl3+ lgpl2.1+ lgpl3+))))
+
 (define-public iniparser
   (package
     (name "iniparser")
-- 
2.12.2


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

* bug#26312: [PATCH] gnu: Add cifs-utils.
  2017-04-01  6:47   ` Thomas Danckaert
@ 2017-04-01 17:18     ` Marius Bakke
  2017-04-02 10:52       ` Thomas Danckaert
  0 siblings, 1 reply; 8+ messages in thread
From: Marius Bakke @ 2017-04-01 17:18 UTC (permalink / raw)
  To: Thomas Danckaert, Tobias Geerinckx-Rice; +Cc: 26312

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

Thomas Danckaert <post@thomasdanckaert.be> writes:

> Tobias Geerinckx-Rice <me@tobias.gr> writes:
>
>> Thomas,
>>
>> I don't have any Samba shares to test this on, but will try my hand at
>> this reviewing business anyway.
>
> Thanks!  I followed all of your suggestions.
>
>> Aside: GNU uses ‘file system’, not ‘filesystem’, because GNU is rad. How
>> about expanding the acronym at the same time? E.g.:
>>
>>   ‘the @{Common Internet File System} (CIFS) implementation built into
>>    the Linux kernel’.
>>
>> Bonus points for replacing the horrid word ‘implementation’ :-)
>
> I stole this from somewhere:
>
> “@code{cifs-utils} is a set of user-space utilities for mounting and
> managing @{Common Internet File System} (CIFS) shares using the Linux
> kernel CIFS client.”
>
> Thomas
>
> From 08858a1e8674f868db2fc255e47bb18aa0ee9de9 Mon Sep 17 00:00:00 2001
> From: Thomas Danckaert <post@thomasdanckaert.be>
> Date: Thu, 30 Mar 2017 17:47:00 +0200
> Subject: [PATCH] gnu: Add cifs-utils.
>
> * gnu/packages/samba.scm (cifs-utils): New variable.
> ---
>  gnu/packages/samba.scm | 48 ++++++++++++++++++++++++++++++++++++++++++++++++
>  1 file changed, 48 insertions(+)
>
> diff --git a/gnu/packages/samba.scm b/gnu/packages/samba.scm
> index 3b2a6868d..92531eebf 100644
> --- a/gnu/packages/samba.scm
> +++ b/gnu/packages/samba.scm
> @@ -3,6 +3,7 @@
>  ;;; Copyright © 2015 Mark H Weaver <mhw@netris.org>
>  ;;; Copyright © 2016, 2017 Efraim Flashner <efraim@flashner.co.il>
>  ;;; Copyright © 2016 Adonay "adfeno" Felipe Nogueira <https://libreplanet.org/wiki/User:Adfeno> <adfeno@openmailbox.org>
> +;;; Copyright © 2017 Thomas Danckaert <post@thomasdanckaert.be>
>  ;;;
>  ;;; This file is part of GNU Guix.
>  ;;;
> @@ -26,6 +27,8 @@
>    #:use-module (guix licenses)
>    #:use-module (gnu packages acl)
>    #:use-module (gnu packages admin)
> +  #:use-module (gnu packages autotools)
> +  #:use-module (gnu packages crypto)
>    #:use-module (gnu packages cups)
>    #:use-module (gnu packages databases)
>    #:use-module (gnu packages tls)
> @@ -33,10 +36,55 @@
>    #:use-module (gnu packages pkg-config)
>    #:use-module (gnu packages openldap)
>    #:use-module (gnu packages readline)
> +  #:use-module (gnu packages kerberos)
>    #:use-module (gnu packages linux)
>    #:use-module (gnu packages perl)
>    #:use-module (gnu packages python))
>  
> +(define-public cifs-utils
> +  (package
> +    (name "cifs-utils")
> +    (version "6.7")
> +    (source
> +     (origin
> +       (method url-fetch)
> +       (uri (string-append "https://download.samba.org/pub/linux-cifs/"
> +                           name "/" name "-" version ".tar.bz2"))
> +       (sha256 (base32
> +                "1ayghnkryy1n1zm5dyvyyr7n3807nsm6glfcbbki5c2a8w91dwmj"))))
> +    (build-system gnu-build-system)
> +    (native-inputs
> +     `(("autoconf" ,autoconf)
> +       ("automake" ,automake)
> +       ("pkg-config" ,pkg-config)))
> +    (inputs
> +     `(("keytuils" ,keyutils)
> +       ("linux-pam" ,linux-pam)
> +       ("libcap-ng" ,libcap-ng)
> +       ("mit-krb5" ,mit-krb5)
> +       ("samba" ,samba)
> +       ("talloc" ,talloc)))
> +    (arguments
> +     `(#:phases
> +       (modify-phases %standard-phases
> +         ;; The 6.7 tarball is missing ‘install.sh’. Create it.
> +         (add-before 'configure 'autoreconf
> +           (lambda _
> +             (zero? (system* "autoreconf" "-i"))))
> +         (add-before 'configure 'set-root-sbin
> +           (lambda _ ; Don't try to install in "/sbin".
> +             (setenv "ROOTSBINDIR"
> +                     (string-append (assoc-ref %outputs "out") "/sbin"))
> +             #t)))))
> +    (synopsis "User-space utilities for Linux CIFS (Samba) mounts")
> +    (description "@code{cifs-utils} is a set of user-space utilities for
> +mounting and managing @{Common Internet File System} (CIFS) shares using the
                         ^^^
                         This should be @dfn{...}.

> +Linux kernel CIFS client.")
> +    (home-page "https://wiki.samba.org/index.php/LinuxCIFS_utils")
> +    ;; cifs-utils is licensed as GPL3 or later, but 3 files contain LGPL code.
> +    (license
> +     (list gpl3+ lgpl2.1+ lgpl3+))))

Could you mention which files, since it's only three? I also think
listing both lgpl2.1+ and lgpl3+ is redundant; if these source files
interact in some way the result is effectively lgpl3+. If the LGPL2.1+
code is what is installed, I would pick that since it implies LGPL3+.

The rest LGTM!

> +
>  (define-public iniparser
>    (package
>      (name "iniparser")
> -- 
> 2.12.2

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

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

* bug#26312: [PATCH] gnu: Add cifs-utils.
  2017-04-01 17:18     ` Marius Bakke
@ 2017-04-02 10:52       ` Thomas Danckaert
  2017-04-02 11:35         ` Marius Bakke
  0 siblings, 1 reply; 8+ messages in thread
From: Thomas Danckaert @ 2017-04-02 10:52 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 26312

Marius Bakke <mbakke@fastmail.com> writes:

> Could you mention which files, since it's only three? I also think
> listing both lgpl2.1+ and lgpl3+ is redundant; if these source files
> interact in some way the result is effectively lgpl3+. If the LGPL2.1+
> code is what is installed, I would pick that since it implies LGPL3+.

The files are source/util.{h,c} (lgpl2.1+), and source/cifs_spnego.h
(lgpl3+), I'll add that in a comment.

About the lgpl2.1+ vs lgpl3+ thing, I'm a bit confused about what we
actually want to communicate with the license field (and probably about
license issues in general).  As far as I know, all code (lgpl2.1+ and
lgpl3+ files) is installed (compiled).  Because the rest of the code is
GPL3+, I think a linked binary (e.g. a substitute from hydra) can only
be distributed as GPL3+?  In addition to that, there are 3 source files,
which can are individually licensed as LGPL2.1+ and LGPL3+, which why we
specify a list of licenses, I thought?  In that case I don't really
understand why mentioning only lgpl2.1+ would be sufficient (lgpl3+ is
more strict?).

I'm just trying to understand so I get this stuff right the next time...
Not counting the license itself, the lgpl3+ file is only 25 lines :-)

cheers,

Thomas

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

* bug#26312: [PATCH] gnu: Add cifs-utils.
  2017-04-02 10:52       ` Thomas Danckaert
@ 2017-04-02 11:35         ` Marius Bakke
  2017-04-02 16:14           ` Thomas Danckaert
  2017-04-03 20:02           ` Thomas Danckaert
  0 siblings, 2 replies; 8+ messages in thread
From: Marius Bakke @ 2017-04-02 11:35 UTC (permalink / raw)
  To: Thomas Danckaert; +Cc: 26312

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

Thomas Danckaert <post@thomasdanckaert.be> writes:

> Marius Bakke <mbakke@fastmail.com> writes:
>
>> Could you mention which files, since it's only three? I also think
>> listing both lgpl2.1+ and lgpl3+ is redundant; if these source files
>> interact in some way the result is effectively lgpl3+. If the LGPL2.1+
>> code is what is installed, I would pick that since it implies LGPL3+.
>
> The files are source/util.{h,c} (lgpl2.1+), and source/cifs_spnego.h
> (lgpl3+), I'll add that in a comment.
>
> About the lgpl2.1+ vs lgpl3+ thing, I'm a bit confused about what we
> actually want to communicate with the license field (and probably about
> license issues in general).  As far as I know, all code (lgpl2.1+ and
> lgpl3+ files) is installed (compiled).  Because the rest of the code is
> GPL3+, I think a linked binary (e.g. a substitute from hydra) can only
> be distributed as GPL3+?  In addition to that, there are 3 source files,
> which can are individually licensed as LGPL2.1+ and LGPL3+, which why we
> specify a list of licenses, I thought?  In that case I don't really
> understand why mentioning only lgpl2.1+ would be sufficient (lgpl3+ is
> more strict?).

I had a short discussion with Ludo over this in #26256[0]. The consensus
is that the "license" field should communicate the terms of the end
result, i.e. what the user installs.

Often a package will install some executable files with a GPL3+ license
which are using some library files that are LGPL3+, then both of those
should be mentioned.

This becomes complicated when there are a mix of licenses as in this
case. Then we have to look at which files are using which to determine
what applies to the output.

In this case, none of the LGPL code appear to be installed on its own.
Most of the source is either GPL2+ or GPL3+. So, I would argue that
GPL3+ alone is what applies to this package, since it "wins" over LGPL
and GPL2 by being stricter.

Hope this helps!

[0] https://debbugs.gnu.org/cgi/bugreport.cgi?bug=26256#86

[-- Attachment #2: signature.asc --]
[-- Type: application/pgp-signature, Size: 487 bytes --]

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

* bug#26312: [PATCH] gnu: Add cifs-utils.
  2017-04-02 11:35         ` Marius Bakke
@ 2017-04-02 16:14           ` Thomas Danckaert
  2017-04-03 20:02           ` Thomas Danckaert
  1 sibling, 0 replies; 8+ messages in thread
From: Thomas Danckaert @ 2017-04-02 16:14 UTC (permalink / raw)
  To: mbakke; +Cc: 26312

From: Marius Bakke <mbakke@fastmail.com>
Subject: Re: bug#26312: [PATCH] gnu: Add cifs-utils.
Date: Sun, 02 Apr 2017 13:35:54 +0200

> I had a short discussion with Ludo over this in #26256[0]. The 
> consensus
> is that the "license" field should communicate the terms of the end
> result, i.e. what the user installs.

Thanks for the clarification!  In that case I agree that GPL3+ is 
what's applicable.

I've seen a number of discussions about licensing.  Maybe I can add a 
“License” subsection in the manual's “Packaging Guidelines”?

Thomas

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

* bug#26312: [PATCH] gnu: Add cifs-utils.
  2017-04-02 11:35         ` Marius Bakke
  2017-04-02 16:14           ` Thomas Danckaert
@ 2017-04-03 20:02           ` Thomas Danckaert
  1 sibling, 0 replies; 8+ messages in thread
From: Thomas Danckaert @ 2017-04-03 20:02 UTC (permalink / raw)
  To: Marius Bakke; +Cc: 26312-close, 26312

Pushed as b4dcfce51bb3e06710e06881e23493fde3c4763c, closing!

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

end of thread, other threads:[~2017-04-03 20:03 UTC | newest]

Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2017-03-30 15:48 bug#26312: [PATCH] gnu: Add cifs-utils Thomas Danckaert
2017-03-30 20:19 ` Tobias Geerinckx-Rice
2017-04-01  6:47   ` Thomas Danckaert
2017-04-01 17:18     ` Marius Bakke
2017-04-02 10:52       ` Thomas Danckaert
2017-04-02 11:35         ` Marius Bakke
2017-04-02 16:14           ` Thomas Danckaert
2017-04-03 20:02           ` Thomas Danckaert

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

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

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