mirror of https://github.com/sipwise/jitsi.git
parent
4f29c79738
commit
c16dec5bdd
@ -1,70 +1,68 @@
|
||||
#!/bin/bash
|
||||
#!/bin/bash -x
|
||||
|
||||
if [[ "$1" == "--help" || "$1" == "-h" || "$1" == "-?" || $# -lt 3 ]]; then
|
||||
echo "Usage $0 rpmVersion rpmRelease svnRevisionNumber"
|
||||
exit 1
|
||||
fi
|
||||
SCRIPT_DIR="$(dirname "$(readlink -f "$0")")"
|
||||
#exec > "${0%.*}.log" 2>&1
|
||||
|
||||
rpmVersion=$1
|
||||
rpmRelease=$2
|
||||
svnRevisionNumber=$3
|
||||
latestVersion=`echo $rpmRelease| sed "s/build.[0-9]*/latest/g" `
|
||||
#buildNumber=$(echo $rpmRelease | cut -d '.' -f 3,4 -)
|
||||
buildNumber=$rpmRelease
|
||||
#exec -x
|
||||
|
||||
rpmbuilddir=~/rpmbuild
|
||||
SVN_REPO=https://svn.java.net/svn/jitsi~svn/trunk
|
||||
|
||||
dashIndex=`expr index $rpmVersion -`
|
||||
if [[ $dashIndex != 0 ]]; then
|
||||
echo "ERROR: $rpmVersion should not contain the - character."
|
||||
echo "A correct rpmVersion is, for example: 1.0"
|
||||
if [[ "$1" == "--help" || "$1" == "-h" || "$1" == "-?" || $# -lt 2 ]]; then
|
||||
echo "Usage $0 VERSION BUILD_NUMBER"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
dashIndex=`expr index $rpmRelease -`
|
||||
if [[ $dashIndex != 0 ]]; then
|
||||
echo "ERROR: $rpmRelease should not contain the - character."
|
||||
echo "A correct rpmRelease is, for example: alpha3.nightly.build.1234"
|
||||
exit 1
|
||||
fi
|
||||
version=$1
|
||||
buildNumber=$2
|
||||
|
||||
# Deletes everything but the newest files matching the specified pattern
|
||||
clean_oldies() {
|
||||
pattern="$1"
|
||||
leaveCount="$2"
|
||||
|
||||
fileCount=$(ls -1 $pattern | wc -l)
|
||||
tailCount=$((fileCount - leaveCount))
|
||||
|
||||
if [ ! -d "$rpmbuilddir/SOURCES" ]; then
|
||||
mkdir $rpmbuilddir/SOURCES
|
||||
fi
|
||||
if [ ! -d "$rpmbuilddir/SOURCES/jitsi" ]; then
|
||||
cd $rpmbuilddir/SOURCES
|
||||
svn --non-interactive checkout $SVN_REPO jitsi
|
||||
fi
|
||||
(( $tailCount < 0 )) && tailCount=0
|
||||
|
||||
ls -t $pattern | tail -$tailCount | xargs rm -f
|
||||
}
|
||||
|
||||
cd $rpmbuilddir/SOURCES/jitsi
|
||||
svn --non-interactive update --revision $svnRevisionNumber
|
||||
exitCode=$?; [[ $exitCode != 0 ]] && exit $exitCode
|
||||
cd $SCRIPT_DIR/SOURCES
|
||||
|
||||
[[ ! -d jitsi ]] && git clone https://github.com/jitsi/jitsi
|
||||
cd jitsi
|
||||
git stash
|
||||
git pull --rebase
|
||||
git stash pop
|
||||
|
||||
echo "Creating zip file"
|
||||
cd $rpmbuilddir/SOURCES
|
||||
cd $SCRIPT_DIR/SOURCES
|
||||
rm -f jitsi-src*.zip
|
||||
zipFileName=jitsi-src-${rpmVersion}-${rpmRelease/./-}.zip
|
||||
zip -rq $zipFileName jitsi -x "jitsi/**/.svn/**/*" -x"jitsi/**/.svn/*" -x"jitsi/.svn/*" -x"jitsi/.svn/**/*"
|
||||
exitCode=$?; [[ $exitCode != 0 ]] && exit $exitCode
|
||||
zipFileName=jitsi-src-${version}-${buildNumber/./-}.zip
|
||||
zip -rq $zipFileName jitsi -x 'jitsi/.git/* jitsi/.gitignore'
|
||||
|
||||
sed -i \
|
||||
-e "s@Version:\( *\).*@Version:\1$rpmVersion@" \
|
||||
-e "s@Release:\( *\).*@Release:\1$rpmRelease@" \
|
||||
-e "s@Version:\( *\).*@Version:\1$version@" \
|
||||
-e "s@Release:\( *\).*@Release:\1$buildNumber@" \
|
||||
-e "s@Source0:\( *\).*@Source0:\1http://download.jitsi.org/jitsi/nightly/src/$zipFileName@" \
|
||||
-e "s@ant -Dlabel=.* rebuild@ant -Dlabel=$buildNumber rebuild@" \
|
||||
$rpmbuilddir/SPECS/jitsi.spec
|
||||
|
||||
echo "=============[ Building i386 RPM package]============="
|
||||
rm -f $rpmbuilddir/RPMS/i386/jitsi*.rpm
|
||||
setarch i386 rpmbuild -bb $rpmbuilddir/SPECS/jitsi.spec
|
||||
exitCode=$?; [[ $exitCode != 0 ]] && exit $exitCode
|
||||
packagename32=jitsi-${rpmVersion}-${rpmRelease}.i386.rpm
|
||||
|
||||
echo "=============[ Building x86_64 RPM package]============="
|
||||
rm -f $rpmbuilddir/RPMS/x86_64/jitsi*.rpm
|
||||
setarch x86_64 rpmbuild -bb $rpmbuilddir/SPECS/jitsi.spec
|
||||
exitCode=$?; [[ $exitCode != 0 ]] && exit $exitCode
|
||||
packagename64=jitsi-${rpmVersion}-${rpmRelease}.x86_64.rpm
|
||||
$SCRIPT_DIR/SPECS/jitsi.spec
|
||||
|
||||
rm -f $SCRIPT_DIR/RPMS/i686/jitsi*.rpm
|
||||
echo "=============[ Building i686 RPM package ]============="
|
||||
# Note! rpmbuild --target is known not to work correctly, so we use setarch
|
||||
setarch i686 rpmbuild -bb $SCRIPT_DIR/SPECS/jitsi.spec
|
||||
packagename32=jitsi-${version}-${buildNumber}.i686.rpm
|
||||
|
||||
rm -f $SCRIPT_DIR/RPMS/x86_64/jitsi*.rpm
|
||||
echo "=============[ Building x86_64 RPM package ]============="
|
||||
# Note! rpmbuild --target is known not to work correctly, so we use setarch
|
||||
setarch x86_64 rpmbuild -bb $SCRIPT_DIR/SPECS/jitsi.spec
|
||||
packagename64=jitsi-${version}-${buildNumber}.x86_64.rpm
|
||||
|
||||
mkdir -p $SCRIPT_DIR/RPMS/common
|
||||
|
||||
cp $SCRIPT_DIR/RPMS/i686/$packagename32 $SCRIPT_DIR/RPMS/common/
|
||||
cp $SCRIPT_DIR/RPMS/x86_64/$packagename64 $SCRIPT_DIR/RPMS/common/
|
||||
clean_oldies "$SCRIPT_DIR/RPMS/common/jitsi*.rpm" 20
|
||||
|
||||
createrepo --database --deltas $SCRIPT_DIR/RPMS/common/
|
||||
|
||||
Loading…
Reference in new issue