aboutsummaryrefslogtreecommitdiff
path: root/extra/pip-helper.sh
diff options
context:
space:
mode:
Diffstat (limited to 'extra/pip-helper.sh')
-rw-r--r--extra/pip-helper.sh32
1 files changed, 32 insertions, 0 deletions
diff --git a/extra/pip-helper.sh b/extra/pip-helper.sh
new file mode 100644
index 0000000..499ef3b
--- /dev/null
+++ b/extra/pip-helper.sh
@@ -0,0 +1,32 @@
+#!/bin/sh
+# This file is part of the stackbin package.
+# It is designed to be run as root, and it will run the requisite pip commands for the discovered environment.
+
+contents="$( awk -F'=' '/ID=|VERSION_ID/{print $2}' /etc/os-release 2>/dev/null | sed -r -e 's/"//g;' )"
+id="$( echo "${contents}" | sed -n -e '1p' )"
+version_id="$( echo "${contents}" | sed -n -e '2p' )"
+
+echo "Any parameters sent to this script ${0} will be added to the list of packages to install."
+echo "This is particularly useful for adding the PyGObject for icon support on EL7."
+piplist="${1}"
+
+if echo "${id}" | grep -qiE 'rhel|centos' ;
+then
+ if echo "${version_id}" | grep -qiE '7' ;
+ then
+ piplist="${piplist} flask-sqlalchemy pytimeparse"
+ fi
+else
+ echo "Unknown os from /etc/os-release. Please investigate what pip3" 1>&2
+ echo "packages are required for this OS release and share it with upstream." 1>&2
+ echo "Aborted." 1>&2
+ exit 1
+fi
+
+if test -n "${piplist}" ;
+then
+ echo "Will try to serially install with pip these packages: ${piplist}"
+ for word in ${piplist} ; do
+ su stackbin -s /bin/sh -c "pip3 install --user ${word}" || exit 1
+ done
+fi
bgstack15