diff options
Diffstat (limited to 'deploy')
-rwxr-xr-x | deploy | 113 |
1 files changed, 113 insertions, 0 deletions
@@ -0,0 +1,113 @@ +#!/bin/bash + +usage() +{ + echo "Usage: `basename $0` [-h|--help] [-e|--emulator] [-d|--device] + -h, --help Show this message. + -e, --emulator Install on emulator (default). + -d, --device Install on device." +} + +DEVS=($(sdb devices | tail -n+2)) + +if [ -z $DEVS ] +then + echo "Please connect device or launch emulator." + exit 1 +fi + +if [ -z $1 ] +then + DEV=e + ARCH=i586 +else + case $1 in + -e|--emulator) + DEV=e + ARCH=i586 + ;; + -d|--device) + DEV=d + ARCH=armv7l + ;; + -h|--help) + ;& + *) + usage + exit 1 + ;; + esac +fi + +push() +{ + GBS=~/GBS-ROOT + ROOT=$GBS/local/BUILD-ROOTS/scratch.$ARCH.0 + + if [ ! -e $ROOT/*.conf ] + then + echo "Build root is not ready at $ROOT." + exit 1 + fi + + REPO=$(basename $ROOT/*.conf) + REPO=${REPO%.*} + RPMS=$GBS/local/repos/$REPO/$ARCH/RPMS + + if [ ! -e "$RPMS/$1" ] + then + echo "Can't find $1 in $RPMS. Run build first." + exit 1 + fi + + echo "Pushing $1 into $2..." + sdb -$DEV push "$RPMS/$1" "$2" 2> /dev/null +} + +install() +{ + echo "Installing $2..." + if [[ "$2" == lib* ]] + then + sdb -$DEV root on > /dev/null + sdb -$DEV shell rpm -i --force "$1/$2" > /dev/null + sdb -$DEV root off > /dev/null + else + sdb -$DEV shell pkgcmd -iqt rpm -p "$1/$2" > /dev/null + fi +} + +deploy() +{ + push "$1" "$2" + install "$2" "$1" + sdb -$DEV shell rm "$2/$1" > /dev/null +} + +DEST=/home/developer +VER=$(grep Version: packaging/*.spec | awk '{print $2}') +REL=$(grep Release: packaging/*.spec | awk '{print $2}') +SUFFIX="$VER-$REL.$ARCH.rpm" +PKGS=($(grep %package packaging/*.spec | awk '{print $3}')) + +if [ -z $PKGS ] +then + PKG=$(grep Name: packaging/*.spec | awk '{print $2}') + deploy "$PKG-$SUFFIX" "$DEST" +else + echo "Current package contains several sub-packages:" + for i in ${!PKGS[@]} + do + echo "$((i + 1)). ${PKGS[$i]}" + done + + echo "Specify packages and order of installation (for example: 5 1):" + read NUMS + + for i in $NUMS + do + deploy "${PKGS[$((i - 1))]}-$SUFFIX" "$DEST" + done +fi +echo "Done." + |