You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
233 lines
7.0 KiB
233 lines
7.0 KiB
#!/bin/sh
|
|
#
|
|
# This script prepares & uploads tarballs
|
|
# Usage within KDE svn tree.
|
|
# Based on cvs2pack
|
|
# Copyright 2002 Nikolas Zimmermann <wildfox@kde.org>
|
|
# Copyright 2004-2006 Jaroslaw Staniek <js@iidea.pl>
|
|
# Copyright 2005 Martin Ellis <martin.ellis@kdemail.net>
|
|
# License: GPL (http://www.gnu.org/)
|
|
|
|
DIRNAME=`pwd`/`dirname $0`
|
|
cd $DIRNAME
|
|
|
|
# General
|
|
MODULE=koffice
|
|
PROJECT=kexi
|
|
PROJECT_TITLE=Kexi
|
|
MODULE_PATH=trunk/$MODULE
|
|
|
|
# Admin from branch as trunk in for KDE4.
|
|
# Bump to 3.5 when that branch is stable?
|
|
KDESOURCEDIR=branches/KDE/3.5
|
|
KDEADMIN_PATH=$KDESOURCEDIR/kde-common/admin
|
|
|
|
PROJECT_PATH=koffice/kexi
|
|
#For versions in a branch:
|
|
PROJECT_VER=1.0
|
|
#PROJECT_PATH=branches/kexi/$PROJECT_VER
|
|
SVN2DIST_OPTIONS=--no-i18n #set --no-i18n for version being outside the trunk
|
|
|
|
# Make sure these are all directories - see Makefile creation below
|
|
EXC="3rdparty/uuid plugins/importwizard scriptingcore scriptingplugins"
|
|
|
|
# Uploading
|
|
UPLOAD_USER=user # CHANGE
|
|
UPLOAD_PASS=pass # CHANGE
|
|
UPLOAD_HOST=host # CHANGE
|
|
DO_UPLOAD=0 # 1 = Yes; 0 = No
|
|
|
|
# SVN'ing
|
|
SVN_USER=staniek # CHANGE
|
|
SVN_PASS= # CHANGE
|
|
SVN_HOST=https://svn.kde.org/home/kde
|
|
|
|
# Dist-settings
|
|
# set empty if this is snapshot
|
|
DIST_VER=`grep "# define KEXI_VERSION_STRING" ../../kexi_version.h | \
|
|
sed -e 's/.*\"\(.*\)\"/\1/;s/ //g;y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/;'`
|
|
|
|
# Pick kexi_stable.lsm or kexi.lsm as a LSM file template
|
|
echo $DIST_VER | grep -e "beta" -e "rc" \
|
|
> /dev/null && lsmsrcfile=kexi.lsm || lsmsrcfile=kexi_stable.lsm
|
|
|
|
fixAppSpecific()
|
|
{
|
|
rm -f ../changes-* #remove koffice-specific changelog
|
|
mv CHANGES ../
|
|
echo "For complete list of authors see kexi/main/kexiaboutdata.h file or use \"Help->About Kexi\" menu command." > ../AUTHORS
|
|
}
|
|
|
|
# Paths
|
|
mkdir -p /tmp/kexi-dist
|
|
DESTINATION=/tmp/kexi-dist/$DIST_VER # CHANGE TO A NON-EXISTING DIR, WHICH WILL BE CREATED LATER!!!
|
|
CONFIGURE_PREFIX=`kde-config --prefix` # CHANGE
|
|
EXPECT_PROGRAM=`which expect` # CHANGE
|
|
ED_LOCATION=/bin # CHANGE
|
|
|
|
# Work around for stupid Subversion bug on Martin's machine
|
|
SVN_PROGRAM="strace -o /dev/null "`which svn`
|
|
|
|
DATE_PROGRAM=`which date` # CHANGE
|
|
PERL_PROGRAM=`which perl` # CHANGE
|
|
SVN2DIST_PROGRAM=`which svn2dist` # CHANGE
|
|
test -z $SVN2DIST_PROGRAM && exit 1
|
|
NCFTPPUT_PROGRAM=`which ncftpput` # CHANGE
|
|
CONF= # CANGE OR LEAVE EMPTY IF NO SPECIAL configure.in.in should be copied
|
|
|
|
# --- end of configuration area ---
|
|
|
|
# Main program
|
|
if [ -z "$DIST_VER" ]; then
|
|
today=`$DATE_PROGRAM +%d-%m-%y`
|
|
snapshot="-snapshot"
|
|
else
|
|
today=$DIST_VER
|
|
snapshot=
|
|
fi
|
|
|
|
echo "*** Creating $PROJECT-$today$snaphshot ***"
|
|
|
|
if ! [ -e $DESTINATION ]; then
|
|
echo "*** Setup-Mode: Creating..."
|
|
echo " -> $DESTINATION..."
|
|
mkdir $DESTINATION
|
|
echo " -> $DESTINATION/source..."
|
|
mkdir $DESTINATION/source
|
|
echo " -> $DESTINATION/archive..."
|
|
mkdir $DESTINATION/archive
|
|
fi
|
|
|
|
if [ -e $DESTINATION ]; then
|
|
# rm -f $DESTINATION/expect_script
|
|
|
|
# touch $DESTINATION/expect_script
|
|
# chmod +x $DESTINATION/expect_script
|
|
|
|
# echo "#!$EXPECT_PROGRAM
|
|
# spawn $SVN_PROGRAM -d :pserver:$SVN_USER@$CVS_HOST:/home/kde login
|
|
# expect -re \"SVN password: \"
|
|
# send \"$SVN_PASS\\r\"
|
|
# expect eof" >> $DESTINATION/expect_script
|
|
|
|
rm -f $DESTINATION/LOG
|
|
fi
|
|
|
|
echo $DESTINATION/source/$MODULE
|
|
if ! [ -e $DESTINATION/source/$MODULE ]; then
|
|
echo "*** Setup-Mode: Checking $MODULE/$PROJECT out from SVN..."
|
|
cd $DESTINATION/source
|
|
|
|
# Get admin dir
|
|
echo "$SVN_PROGRAM co $SVN_HOST/$KDEADMIN_PATH" >> $DESTINATION/LOG
|
|
$SVN_PROGRAM co $SVN_HOST/$KDEADMIN_PATH >> $DESTINATION/LOG 2>&1 || exit 1
|
|
|
|
# Get KOffice top-level dir
|
|
echo "$SVN_PROGRAM co -N $SVN_HOST/$MODULE_PATH" >> $DESTINATION/LOG
|
|
$SVN_PROGRAM co -N $SVN_HOST/$MODULE_PATH >> $DESTINATION/LOG 2>&1 || exit 1
|
|
|
|
# Get KoProperty, KOffice{Core|UI} and KROSS from lib
|
|
echo "cd $MODULE && $SVN_PROGRAM up -N lib ; cd .. " >> $DESTINATION/LOG
|
|
(cd $MODULE && $SVN_PROGRAM up -N lib ; cd .. ) >> $DESTINATION/LOG 2>&1 || exit 1
|
|
echo "cd $MODULE/lib && $SVN_PROGRAM up koproperty ; cd .." >> $DESTINATION/LOG
|
|
(cd $MODULE/lib && $SVN_PROGRAM up koproperty ; cd ..) >> $DESTINATION/LOG 2>&1 || exit 1
|
|
echo "cd $MODULE/lib && $SVN_PROGRAM up kofficecore ; cd .." >> $DESTINATION/LOG
|
|
(cd $MODULE/lib && $SVN_PROGRAM up kofficecore ; cd ..) >> $DESTINATION/LOG 2>&1 || exit 1
|
|
echo "cd $MODULE/lib && $SVN_PROGRAM up kofficeui ; cd .." >> $DESTINATION/LOG
|
|
(cd $MODULE/lib && $SVN_PROGRAM up kofficeui ; cd ..) >> $DESTINATION/LOG 2>&1 || exit 1
|
|
echo "cd $MODULE/lib && $SVN_PROGRAM up kross ; cd .." >> $DESTINATION/LOG
|
|
(cd $MODULE/lib && $SVN_PROGRAM up kross ; cd ..) >> $DESTINATION/LOG 2>&1 || exit 1
|
|
|
|
# Get Kexi
|
|
echo "cd $MODULE && $SVN_PROGRAM up $PROJECT ; cd .." >> $DESTINATION/LOG
|
|
(cd $MODULE && $SVN_PROGRAM up $PROJECT ; cd ..) >> $DESTINATION/LOG 2>&1 || exit 1
|
|
|
|
#mv $PROJECT_VER/$MODULE/$PROJECT $MODULE/ || exit 1
|
|
#rm -rf $PROJECT_VER || exit 1
|
|
|
|
cd $MODULE || exit 1
|
|
|
|
ln -s ../admin admin
|
|
cd ..
|
|
fi
|
|
|
|
|
|
echo "1. Cleaning up..."
|
|
cd $DESTINATION/source/$MODULE || exit 1
|
|
rm -fr acinclude.m4 aclocal.m4 Makefile.in Makefile libtool $PROJECT/config.h \
|
|
config.h.in stamp-h.in subdirs configure configure.in configure.files stamp-h \
|
|
inst-apps autom4te-2.5x.cache autom4te.cache .autoconf_trace MakeVars.in \
|
|
Makefile.am Makefile.rules.in
|
|
|
|
find . -name \*~ | xargs rm -f
|
|
|
|
|
|
echo "2. Updating from SVN..."
|
|
#$DESTINATION/expect_script >> $DESTINATION/LOG 2>&1
|
|
cd admin || exit 1
|
|
$SVN_PROGRAM up >> $DESTINATION/LOG 2>&1 || exit 1
|
|
cd ../kexi || exit 1
|
|
$SVN_PROGRAM up >> $DESTINATION/LOG 2>&1 || exit 1
|
|
|
|
|
|
cd $DESTINATION/archive || exit 1
|
|
rm -f *
|
|
#rm -f $DESTINATION/expect_script
|
|
|
|
echo "3. Makefile creation..."
|
|
export UNSERMAKE="no"
|
|
if [ -n "$CONF" ]; then
|
|
cp $CONF $DESTINATION/source/$MODULE
|
|
fi
|
|
cd $DESTINATION/source/$MODULE/$PROJECT
|
|
|
|
for dir in $EXC; do
|
|
rm -rf $dir
|
|
# Avoid Makefile.cvs complaining about missing dirs
|
|
mkdir $dir
|
|
done
|
|
#fix exectutable bits for sources:
|
|
find . -name \*.h -o -name \*.cpp -o -name \*.c -o -name \*.cc -o -name \*.1 | xargs chmod a-x
|
|
|
|
#other app-specific fixes:
|
|
fixAppSpecific
|
|
|
|
#--svn2dist will do this
|
|
#cd $DESTINATION/source/$MODULE
|
|
#make -f Makefile.cvs >> $DESTINATION/LOG 2>&1
|
|
#cd ..
|
|
cd $DESTINATION/source
|
|
echo "4. Building tarballs..."
|
|
$SVN2DIST_PROGRAM $MODULE $PROJECT -v $today \
|
|
--svn-root "$SVN_HOST/trunk" \
|
|
$SVN2DIST_OPTIONS \
|
|
--log="$DESTINATION/LOG.SVN2DIST" >> $DESTINATION/LOG 2>&1 || exit 1
|
|
cat "svn2dist-$PROJECT.log" >> $DESTINATION/LOG
|
|
rm -Rf $PROJECT-$today
|
|
rm -f $PROJECT-$today.tar
|
|
mv $PROJECT-$today.* ../archive
|
|
cd ../archive
|
|
|
|
#create .lsm file
|
|
lsmfile=$PROJECT"-"$DIST_VER".lsm"
|
|
echo "Begin4
|
|
Title: $PROJECT_TITLE
|
|
Version: "$DIST_VER"
|
|
Entered-date: "`date +%Y-%m-%d` > $lsmfile
|
|
cat $DIRNAME/$lsmsrcfile >> $lsmfile
|
|
|
|
if [ -n "$snapshot" ] ; then
|
|
mv $PROJECT-$today.tar.bz2 $PROJECT-$today$snapshot.tar.bz2
|
|
mv $PROJECT-$today.tar.gz $PROJECT-$today$snapshot.tar.gz
|
|
fi
|
|
|
|
if [ $DO_UPLOAD -eq 1 ]; then
|
|
echo "5. Uploading tarballs..."
|
|
$NCFTPPUT_PROGRAM -u $UPLOAD_USER -p $UPLOAD_PASS $UPLOAD_HOST $PROJECT $DESTINATION/archive/* >> $DESTINATION/LOG 2>&1
|
|
cd ..
|
|
echo "6. Done!"
|
|
exit
|
|
fi
|
|
|
|
echo "5. Won't upload. Done!"
|