summaryrefslogtreecommitdiff
path: root/deploy
diff options
context:
space:
mode:
Diffstat (limited to 'deploy')
-rwxr-xr-xdeploy113
1 files changed, 113 insertions, 0 deletions
diff --git a/deploy b/deploy
new file mode 100755
index 0000000..1cc38e1
--- /dev/null
+++ b/deploy
@@ -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."
+