unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
From: Efraim Flashner <efraim@flashner.co.il>
To: Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de>
Cc: guix-devel@gnu.org
Subject: Re: [PATCH 04/10] gnu: Add python-keystoneclient.
Date: Sun, 27 Dec 2015 12:13:52 +0200	[thread overview]
Message-ID: <20151227121352.61cb557c@debian-netbook> (raw)
In-Reply-To: <idjzixh6ph4.fsf@bimsb-sys02.mdc-berlin.net>


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

On Fri, 11 Dec 2015 15:15:35 +0100
Ricardo Wurmus <ricardo.wurmus@mdc-berlin.de> wrote:

> Efraim Flashner <efraim@flashner.co.il> writes:
> 
>  [...]  
> 
>  [...]  
> 
>  [...]  
>  
>  [...]  
>  
>  [...]  
>  
> >  (define-public python2-oslo.utils
> >    (package-with-python2 python-oslo.utils))
> > +
> > +(define-public python-keystoneclient
> > +  (package
> > +    (name "python-keystoneclient")
> > +    (version "1.8.1")
> > +    (source
> > +      (origin
> > +        (method url-fetch)
> > +        (uri (pypi-uri "python-keystoneclient" version))
> > +        (sha256
> > +          (base32
> > +           "1w4csvkah67rfpxylxnvs2s3594i0f9isy8pf4gnsqs5zirvjaa4"))))  
> 
> The indentation is a bit off.  If this was the only thing I could fix
> this before pushing, but I still have some other comments.
> 
> > +  (build-system python-build-system)
> > +  (native-inputs
> > +   `(("python-setuptools" ,python-setuptools)
> > +     ;; and some packages for the tests
> > +     ("openssl" ,openssl)
> > +     ("python-coverage" ,python-coverage)
> > +     ("python-discover" ,python-discover)
> > +     ("python-fixtures" ,python-fixtures)
> > +     ("python-hacking" ,python-hacking)
> > +     ("python-keyring" ,python-keyring)
> > +     ("python-lxml" ,python-lxml)
> > +     ("python-mock" ,python-mock)
> > +     ("python-mox3" ,python-mox3)
> > +     ("python-oauthlib" ,python-oauthlib)
> > +     ("python-oslosphinx" ,python-oslosphinx)
> > +     ("python-oslotest" ,python-oslotest)
> > +     ("python-pycrypto" ,python-pycrypto)
> > +     ("python-requests-mock" ,python-requests-mock)
> > +     ("python-sphinx" ,python-sphinx)  
> 
> This doesn’t look like it’s needed for the tests.  Maybe you could move
> it above the comment (or remove the comment)?

Do you mean python-sphinx or all of the above? (Just read the next one about
python-sphinx being for documentation, moved that one.) Openssl isn't a
declared test dependency, but testing failed without it.

> 
> > +     ("python-temptest-lib" ,python-tempest-lib)
> > +     ("python-testrepository" ,python-testrepository)
> > +     ("python-testresources" ,python-testresources)
> > +     ("python-testtools" ,python-testtools)
> > +     ("python-webob" ,python-webob)))  
> 
> Wow!  That’s a very long list of test dependencies.  Thanks for your
> patience in tracking them down rather than taking the easy route of
> disabling tests!

Openstack is pretty good about declaring dependencies, with both a
requirements.txt and a test-requirements.txt in the source tree, and that
helped a lot.
https://git.openstack.org/cgit/openstack/python-keystoneclient/tree/?h=1.8.1

> 
> > +  (propagated-inputs
> > +   `(("python-babel" ,python-babel)
> > +     ("python-debtcollector" ,python-debtcollector)
> > +     ("python-iso8601" ,python-iso8601)
> > +     ("python-netaddr" ,python-netaddr)
> > +     ("python-oslo.config" ,python-oslo.config)
> > +     ("python-oslo.i18n" ,python-oslo.i18n)
> > +     ("python-oslo.serialization" ,python-oslo.serialization)
> > +     ("python-oslo.utils" ,python-oslo.utils)
> > +     ("python-pbr" ,python-pbr)
> > +     ("python-prettytable" ,python-prettytable)
> > +     ("python-requests" ,python-requests)
> > +     ("python-six" ,python-six)
> > +     ("python-stevedore" ,python-stevedore)))
> > +  (home-page "http://www.openstack.org/")
> > +  (synopsis "Client Library for OpenStack Identity")
> > +  (description
> > +   "Python-keystoneclient is the identity service used by OpenStack for
> > +authentication (authN) and high-level authorization (authZ).  It currently
> > +supports token-based authN with user/service authZ, and is scalable to support
> > +OAuth, SAML, and OpenID in future versions.  Out of the box, Keystone uses
> > +SQLite for its identity store database, with the option to connect to external
> > +LDAP.")  
> 
> I wonder: if it does uses Sqlite by default, how come sqlite is not
> among the inputs?  Does it bundle sqlite sources?  Or does it just fail
> by default unless sqlite is installed?
> 

It doesn't bundle sqlite, and it looks like the included description doesn't
differentiate too much between keystone and keystoneclient. As per the name,
keystoneclient connects to keystone, which would need sqlite.

> > +  (license asl2.0)))
> > +
> > +(define-public python2-keystoneclient
> > +  (let ((keystoneclient (package-with-python2 python-keystoneclient)))
> > +    (package (inherit keystoneclient)
> > +      (native-inputs
> > +       `(("python2-oauthlib" ,python2-oauthlib)
> > +         ,@(alist-delete
> > +            "python-oauthlib"
> > +            (package-native-inputs keystoneclient)))))))  
> 
> Okay!
> 
> ~~ Ricardo

2.0.0 was tagged about 4 weeks ago, but it ended up needing more packages
packaged and more dependencies updated and it looks like a project for
another time.

-- 
Efraim Flashner   <efraim@flashner.co.il>   אפרים פלשנר
GPG key = A28B F40C 3E55 1372 662D  14F7 41AA E7DC CA3D 8351
Confidentiality cannot be guaranteed on emails sent or received unencrypted

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1.2: 0001-gnu-Add-python-keystoneclient.patch --]
[-- Type: text/x-patch, Size: 4185 bytes --]

From 63b7c408bfd97a79554907f527469ab93826d390 Mon Sep 17 00:00:00 2001
From: Efraim Flashner <efraim@flashner.co.il>
Date: Mon, 23 Nov 2015 20:29:12 +0200
Subject: [PATCH 1/9] gnu: Add python-keystoneclient.

* gnu/packages/openstack.scm (python-keystoneclient)
(python2-keystoneclient): New variables.
---
 gnu/packages/openstack.scm | 73 +++++++++++++++++++++++++++++++++++++++++++++-
 1 file changed, 72 insertions(+), 1 deletion(-)

diff --git a/gnu/packages/openstack.scm b/gnu/packages/openstack.scm
index 2578292..32507ad 100644
--- a/gnu/packages/openstack.scm
+++ b/gnu/packages/openstack.scm
@@ -19,12 +19,14 @@
 
 (define-module (gnu packages openstack)
   #:use-module (gnu packages python)
+  #:use-module (gnu packages tls)
   #:use-module (gnu packages version-control)
   #:use-module (guix build-system python)
   #:use-module (guix download)
   #:use-module ((guix licenses)
                 #:select (asl2.0))
-  #:use-module (guix packages))
+  #:use-module (guix packages)
+  #:use-module (srfi srfi-1))
 
 (define-public python-bandit
   (package
@@ -679,3 +681,72 @@ handling.")
 
 (define-public python2-oslo.utils
   (package-with-python2 python-oslo.utils))
+
+(define-public python-keystoneclient
+  (package
+    (name "python-keystoneclient")
+    (version "1.8.1")
+    (source
+      (origin
+        (method url-fetch)
+        (uri (pypi-uri "python-keystoneclient" version))
+        (sha256
+         (base32
+          "1w4csvkah67rfpxylxnvs2s3594i0f9isy8pf4gnsqs5zirvjaa4"))))
+    (build-system python-build-system)
+    (native-inputs
+     `(("python-setuptools" ,python-setuptools)
+       ("python-sphinx" ,python-sphinx)
+       ;; and some packages for the tests
+       ("openssl" ,openssl)
+       ("python-coverage" ,python-coverage)
+       ("python-discover" ,python-discover)
+       ("python-fixtures" ,python-fixtures)
+       ("python-hacking" ,python-hacking)
+       ("python-keyring" ,python-keyring)
+       ("python-lxml" ,python-lxml)
+       ("python-mock" ,python-mock)
+       ("python-mox3" ,python-mox3)
+       ("python-oauthlib" ,python-oauthlib)
+       ("python-oslosphinx" ,python-oslosphinx)
+       ("python-oslotest" ,python-oslotest)
+       ("python-pycrypto" ,python-pycrypto)
+       ("python-requests-mock" ,python-requests-mock)
+       ("python-temptest-lib" ,python-tempest-lib)
+       ("python-testrepository" ,python-testrepository)
+       ("python-testresources" ,python-testresources)
+       ("python-testtools" ,python-testtools)
+       ("python-webob" ,python-webob)))
+    (propagated-inputs
+     `(("python-babel" ,python-babel)
+       ("python-debtcollector" ,python-debtcollector)
+       ("python-iso8601" ,python-iso8601)
+       ("python-netaddr" ,python-netaddr)
+       ("python-oslo.config" ,python-oslo.config)
+       ("python-oslo.i18n" ,python-oslo.i18n)
+       ("python-oslo.serialization" ,python-oslo.serialization)
+       ("python-oslo.utils" ,python-oslo.utils)
+       ("python-pbr" ,python-pbr)
+       ("python-prettytable" ,python-prettytable)
+       ("python-requests" ,python-requests)
+       ("python-six" ,python-six)
+       ("python-stevedore" ,python-stevedore)))
+    (home-page "http://www.openstack.org/")
+    (synopsis "Client Library for OpenStack Identity")
+    (description
+     "Python-keystoneclient is the identity service used by OpenStack for
+authentication (authN) and high-level authorization (authZ).  It currently
+supports token-based authN with user/service authZ, and is scalable to support
+OAuth, SAML, and OpenID in future versions.  Out of the box, Keystone uses
+SQLite for its identity store database, with the option to connect to external
+LDAP.")
+    (license asl2.0)))
+
+(define-public python2-keystoneclient
+  (let ((keystoneclient (package-with-python2 python-keystoneclient)))
+    (package (inherit keystoneclient)
+      (native-inputs
+       `(("python2-oauthlib" ,python2-oauthlib)
+         ,@(alist-delete
+            "python-oauthlib"
+            (package-native-inputs keystoneclient)))))))
-- 
2.6.4


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

  reply	other threads:[~2015-12-27 10:17 UTC|newest]

Thread overview: 60+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-12-03 14:43 [PATCH 00/10] git-annex special-remote hubiC support Efraim Flashner
2015-12-03 14:43 ` [PATCH 01/10] gnu: Add python-pytest-cov Efraim Flashner
2015-12-03 22:25   ` Ricardo Wurmus
2015-12-07 19:25     ` Efraim Flashner
2015-12-11 14:03       ` Ricardo Wurmus
2015-12-17 19:02         ` Efraim Flashner
2015-12-20 13:43           ` Ricardo Wurmus
2015-12-27 10:14             ` Efraim Flashner
2015-12-30 14:10               ` Ricardo Wurmus
2015-12-30 20:36                 ` Efraim Flashner
2015-12-30 20:45                   ` Ricardo Wurmus
2015-12-31 11:28                     ` Mathieu Lirzin
2015-12-31 11:32                       ` Ricardo Wurmus
2016-01-04 15:56               ` Ludovic Courtès
2015-12-03 14:43 ` [PATCH 02/10] gnu: Add python-wheel Efraim Flashner
2015-12-07 19:26   ` Efraim Flashner
2015-12-11 14:07     ` Ricardo Wurmus
2015-12-27 10:13       ` Efraim Flashner
2016-01-04 16:01         ` Ludovic Courtès
2015-12-03 14:43 ` [PATCH 03/10] gnu: python-requests: Update to 2.8.1 Efraim Flashner
2015-12-07 19:26   ` Efraim Flashner
2015-12-11 14:08     ` Ricardo Wurmus
2015-12-03 14:43 ` [PATCH 04/10] gnu: Add python-keystoneclient Efraim Flashner
2015-12-07 19:26   ` Efraim Flashner
2015-12-11 14:15     ` Ricardo Wurmus
2015-12-27 10:13       ` Efraim Flashner [this message]
2016-01-04 16:00         ` Ludovic Courtès
2016-01-04 16:33         ` Ricardo Wurmus
2015-12-03 14:43 ` [PATCH 05/10] gnu: Add python2-futures Efraim Flashner
2015-12-07 19:27   ` Efraim Flashner
2015-12-11 14:17     ` Ricardo Wurmus
2015-12-27 10:15       ` Efraim Flashner
2016-01-04 15:57         ` Ludovic Courtès
2015-12-03 14:43 ` [PATCH 06/10] gnu: Add python-swiftclient Efraim Flashner
2015-12-07 19:27   ` Efraim Flashner
2015-12-11 14:22     ` Ricardo Wurmus
2015-12-27 10:14       ` Efraim Flashner
2016-01-04 16:03         ` Ludovic Courtès
2015-12-03 14:43 ` [PATCH 07/10] gnu: Add python-rauth Efraim Flashner
2015-12-03 19:26   ` Efraim Flashner
2015-12-04  9:53   ` Ricardo Wurmus
2015-12-07 19:27     ` Efraim Flashner
2015-12-11 14:23       ` Ricardo Wurmus
2015-12-27 10:15         ` Efraim Flashner
2016-01-04 16:04           ` Ludovic Courtès
2015-12-03 14:43 ` [PATCH 08/10] gnu: Add python-pyasn1-modules Efraim Flashner
2015-12-07 19:28   ` Efraim Flashner
2015-12-11 14:29     ` Ricardo Wurmus
2015-12-27 10:13       ` Efraim Flashner
2016-01-04 16:04         ` Ludovic Courtès
2015-12-03 14:43 ` [PATCH 09/10] gnu: Add python2-functools32 Efraim Flashner
2015-12-04 10:00   ` Ricardo Wurmus
2015-12-07 19:28     ` Efraim Flashner
2015-12-11 14:30       ` Ricardo Wurmus
2015-12-27 10:12         ` Efraim Flashner
2015-12-30 14:11           ` Ricardo Wurmus
2016-01-04 16:05             ` Ludovic Courtès
2015-12-03 14:43 ` [PATCH 10/10] gnu: Add git-annex-remote-hubic Efraim Flashner
2015-12-04  9:57   ` Ricardo Wurmus
2015-12-07 19:30     ` Efraim Flashner

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20151227121352.61cb557c@debian-netbook \
    --to=efraim@flashner.co.il \
    --cc=guix-devel@gnu.org \
    --cc=ricardo.wurmus@mdc-berlin.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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).