gstreamer/scripts/git-update.sh

88 lines
1.4 KiB
Bash
Raw Normal View History

#!/bin/bash
# update all known gstreamer modules
# build them one by one
# report failures at the end
# run this from a directory that contains the checkouts for each of the
# modules
FAILURE=
MODULES="\
gstreamer gst-plugins-base \
gst-plugins-good gst-plugins-ugly gst-plugins-bad \
gst-ffmpeg \
gst-python \
gnonlin"
for m in $MODULES; do
if test -d $m; then
echo "+ updating $m"
cd $m
git pull origin master
if test $? -ne 0
then
git stash
git pull origin master
if test $? -ne 0
then
git stash apply
FAILURE="$FAILURE$m: update\n"
else
git stash apply
fi
cd ..
continue
fi
git submodule update
if test $? -ne 0
then
FAILURE="$FAILURE$m: update\n"
cd ..
continue
fi
cd ..
fi
done
# then build
for m in $MODULES; do
if test -d $m; then
cd $m
if test ! -e Makefile
then
./autoregen.sh
if test $? -ne 0
then
FAILURE="$FAILURE$m: autoregen.sh\n"
cd ..
continue
fi
fi
make $@
if test $? -ne 0
then
FAILURE="$FAILURE$m: make\n"
cd ..
continue
fi
make $@ check
if test $? -ne 0
then
FAILURE="$FAILURE$m: check\n"
cd ..
continue
fi
cd ..
fi
done
if test "x$FAILURE" != "x"; then
echo "Failures:"
echo
echo -e $FAILURE
fi