__package_pip: add optional dependencies
This is a poor implementation of optional dependencies for pip packages. It ensures to install them if the package will be installed, but does not take into account if they must be added/removed after the package is already installed. Also, it will not be autoremoved, as all dependencies will not be removed.
This commit is contained in:
parent
7cf85c4659
commit
8eccacec59
3 changed files with 27 additions and 0 deletions
|
@ -56,6 +56,19 @@ fi
|
||||||
|
|
||||||
case "$state_should" in
|
case "$state_should" in
|
||||||
present)
|
present)
|
||||||
|
if [ -f "$__object/parameter/extra" ]
|
||||||
|
then
|
||||||
|
while read extra
|
||||||
|
do
|
||||||
|
if [ "$extras" ]; then
|
||||||
|
extras="$extras,$extra"
|
||||||
|
else
|
||||||
|
extras="$extra"
|
||||||
|
fi
|
||||||
|
done < "$__object/parameter/extra"
|
||||||
|
name="${name}[${extras}]"
|
||||||
|
fi
|
||||||
|
|
||||||
if [ "$runas" ]
|
if [ "$runas" ]
|
||||||
then
|
then
|
||||||
echo "su -c '$pip install -q $name' $runas"
|
echo "su -c '$pip install -q $name' $runas"
|
||||||
|
|
|
@ -22,6 +22,11 @@ OPTIONAL PARAMETERS
|
||||||
name
|
name
|
||||||
If supplied, use the name and not the object id as the package name.
|
If supplied, use the name and not the object id as the package name.
|
||||||
|
|
||||||
|
extra
|
||||||
|
Extra optional dependencies which should be installed along the selected
|
||||||
|
package. Can be specified multiple times. Will only be applied if the
|
||||||
|
package actually will be installed, but will not explicitly checked.
|
||||||
|
|
||||||
pip
|
pip
|
||||||
Instead of using pip from PATH, use the specific pip path.
|
Instead of using pip from PATH, use the specific pip path.
|
||||||
|
|
||||||
|
@ -46,6 +51,14 @@ EXAMPLES
|
||||||
# Use pip in a virtualenv located at /foo/shinken_virtualenv as user foo
|
# Use pip in a virtualenv located at /foo/shinken_virtualenv as user foo
|
||||||
__package_pip pyro --state present --pip /foo/shinken_virtualenv/bin/pip --runas foo
|
__package_pip pyro --state present --pip /foo/shinken_virtualenv/bin/pip --runas foo
|
||||||
|
|
||||||
|
# Install package with optional dependencies
|
||||||
|
__package_pip mautrix-telegram --extra speedups --extra webp_convert --extra hq_thumbnails
|
||||||
|
# or do a little cheating
|
||||||
|
__package_pip mautrix-telegram --extra speedups,webp_convert,hq_thumbnails
|
||||||
|
|
||||||
|
# or take all extras
|
||||||
|
__package_pip mautrix-telegram --extra all
|
||||||
|
|
||||||
|
|
||||||
SEE ALSO
|
SEE ALSO
|
||||||
--------
|
--------
|
||||||
|
|
|
@ -0,0 +1 @@
|
||||||
|
extra
|
Loading…
Reference in a new issue