Adds new tag for testonly packages in package lists
Also introduces a new parameter INSTALL_TESTONLY_PACKAGES
in the stackrc with False as default value. Setting it to
True stack.sh will install all packages tagged with the tag
testonly in the package lists.
Includes needed packages for Ubuntu and Fedora
fixes bug #1203680
Change-Id: I911a6601819a34262853bba0658f6751148bfbec
diff --git a/files/apts/glance b/files/apts/glance
index a05e9f2..26826a5 100644
--- a/files/apts/glance
+++ b/files/apts/glance
@@ -1,5 +1,10 @@
gcc
+libffi-dev # testonly
+libmysqlclient-dev # testonly
+libpq-dev # testonly
+libssl-dev # testonly
libxml2-dev
+libxslt1-dev # testonly
python-dev
python-eventlet
python-routes
@@ -10,3 +15,4 @@
python-pastedeploy
python-xattr
python-iso8601
+zlib1g-dev # testonly
diff --git a/files/rpms/glance b/files/rpms/glance
index 0f113ea..dd66171 100644
--- a/files/rpms/glance
+++ b/files/rpms/glance
@@ -1,5 +1,10 @@
gcc
+libffi-devel # testonly
libxml2-devel
+libxslt-devel # testonly
+mysql-devel # testonly
+openssl-devel # testonly
+postgresql-devel # testonly
python-argparse
python-devel
python-eventlet
@@ -9,3 +14,4 @@
python-sqlalchemy
python-wsgiref
pyxattr
+zlib-devel # testonly
diff --git a/functions b/functions
index 087a0ea..5546def 100644
--- a/functions
+++ b/functions
@@ -317,16 +317,36 @@
continue
fi
+ # Assume we want this package
+ package=${line%#*}
+ inst_pkg=1
+
+ # Look for # dist:xxx in comment
if [[ $line =~ (.*)#.*dist:([^ ]*) ]]; then
# We are using BASH regexp matching feature.
package=${BASH_REMATCH[1]}
distros=${BASH_REMATCH[2]}
# In bash ${VAR,,} will lowecase VAR
- [[ ${distros,,} =~ ${DISTRO,,} ]] && echo $package
- continue
+ # Look for a match in the distro list
+ if [[ ! ${distros,,} =~ ${DISTRO,,} ]]; then
+ # If no match then skip this package
+ inst_pkg=0
+ fi
fi
- echo ${line%#*}
+ # Look for # testonly in comment
+ if [[ $line =~ (.*)#.*testonly.* ]]; then
+ package=${BASH_REMATCH[1]}
+ # Are we installing test packages? (test for the default value)
+ if [[ $INSTALL_TESTONLY_PACKAGES = "False" ]]; then
+ # If not installing test packages the skip this package
+ inst_pkg=0
+ fi
+ fi
+
+ if [[ $inst_pkg = 1 ]]; then
+ echo $package
+ fi
done
IFS=$OIFS
done
diff --git a/stackrc b/stackrc
index c81906a..8b97536 100644
--- a/stackrc
+++ b/stackrc
@@ -275,6 +275,9 @@
# Set default screen name
SCREEN_NAME=${SCREEN_NAME:-stack}
+# Do not install packages tagged with 'testonly' by default
+INSTALL_TESTONLY_PACKAGES=${INSTALL_TESTONLY_PACKAGES:-False}
+
# Local variables:
# mode: shell-script
# End: