Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 503396

Summary: app-admin/salt - add USE=libcloud
Product: Gentoo Linux Reporter: Daniel Bradshaw <daniel+gentoo>
Component: Current packagesAssignee: Patrick McLean <chutzpah>
Status: RESOLVED FIXED    
Severity: normal Keywords: PATCH
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Daniel Bradshaw 2014-03-04 09:52:57 UTC
Currently the app-admin/salt ebuilds are constructed to hard depend on libcloud, but this is an optional dependency so should really be on a USE flag.  Currently it's being pulled in on every minion.

Essentially:

@@ -24,7 +24,7 @@
 
 LICENSE="Apache-2.0"
 SLOT="0"
-IUSE="ldap libvirt mako mongodb mysql openssl redis timelib test"
+IUSE="ldap libcloud libvirt mako mongodb mysql openssl redis timelib test"
 
 RDEPEND=">=dev-python/pyzmq-2.2.0[${PYTHON_USEDEP}]
                dev-python/msgpack[${PYTHON_USEDEP}]
@@ -34,7 +34,7 @@
                dev-python/pycryptopp[${PYTHON_USEDEP}]
                dev-python/jinja[${PYTHON_USEDEP}]
                dev-python/setuptools[${PYTHON_USEDEP}]
-               >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}]
+               libcloud? ( >=dev-python/libcloud-0.14.0[${PYTHON_USEDEP}] )
                sys-apps/pciutils
                mako? ( dev-python/mako[${PYTHON_USEDEP}] )
                ldap? ( dev-python/python-ldap[${PYTHON_USEDEP}] )


Reproducible: Always
Comment 1 Patrick McLean gentoo-dev 2014-03-04 19:22:51 UTC
I added it as a hard dep since upstream's requirements.txt lists it as a hard dep.

It's changed to a USE flag now.
Comment 2 Daniel Bradshaw 2014-03-05 09:22:49 UTC
(In reply to Patrick McLean from comment #1)
> I added it as a hard dep since upstream's requirements.txt lists it as a
> hard dep.
> 
> It's changed to a USE flag now.

Ah, sneaky... I'll raise a clarification PR with upstream since that seems misleading.

Per http://docs.saltstack.com/topics/development/conventions/packaging.html the requirement for libcloud is only for Salt-Cloud, which is now merged in to the main package.  Most of the dependencies in Salt have their import instructions fenced with try blocks so it degrades gracefully in cases where a supporting library isn't available.  Psutils and libcloud are good examples of this.

Thanks for fixing.