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
This commit is contained in:
Christian Berendt 2013-07-22 11:37:42 +02:00 committed by Dean Troyer
parent 55181d2cfb
commit 71d5630c4a
4 changed files with 38 additions and 3 deletions

View File

@ -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-wsgiref
python-pastedeploy
python-xattr
python-iso8601
zlib1g-dev # testonly

View File

@ -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-routes
python-sqlalchemy
python-wsgiref
pyxattr
zlib-devel # testonly

View File

@ -317,16 +317,36 @@ function get_packages() {
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

View File

@ -275,6 +275,9 @@ USE_SCREEN=${SCREEN_DEV:-$USE_SCREEN}
# 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: