aboutsummaryrefslogtreecommitdiff
path: root/linaro-hwpack-install
diff options
context:
space:
mode:
authorMichael Hudson <michael.hudson@linaro.org>2010-12-10 12:19:08 +1300
committerMichael Hudson <michael.hudson@linaro.org>2010-12-10 12:19:08 +1300
commitac25e497b1f16f2cad9d54035fb89017ee1506e9 (patch)
tree15b083c40aa12c51a858bb6d7d86d1c13720ffb5 /linaro-hwpack-install
parent439694a55d44c1102e09ae1ee84d240e98a9e331 (diff)
parenta84949a23420dd33da4a519be1613e31c6874b54 (diff)
merge --force-yes support
Diffstat (limited to 'linaro-hwpack-install')
-rwxr-xr-xlinaro-hwpack-install47
1 files changed, 33 insertions, 14 deletions
diff --git a/linaro-hwpack-install b/linaro-hwpack-install
index 5684c51..101c498 100755
--- a/linaro-hwpack-install
+++ b/linaro-hwpack-install
@@ -26,6 +26,7 @@ LOCKFILE="/var/lock/hwpack"
TEMP_DIR=$(mktemp -d)
HWPACK_DIR="${TEMP_DIR}/unpacked"
INSTALL_LATEST="no"
+FORCE_YES="no"
SOURCES_LIST_FILE="${TEMP_DIR}/sources.list"
APT_GET_OPTIONS="Dir::Etc::SourceList=${SOURCES_LIST_FILE}"
SUPPORTED_FORMATS="1.0 2.0" # A space-separated list of hwpack formats.
@@ -35,21 +36,33 @@ die() {
exit 1
}
-usage_msg="Usage: $(basename $0) [--install-latest] HWPACK_TARBALL"
+usage_msg="Usage: $(basename $0) [--install-latest] [--force-yes] HWPACK_TARBALL"
if [ $# -eq 0 ]; then
die $usage_msg
-elif [ $# -eq 1 ]; then
- HWPACK_TARBALL=$1
-elif [ $# -eq 2 ]; then
- if [ "$1" != "--install-latest" ]; then
- die "Unknown argument: $1 \n$usage_msg"
- fi
- INSTALL_LATEST="yes"
- HWPACK_TARBALL=$2
-else
- die $usage_msg
fi
+HWPACK_TARBALL_FOUND="no"
+
+while [ $# -gt 0 ]; do
+ case "$1" in
+ --install-latest)
+ INSTALL_LATEST="yes"
+ shift;;
+ --force-yes)
+ FORCE_YES="yes"
+ shift;;
+ --*)
+ die $usage_msg "\nUnrecognized option: \"$1\"";;
+ *)
+ [ "$HWPACK_TARBALL_FOUND" = "yes" ] && die $usage_msg
+ HWPACK_TARBALL="$1"
+ HWPACK_TARBALL_FOUND="yes"
+ shift;;
+ esac
+done
+
+[ "$HWPACK_TARBALL_FOUND" = "no" ] && die $usage_msg
+
# Try to acquire fd #9 (i.e. /var/lock/hwpack) for 2 seconds.
# Using 9 as the file descriptor because of https://launchpad.net/bugs/249620
exec 9>$LOCKFILE
@@ -127,17 +140,23 @@ cat /etc/apt/sources.list >> "$SOURCES_LIST_FILE"
sudo apt-get -o "$APT_GET_OPTIONS" update -qq
echo -n "Installing packages ..."
+
+if [ "$FORCE_YES" == "yes" ]; then
+ FORCE_OPTIONS="--yes --force-yes"
+else
+ FORCE_OPTIONS=""
+fi
+
if [ "$format" == "2.0" ]; then
HWPACK_NAME=`grep NAME "${HWPACK_DIR}/metadata" | cut -d "=" -f2`
HWPACK_VERSION=`grep VERSION "${HWPACK_DIR}/metadata" | cut -d "=" -f2`
- sudo apt-get -o "$APT_GET_OPTIONS" install hwpack-"$HWPACK_NAME=$HWPACK_VERSION"
+ sudo apt-get $FORCE_OPTIONS -o "$APT_GET_OPTIONS" install hwpack-"$HWPACK_NAME=$HWPACK_VERSION"
elif [ "$format" == "1.0" ]; then
if [ "$INSTALL_LATEST" == "yes" ]; then
packages=`sed 's/=.*//' "${HWPACK_DIR}"/manifest`
else
packages=`cat "${HWPACK_DIR}"/manifest`
fi
- sudo apt-get -o "$APT_GET_OPTIONS" install $packages
+ sudo apt-get $FORCE_OPTIONS -o "$APT_GET_OPTIONS" install $packages
fi
-
echo "Done"