moved utilities and contribution in branchez

git-svn-id: svn://scm.gforge.inria.fr/svnroot/paradiseo@2183 331e1502-861f-0410-8da2-ba01fb791d7f
This commit is contained in:
liefooga 2011-03-11 13:58:48 +00:00
commit 8280cf082b
1346 changed files with 0 additions and 0 deletions

View file

@ -0,0 +1,97 @@
#!/bin/sh
#
# check the args
#
if [ $# -lt 3 ]
then
echo "Use: apply_licence <dir or file> <licence content file> <authors>"
exit 1
fi
if [ -d $1 ]
then
TARGETS=ls $1
echo " Apply the licence for all files located in $1"
else
if [ ! -f $1 ]
then
echo " Error: unknown file \"$1\" "
exit 1
else
TARGETS=$1
fi
fi
if [ ! -f $2 ]
then
echo " Error: unknown licence file \"$2\" "
exit 1
else
LICENCE_CONTENT_FILE=$2
fi
# manage the authors
AUTHORS=$3
# remove the old licence if there's one
for i in $TARGETS
do
echo " Removing the licence of $i"
total=0
lc=0
keep=0
while read alline
do
lc=`expr $lc + 1`
done < $i
while read aline && $CONTINUE
do
if [ "$aline" = "*/" ]
then
keep=`expr $lc - $total`
tail -n $keep > $i.tmp
mv $i.tmp $i
break
else
total=`expr $total + 1`
fi
done < $i
done
# get the reverse licence file whose lines will be inserted at the begining of each target
tac $LICENCE_CONTENT_FILE > $LICENCE_CONTENT_FILE.reverse.tmp
# loop over the file list
for j in $TARGETS
do
echo " Inserting the new licence in $j"
while read line
do
if [ "$line" = "NAMES" ]
then
sed -i "1i * $AUTHORS" $j
else
sed -i "1i $line" $j
fi
done < $LICENCE_CONTENT_FILE.reverse.tmp
# insert the file name: <file.type>
sed -i "1i * <$j>" $j
sed -i "1i /* " $j
done
# remove the reverse tmp file
rm -f $LICENCE_CONTENT_FILE.reverse.tmp
exit 0

View file

@ -0,0 +1,285 @@
#!/bin/sh
#####################################################################################
# script : build_package.sh
# USER_LOGIN=$1
# PACKAGE_NAME=$2
# PACKAGE_VERSION=$3
# SVN_PATH=$4
#
#####################################################################################
# variables
ARCHIVE_TARGET_PATH=.
TEMP_ROOT_DIR=/tmp
PARADISEO_REPOSITORY='scm.gforge.inria.fr/svn/paradiseo'
PACKAGE_SUFFIX_TAR_BZ2='bz2'
PACKAGE_SUFFIX_TAR_GZ='tar.gz'
PACKAGE_SUFFIX_ZIP='zip'
TAR_BZ2_OPTIONS='cjvf'
TAR_GZ_OPTIONS='cvzf'
#error
GLOBAL_ERROR=-2
VERSION_SYNTAX_ERROR=-3
# argument
USER_LOGIN=$1
PACKAGE_NAME=$2
PACKAGE_VERSION=$3
SVN_PATH=$4
PID=$$
#Date
DATE=`/bin/date '+%Y%m%d%H%M%S'`
# create log file
SPY=$PWD/spy-build-package-${PID}.${DATE}.log
touch $SPY
# PID
echo "PID : ${PID}"
echo "PID : ${PID}" >> $SPY
# Date
DAY_DATE=`/bin/date '+%Y%m%d'`
echo "DAY_DATE : ${DAY_DATE}"
echo "DAY_DATE : ${DAY_DATE}" >> $SPY
echo "DATE : ${DATE}"
echo "DATE : ${DATE}" >> ${SPY}
START_AT=`/bin/date '+%H:%M:%S'`
echo "START_AT : ${START_AT}"
echo "START_AT : ${START_AT}" >> $SPY
echo >> ${SPY}
# check the number of parameters
if [ $# -lt 3 ]
then
echo
echo "=ERR=> Usage : $0 <user login> <package name> <version> <paradiseo svn tag>"
exit 1
fi
# check version syntax
function check_version()
{
VERSION=$1
VERSION_SYNTAX="`echo ${VERSION} | /bin/grep [0-9].[0-9]`"
echo "VERSION : $VERSION_SYNTAX" >> ${SPY}
if [ "$VERSION_SYNTAX" = "" ]
then
return $VERSION_SYNTAX_ERROR
else
return 0
fi
}
# get last sources
function build_archive()
{
GETBACK=$PWD
SVN=svn+ssh://$1@$PARADISEO_REPOSITORY
TEMP_DIR_NAME=temp_$DATE
# create a temporary directory
mkdir $TEMP_ROOT_DIR/$TEMP_DIR_NAME/
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot create directory $TEMP_ROOT_DIR/$TEMP_DIR_NAME"
echo " Cannot create directory $TEMP_ROOT_DIR/$TEMP_DIR_NAME" >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "$TEMP_ROOT_DIR/$TEMP_DIR_NAME created" >> ${SPY}
# create a subdir with the full name of the release
mkdir $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot create directory $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION"
echo " Cannot create directory $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION" >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "$TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION created" >> ${SPY}
# go in the last subdir
cd $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot go in $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION"
echo " Cannot go in $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION" >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "Been in $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION" >> ${SPY}
# checkout the sources of ParadiEO from the svn repository
if [ "$SVN_PATH" = "" ]
then
svn checkout $SVN/trunk $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot checkout from $SVN/trunk. Make sure you can access to the repository."
echo " Cannot checkout from $SVN/trunk" >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "svn checkout of $SVN/trunk DONE" >> ${SPY}
else
svn checkout $SVN/$SVN_PATH $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot checkout from $SVN/$SVN_PATH"
echo " Cannot checkout from $SVN/$SVN_PATH" >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "svn checkout of $SVN/$SVN_PATH DONE" >> ${SPY}
fi
# remove all the ".svn" config directories
for i in `find $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION -name \.svn -type d`; do
rm -Rf $i;
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot remove $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION/$i"
echo " Cannot remove $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION/$i" >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "$i removed from final archive" >> ${SPY}
done
cd $TEMP_ROOT_DIR/$TEMP_DIR_NAME
# create .tar.bz2 archive
tar $TAR_BZ2_OPTIONS $2-$3.$PACKAGE_SUFFIX_TAR_BZ2 $PACKAGE_NAME-$PACKAGE_VERSION
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot create archive with \" tar -$TAR_OPTIONS $2-$3.$PACKAGE_SUFFIX_TAR_BZ2 $PACKAGE_NAME-$PACKAGE_VERSION \" "
echo " Cannot create archive with \" tar -$TAR_OPTIONS $2-$3.$PACKAGE_SUFFIX_TAR_BZ2 $PACKAGE_NAME-$PACKAGE_VERSION \" " >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "$2-$3.$PACKAGE_SUFFIX_TAR_BZ2 archive created" >> ${SPY}
# move the archive in the initial directory
mv $2-$3.$PACKAGE_SUFFIX_TAR_BZ2 $GETBACK
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot move archive from $PWD to $GETBACK"
echo " Cannot move archive from $PWD to $GETBACK" >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "$2-$3.$PACKAGE_SUFFIX_TAR_BZ2 moved from $PWD to $GETBACK " >> ${SPY}
#create tar.gz archive
tar $TAR_GZ_OPTIONS $2-$3.$PACKAGE_SUFFIX_TAR_GZ $PACKAGE_NAME-$PACKAGE_VERSION
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot create archive with \" tar -$TAR_OPTIONS $2-$3.$PACKAGE_SUFFIX_TAR_GZ $PACKAGE_NAME-$PACKAGE_VERSION \" "
echo " Cannot create archive with \" tar -$TAR_OPTIONS $2-$3.$PACKAGE_SUFFIX_TAR_GZ $PACKAGE_NAME-$PACKAGE_VERSION \" " >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "$2-$3.$PACKAGE_SUFFIX_TAR_GZ archive created" >> ${SPY}
# move the archive in the initial directory
mv $2-$3.$PACKAGE_SUFFIX_TAR_GZ $GETBACK
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot move archive from $PWD to $GETBACK"
echo " Cannot move archive from $PWD to $GETBACK" >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "$2-$3.$PACKAGE_SUFFIX_TAR_GZ moved from $PWD to $GETBACK " >> ${SPY}
#create zip archive
zip -r $2-$3.$PACKAGE_SUFFIX_ZIP $PACKAGE_NAME-$PACKAGE_VERSION
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot create archive with \" zip -r $2-$3.$PACKAGE_SUFFIX_ZIP $PACKAGE_NAME-$PACKAGE_VERSION \" "
echo " Cannot create archive with \" zip -r $2-$3.$PACKAGE_SUFFIX_ZIP $PACKAGE_NAME-$PACKAGE_VERSION\" " >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "$2-$3.$PACKAGE_SUFFIX_ZIP archive created" >> ${SPY}
# move the archive in the initial directory
mv $2-$3.$PACKAGE_SUFFIX_ZIP $GETBACK
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot move archive from $PWD to $GETBACK"
echo " Cannot move archive from $PWD to $GETBACK" >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "$2-$3.$PACKAGE_SUFFIX_ZIP moved from $PWD to $GETBACK " >> ${SPY}
# come back where we were at the beginning
cd $GETBACK
# remove the temporary directories
rm -Rf $TEMP_ROOT_DIR/$TEMP_DIR_NAME
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot remove temp directory $TEMP_ROOT_DIR/$TEMP_DIR_NAME"
echo " Cannot remove temp directory $TEMP_ROOT_DIR/$TEMP_DIR_NAME" >> ${SPY}
echo "Try to remove it \" by hand\" "
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "$TEMP_ROOT_DIR/$TEMP_DIR_NAME directory completely removed" >> ${SPY}
return 0
}
# check version
check_version $PACKAGE_VERSION
if [ ! "$?" = 0 ]
then
echo
echo "Invalid version syntax:$PACKAGE_VERSION " | tee -a ${SPY}
echo "A valid syntax is X-Y ([0-9]-[0-9]) "
echo
exit
fi
# get last sources from SVN repository and build full archive
build_archive $USER_LOGIN $PACKAGE_NAME $PACKAGE_VERSION $SVN_PATH
echo
echo
END_AT=`/bin/date '+%H:%M:%S'`
echo "END_AT : ${START_AT}"
echo >> ${SPY}
echo "END_AT : ${START_AT}" >> ${SPY}
echo "-----------------------------------------------------------------------------------------" >> ${SPY}

View file

@ -0,0 +1,18 @@
#!/bin/bash
lines=0
for i in `ls $1`
do
mem=$PWD
if [ ! -d $i ]
then
tmp=`wc -l $i | cut -f1 -d\ `
echo $tmp >> /tmp/count.txt
else
cd $i
/home/tlegrand/OPAC/software/paradisEO/repository/paradiseo/trunk/count_lines.sh $PWD
cd $mem
fi
done

View file

@ -0,0 +1,105 @@
#!/bin/sh
TEST_DIR=/opt/paradiseo/project-management/test/build/continuous
CMAKE_INSTALL_CONFIG=/opt/paradiseo/project-management/test/work-copy/continuous/trunk/install.cmake
PARADISEO_EO_DIR=/opt/paradiseo/project-management/test/work-copy/continuous/trunk/paradiseo-eo
PARADISEO_MO_DIR=/opt/paradiseo/project-management/test/work-copy/continuous/trunk/paradiseo-mo
PARADISEO_MOEO_DIR=/opt/paradiseo/project-management/test/work-copy/continuous/trunk/paradiseo-moeo
PARADISEO_PEO_DIR=/opt/paradiseo/project-management/test/work-copy/continuous/trunk/paradiseo-peo
EO_BUILD_TYPE=Debug
MO_BUILD_TYPE=Debug
MOEO_BUILD_TYPE=Debug
PEO_BUILD_TYPE=Debug
GENERATOR_LIST="Unix_Makefiles KDevelop3"
SLEEP_DELAY=120
if [ $# -lt 2 ]
then
echo
echo "=ERR=> Usage : $0 <SSH_AUTH_SOCK> <SSH_AGENT_PID>"
exit 1
fi
# export the ssh-agent variables
export SSH_AUTH_SOCK=$1
export SSH_AGENT_PID=$2
# create a daily dir for the logs
DAY=`/bin/date '+%Y-%m-%d'`
if [ ! -d $TEST_DIR/logs/$DAY ]
then
mkdir $TEST_DIR/logs/$DAY
fi
for gen in $GENERATOR_LIST
do
DATE=`/bin/date '+%Y%m%d%H%M%S'`
SPY=$TEST_DIR/logs/$DAY/continuous.${DATE}.log
gen=`echo "$gen" | sed s/_/\ /g`
echo "*** BEGIN Generator=$gen" >> $SPY
### Remove build dirs content #########################################
rm -Rf $PARADISEO_EO_DIR/build/CMakeCache.txt
rm -Rf $PARADISEO_MO_DIR/build/CMakeCache.txt
rm -Rf $PARADISEO_MOEO_DIR/build/CMakeCache.txt
rm -Rf $PARADISEO_PEO_DIR/build/CMakeCache.txt
################ EO ##################################################
# Launch CMake for EO
cd $PARADISEO_EO_DIR/build
# Launch CTest for EO
cmake .. -G"$gen" -DCMAKE_BUILD_TYPE=$EO_BUILD_TYPE -DENABLE_CMAKE_TESTING=TRUE >> $SPY
ctest -D ContinuousUpdate -D ContinuousStart -D ContinuousBuild -D ContinuousCoverage -D ContinuousTest -D ContinuousMemCheck -D ContinuousSubmit -VV >> $SPY
################ MO ##################################################
# Launch CMake for MO
cd $PARADISEO_MO_DIR/build
# Launch CTest for MO
cmake .. -Dconfig=$CMAKE_INSTALL_CONFIG -G"$gen" -DCMAKE_BUILD_TYPE=$MO_BUILD_TYPE -DENABLE_CMAKE_TESTING=TRUE >> $SPY
ctest -D ContinuousUpdate -D ContinuousStart -D ContinuousBuild -D ContinuousCoverage -D ContinuousTest -D ContinuousMemCheck -D ContinuousSubmit -VV >> $SPY
################ MOEO ##################################################
# Launch CMake for MOEO
cd $PARADISEO_MOEO_DIR/build
# Launch CTest for MOEO
cmake .. -Dconfig=$CMAKE_INSTALL_CONFIG -G"$gen" -DCMAKE_BUILD_TYPE=$MOEO_BUILD_TYPE -DENABLE_CMAKE_TESTING=TRUE >> $SPY
ctest -D ContinuousUpdate -D ContinuousStart -D ContinuousBuild -D ContinuousCoverage -D ContinuousTest -D ContinuousMemCheck -D ContinuousSubmit -VV >> $SPY
################ PEO ##################################################
# Launch CMake for PEO
cd $PARADISEO_PEO_DIR/build
if [ ! -f ~/.mpd.conf ]
then
echo "No mpd.conf file in ~ . Goind to create one ..." >> $SPY
touch ~/.mpd.conf >> $SPY
echo "MPD_SECRETWORD=hello-paradiseo" > ~/.mpd.conf
echo "secretword=kiss-paradiseo" >> ~/.mpd.conf
chmod 600 ~/.mpd.conf >> $SPY
fi
# Launch CTest for PEO
cmake .. -Dconfig=$CMAKE_INSTALL_CONFIG -G"$gen" -DCMAKE_BUILD_TYPE=$PEO_BUILD_TYPE -DENABLE_CMAKE_TESTING=TRUE >> $SPY
ctest -D ContinuousUpdate -D ContinuousStart -D ContinuousBuild -D ContinuousCoverage -D ContinuousTest -D ContinuousMemCheck -D ContinuousSubmit -VV >> $SPY
echo "*** END Generator=$gen" >> $SPY
sleep $SLEEP_DELAY
done

View file

@ -0,0 +1,97 @@
#!/bin/sh
TEST_DIR=/opt/paradiseo/project-management/test/build/nightly
CMAKE_INSTALL_CONFIG=/opt/paradiseo/project-management/test/work-copy/nightly/trunk/install.cmake
PARADISEO_EO_DIR=/opt/paradiseo/project-management/test/work-copy/nightly/trunk/paradiseo-eo
PARADISEO_MO_DIR=/opt/paradiseo/project-management/test/work-copy/nightly/trunk/paradiseo-mo
PARADISEO_MOEO_DIR=/opt/paradiseo/project-management/test/work-copy/nightly/trunk/paradiseo-moeo
PARADISEO_PEO_DIR=/opt/paradiseo/project-management/test/work-copy/nightly/trunk/paradiseo-peo
EO_BUILD_TYPE=Debug
MO_BUILD_TYPE=Debug
MOEO_BUILD_TYPE=Debug
PEO_BUILD_TYPE=Debug
SLEEP_DELAY=120
GENERATOR_LIST="Unix_Makefiles KDevelop3"
if [ $# -lt 2 ]
then
echo
echo "=ERR=> Usage : $0 <SSH_AUTH_SOCK> <SSH_AGENT_PID>"
exit 1
fi
# export the ssh-agent variables
export SSH_AUTH_SOCK=$1
export SSH_AGENT_PID=$2
for gen in $GENERATOR_LIST
do
DATE=`/bin/date '+%Y%m%d%H%M%S'`
SPY=$TEST_DIR/logs/nightly.${DATE}.log
gen=`echo "$gen" | sed s/_/\ /g`
echo "*** BEGIN Generator=$gen" >> $SPY
### Remove build dirs content #########################################
rm -Rf $PARADISEO_EO_DIR/build/CMakeCache.txt
rm -Rf $PARADISEO_MO_DIR/build/CMakeCache.txt
rm -Rf $PARADISEO_MOEO_DIR/build/CMakeCache.txt
rm -Rf $PARADISEO_PEO_DIR/build/CMakeCache.txt
################ EO ##################################################
# Launch CMake for EO
cd $PARADISEO_EO_DIR/build
# Launch CTest for EO
cmake .. -G"$gen" -DCMAKE_BUILD_TYPE=$EO_BUILD_TYPE -DENABLE_CMAKE_TESTING=TRUE >> $SPY
ctest -D NightlyUpdate -D NightlyStart -D NightlyBuild -D NightlyCoverage -D NightlyTest -D NightlyMemCheck -D NightlySubmit >> $SPY
################ MO ##################################################
# Launch CMake for MO
cd $PARADISEO_MO_DIR/build
# Launch CTest for MO
cmake .. -Dconfig=$CMAKE_INSTALL_CONFIG -G"$gen" -DCMAKE_BUILD_TYPE=$MO_BUILD_TYPE -DENABLE_CMAKE_TESTING=TRUE >> $SPY
ctest -D NightlyUpdate -D NightlyStart -D NightlyBuild -D NightlyCoverage -D NightlyTest -D ightlyMemCheck -D NightlySubmit >> $SPY
################ MOEO ##################################################
# Launch CMake for MOEO
cd $PARADISEO_MOEO_DIR/build
# Launch CTest for MOEO
cmake .. -Dconfig=$CMAKE_INSTALL_CONFIG -G"$gen" -DCMAKE_BUILD_TYPE=$MOEO_BUILD_TYPE -DENABLE_CMAKE_TESTING=TRUE >> $SPY
ctest -D NightlyUpdate -D NightlyStart -D NightlyBuild -D NightlyCoverage -D NightlyTest -D NightlyMemCheck -D NightlySubmit >> $SPY
################ PEO ##################################################
# Launch CMake for PEO
cd $PARADISEO_PEO_DIR/build
if [ ! -f ~/.mpd.conf ]
then
echo "No mpd.conf file in ~ . Goind to create one ..." >> $SPY
touch ~/.mpd.conf >> $SPY
echo "MPD_SECRETWORD=hello-paradiseo" > ~/.mpd.conf
echo "secretword=kiss-paradiseo" >> ~/.mpd.conf
chmod 600 ~/.mpd.conf >> $SPY
fi
# Launch CTest for PEO
cmake .. -Dconfig=$CMAKE_INSTALL_CONFIG -G"$gen" -DCMAKE_BUILD_TYPE=$PEO_BUILD_TYPE -DENABLE_CMAKE_TESTING=TRUE >> $SPY
ctest -D NightlyUpdate -D NightlyStart -D NightlyBuild -D NightlyCoverage -D NightlyTest -D NightlyMemCheck -D NightlySubmit >> $SPY
echo "*** END Generator=$gen" >> $SPY
sleep $SLEEP_DELAY
done

View file

@ -0,0 +1,416 @@
#!/bin/sh
#####################################################################################
# script : update_api_doc.sh
# USER_LOGIN=$1
# SVN_PATH=$2
#
#####################################################################################
PARADISEO_REPOSITORY='scm.gforge.inria.fr/svn/paradiseo'
GFORGE=gforge.inria.fr
WEB_SITE_DOC_PATH='/home/groups/paradiseo/htdocs/addon'
MODULE_LIST="mo moeo peo"
EO_REPOSITORY='eodev.cvs.sourceforge.net'
EO_SHARED_MODULE_PATH='/cvsroot/eodev'
EO_REPOSITORY_CONNECTION_MODE='pserver'
EO_REPOSITORY_LOGIN='anonymous'
EO_MODULE_NAME='eo'
PID=$$
#Date
DATE=`/bin/date '+%Y%m%d%H%M%S'`
# create log file
SPY=$PWD/spy-update-api-doc-${PID}.${DATE}.log
touch $SPY
# PID
echo "PID : ${PID}"
echo "PID : ${PID}" >> $SPY
# Date
DAY_DATE=`/bin/date '+%Y%m%d'`
echo "DAY_DATE : ${DAY_DATE}"
echo "DAY_DATE : ${DAY_DATE}" >> $SPY
echo "DATE : ${DATE}"
echo "DATE : ${DATE}" >> ${SPY} 2>> ${SPY}
START_AT=`/bin/date '+%H:%M:%S'`
echo "START_AT : ${START_AT}"
echo "START_AT : ${START_AT}" >> $SPY
echo >> ${SPY} 2>> ${SPY}
TEMP_ROOT_DIR=/tmp
TEMP_DIR_NAME=temp_$DATE
#error
GLOBAL_ERROR=-2
VERSION_SYNTAX_ERROR=-3
# argument
USER_LOGIN=$1
EO_CVS_TAG=$2
SVN_PATH=$3
if [ $# -lt 3 ]
then
echo
echo "=ERR=> Usage : $0 <user login> <eo cvs tag> <paradiseo svn tag>"
exit 1
fi
SVN=svn+ssh://$USER_LOGIN@$PARADISEO_REPOSITORY
#### Specific case for EO ##################################################################
# create a temporary directory
mkdir $TEMP_ROOT_DIR/$TEMP_DIR_NAME >> ${SPY} 2>> ${SPY}
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot create directory $TEMP_ROOT_DIR/$TEMP_DIR_NAME"
echo " Cannot create directory $TEMP_ROOT_DIR/$TEMP_DIR_NAME" >> ${SPY} 2>> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
exit $GLOBAL_ERROR
fi
echo "$TEMP_ROOT_DIR/$TEMP_DIR_NAME created" >> ${SPY} 2>> ${SPY}
# go in the last subdir
cd $TEMP_ROOT_DIR/$TEMP_DIR_NAME >> ${SPY} 2>> ${SPY}
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot go in $TEMP_ROOT_DIR/$TEMP_DIR_NAME"
echo " Cannot go in $TEMP_ROOT_DIR/$TEMP_DIR_NAME" >> ${SPY} 2>> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
exit $GLOBAL_ERROR
fi
echo "Been in $TEMP_ROOT_DIR/$TEMP_DIR_NAME" >> ${SPY} 2>> ${SPY}
# get the eo sources
cvs -z3 -d:$EO_REPOSITORY_CONNECTION_MODE:$EO_REPOSITORY_LOGIN@$EO_REPOSITORY:$EO_SHARED_MODULE_PATH checkout -r $EO_CVS_TAG $EO_MODULE_NAME >> ${SPY} 2>> ${SPY}
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot checkout EO from $EO_CVS_GETTER"
echo " Cannot checkout EO from $EO_CVS_GETTER" >> ${SPY} 2>> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
exit $GLOBAL_ERROR
fi
echo "Checkout EO from $EO_CVS_GETTER" >> ${SPY} 2>> ${SPY}
# move eo to paradiseo-eo
mv $TEMP_ROOT_DIR/$TEMP_DIR_NAME/eo $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-eo >> ${SPY} 2>> ${SPY}
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot rename eo to paradiseo-eo"
echo " Cannot rename eo to paradiseo-eo" >> ${SPY} 2>> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
exit $GLOBAL_ERROR
fi
echo "Renamed eo to paradiseo-eo ">> ${SPY} 2>> ${SPY}
# go in the build dir
mkdir $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-eo/build >> ${SPY} 2>> ${SPY}
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot create $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-eo/build"
echo " Cannot create $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-eo/build" >> ${SPY} 2>> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
exit $GLOBAL_ERROR
fi
echo "Cannot create $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-eo/build" >> ${SPY} 2>> ${SPY}
# get the eo sources
cd $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-eo/build >> ${SPY} 2>> ${SPY}
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot go in $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-eo/build"
echo " Cannot go in $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-eo/build" >> ${SPY} 2>> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
exit $GLOBAL_ERROR
fi
echo "Cannot go in $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-eo/build" >> ${SPY} 2>> ${SPY}
# Configure the module
cmake .. -G"Unix Makefiles" >> ${SPY} 2>> ${SPY}
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot run CMake: cmake .."
echo " Cannot run CMake: cmake .." >> ${SPY} 2>> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
exit $GLOBAL_ERROR
fi
echo "CMake run for EO with: cmake .." >> ${SPY} 2>> ${SPY}
# Go in the module's doc dir
cd $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-eo/build/doc >> ${SPY} 2>> ${SPY}
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot go in $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-eo/build/doc"
echo " Cannot go in $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-eo/build/doc" >> ${SPY} 2>> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
exit $GLOBAL_ERROR
fi
echo "Go in $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-eo/build/doc OK" >> ${SPY} 2>> ${SPY}
# Generate the doc
make doc >> ${SPY} 2>> ${SPY}
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot go generate the doc for paradiseo-eo"
echo " Cannot go generate the doc for paradiseo-eo" >> ${SPY} 2>> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
exit $GLOBAL_ERROR
fi
echo "Doc generated" >> ${SPY} 2>> ${SPY}
#############################################################################################
# go in the last subdir
cd $TEMP_ROOT_DIR/$TEMP_DIR_NAME >> ${SPY} 2>> ${SPY}
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot go in $TEMP_ROOT_DIR/$TEMP_DIR_NAME"
echo " Cannot go in $TEMP_ROOT_DIR/$TEMP_DIR_NAME" >> ${SPY} 2>> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
exit $GLOBAL_ERROR
fi
echo "Been in $TEMP_ROOT_DIR/$TEMP_DIR_NAME" >> ${SPY} 2>> ${SPY}
# checkout the sources of ParadisEO from the svn repository
if [ "$SVN_PATH" = "" ]
then
svn checkout $SVN/trunk $TEMP_ROOT_DIR/$TEMP_DIR_NAME >> ${SPY} 2>> ${SPY}
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot checkout from $SVN/trunk. Make sure you can access to the repository."
echo " Cannot checkout from $SVN/trunk" >> ${SPY} 2>> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
exit $GLOBAL_ERROR
fi
echo "svn checkout of $SVN/trunk DONE" >> ${SPY} 2>> ${SPY}
else
svn checkout $SVN/$SVN_PATH $TEMP_ROOT_DIR/$TEMP_DIR_NAME >> ${SPY} 2>> ${SPY}
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot checkout from $SVN/$SVN_PATH"
echo " Cannot checkout from $SVN/$SVN_PATH" >> ${SPY} 2>> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
exit $GLOBAL_ERROR
fi
echo "svn checkout of $SVN/$SVN_PATH DONE" >> ${SPY} 2>> ${SPY}
fi
####### ParadisEO's module part ##################################################################
for MODULE in $MODULE_LIST; do
# Go in the module's dir
cd $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/build >> ${SPY} 2>> ${SPY}
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot go in $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/build"
echo " Cannot go in $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/build" >> ${SPY} 2>> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
exit $GLOBAL_ERROR
fi
echo "Been in $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/build" >> ${SPY} 2>> ${SPY}
# Configure the module
cmake .. -G"Unix Makefiles" -Dconfig=$TEMP_ROOT_DIR/$TEMP_DIR_NAME/install.cmake >> ${SPY} 2>> ${SPY}
if [ ! "$?" = "0" ]
then
echo
echo " Cannot run CMake: cmake .. -Dconfig=$TEMP_ROOT_DIR/$TEMP_DIR_NAME/install.cmake"
echo " Cannot run CMake: cmake .. -Dconfig=$TEMP_ROOT_DIR/$TEMP_DIR_NAME/install.cmake" >> ${SPY} 2>> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
exit $GLOBAL_ERROR
fi
echo "CMake run for $MODULE with: cmake .. -Dconfig=$TEMP_ROOT_DIR/$TEMP_DIR_NAME/install.cmake" >> ${SPY} 2>> ${SPY}
# Go in the module's doc dir
cd $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/build/doc >> ${SPY} 2>> ${SPY}
if [ ! "$?" = "0" ]
then
echo
echo " Cannot go in $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/build/doc"
echo " Cannot go in $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/build/doc" >> ${SPY} 2>> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
exit $GLOBAL_ERROR
fi
echo "Been in $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/build/doc" >> ${SPY} 2>> ${SPY}
# Generate the doc
make doc >> ${SPY} 2>> ${SPY}
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot go generate the doc for paradiseo-$MODULE"
echo " Cannot go generate the doc for paradiseo-$MODULE" >> ${SPY} 2>> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
exit $GLOBAL_ERROR
fi
echo "Doc generated" >> ${SPY} 2>> ${SPY}
# Make an archive of the previous on-line doc
ssh $USER_LOGIN@$GFORGE tar -cvf doc-$MODULE-${DATE}.tgz $WEB_SITE_DOC_PATH/paradiseo-$MODULE/doc >> ${SPY} 2>> ${SPY}
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot make an archive of the previous doc for paradiseo-$MODULE in $WEB_SITE_DOC_PATH/paradiseo-$MODULE/doc"
echo " Cannot make an archive of the previous doc for paradiseo-$MODULE in $WEB_SITE_DOC_PATH/paradiseo-$MODULE/doc" >> ${SPY} 2>> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
exit $GLOBAL_ERROR
fi
echo "Doc archive made for paradiseo-$MODULE" >> ${SPY} 2>> ${SPY}
# Delete the old html doc
svn delete $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/doc/html >> ${SPY} 2>> ${SPY}
if [ ! "$?" = "0" ]
then
echo ''
echo " svn delete $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/doc/html"
echo " svn delete $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/doc/html" >> ${SPY} 2>> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
exit $GLOBAL_ERROR
fi
echo "Svn delete of $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/doc/html done" >> ${SPY} 2>> ${SPY}
# Delete the old latex doc
svn delete $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/doc/latex >> ${SPY} 2>> ${SPY}
if [ ! "$?" = "0" ]
then
echo ''
echo " svn delete $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/doc/latex"
echo " svn delete $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/doc/latex" >> ${SPY} 2>> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
exit $GLOBAL_ERROR
fi
echo "Svn delete of $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/doc/latex done" >> ${SPY} 2>> ${SPY}
# Delete the old man doc
svn delete $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/doc/man >> ${SPY} 2>> ${SPY}
if [ ! "$?" = "0" ]
then
echo ''
echo " svn delete $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/doc/man"
echo " svn delete $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/doc/man" >> ${SPY} 2>> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
exit $GLOBAL_ERROR
fi
echo "Svn delete of $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/doc/man done" >> ${SPY} 2>> ${SPY}
# Copy build/doc to source/doc
cp -Rf $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/build/doc/* $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/doc >> ${SPY} 2>> ${SPY}
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot copy build doc $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/build/doc to source doc dir $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE"
echo " Cannot copy build doc $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/build/doc to source doc dir $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE" >> ${SPY} 2>> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
exit $GLOBAL_ERROR
fi
echo "Copied build doc $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/build/doc to source doc dir $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE" >> ${SPY} 2>> ${SPY}
# Add the new doc
cd $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/doc && svn add ./html ./latex ./man >> ${SPY} 2>> ${SPY}
if [ ! "$?" = "0" ]
then
echo ''
echo " cd $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/doc && svn add ./html ./latex ./man"
echo " cd $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/doc && svn add ./html ./latex ./man" >> ${SPY} 2>> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
exit $GLOBAL_ERROR
fi
echo "Svn add of $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/doc/html + man + latex done" >> ${SPY} 2>> ${SPY}
# Commit the generated doc into the tag/svn path
svn commit -m "Doc script updates API documentation module=paradiseo-$MODULE SPY=$SPY" $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/doc >> ${SPY} 2>> ${SPY}
if [ ! "$?" = "0" ]
then
echo ''
echo " svn commit -m \"Doc script updates API documentation SPY=$SPY\" $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/build/doc"
echo " svn commit -m \"Doc script updates API documentation SPY=$SPY\" $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/build/doc" >> ${SPY} 2>> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
exit $GLOBAL_ERROR
fi
echo "Doc script updates API documentation for paradiseo-$MODULE" >> ${SPY} 2>> ${SPY}
# Remove php scripts that cannot be copied on the gforge
rm -f $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/build/doc/html/*.php >> ${SPY} 2>> ${SPY}
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot remove php file from $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/build/doc/html"
echo " Cannot remove php file from $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/build/doc/html" >> ${SPY} 2>> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
exit $GLOBAL_ERROR
fi
echo "Removed php file from $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/build/doc/html" >> ${SPY} 2>> ${SPY}
# Copy the doc to the web site
scp $TEMP_ROOT_DIR/$TEMP_DIR_NAME/paradiseo-$MODULE/build/doc/html/* $USER_LOGIN@$GFORGE:$WEB_SITE_DOC_PATH/paradiseo-$MODULE/doc >> ${SPY} 2>> ${SPY}
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot copy the doc of paradiseo-$MODULE on the web site"
echo " Cannot copy the doc of paradiseo-$MODULE on the web site" >> ${SPY} 2>> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
exit $GLOBAL_ERROR
fi
echo "Doc generated for module=paradiseo-$MODULE/" >> ${SPY} 2>> ${SPY}
done
# remove the temporary directories
rm -Rf $TEMP_ROOT_DIR/$TEMP_DIR_NAME >> ${SPY} 2>> ${SPY}
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot remove temp directory $TEMP_ROOT_DIR/$TEMP_DIR_NAME"
echo " Cannot remove temp directory $TEMP_ROOT_DIR/$TEMP_DIR_NAME" >> ${SPY} 2>> ${SPY}
echo "Try to remove it \" by hand\" "
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "$TEMP_ROOT_DIR/$TEMP_DIR_NAME directory completely removed" >> ${SPY} 2>> ${SPY}
echo
echo
END_AT=`/bin/date '+%H:%M:%S'`
echo "END_AT : ${START_AT}"
echo >> ${SPY} 2>> ${SPY}
echo "END_AT : ${START_AT}" >> ${SPY} 2>> ${SPY}
echo "-----------------------------------------------------------------------------------------" >> ${SPY} 2>> ${SPY}
echo
echo "Successfull doc generation, see ${SPY} for more details"
echo
exit

View file

@ -0,0 +1,399 @@
#!/bin/sh
#####################################################################################
# script : update_version.sh
# update a version of paradiseo_full_package from SVN repository source
#
#####################################################################################
#------------------------------------------------------#
#-- FUNCTION : mail ---#
#------------------------------------------------------#
#-- PARAMETERS : ---#
#-- $1 : sujet ---#
#-- $2 : objet ---#
#-- $3 : corps ---#
#-- ---#
#------------------------------------------------------#
#-- CODE RETURN : 0 ---#
#------------------------------------------------------#
function send_mail
{
MAIL_SUJET=$1
MAIL_MESSAGE=$2
MAIL_DEST=$3
for DEST in ${MAIL_DEST}
do
# build Mail
/usr/bin/mailx -s "${MAIL_SUJET}" ${DEST} << EOF
${MAIL_MESSAGE}
EOF
done
return 0
}
# variables
ARCHIVE_TARGET_PATH=.
TEMP_ROOT_DIR=/tmp
EO_REPOSITORY='eodev.cvs.sourceforge.net'
EO_SHARED_MODULE_PATH='/cvsroot/eodev'
EO_REPOSITORY_CONNECTION_MODE='pserver'
EO_REPOSITORY_LOGIN='anonymous'
EO_MODULE_NAME='eo'
PARADISEO_REPOSITORY='scm.gforge.inria.fr/svn/paradiseo'
PACKAGE_SUFFIX_TAR_BZ2='bz2'
PACKAGE_SUFFIX_TAR_GZ='tar.gz'
PACKAGE_SUFFIX_ZIP='zip'
TAR_BZ2_OPTIONS='cjvf'
TAR_GZ_OPTIONS='cvzf'
PARADISEO_ARCHIVE_DOWNLOAD_SITE=duff.lifl.fr
PARADISEO_ARCHIVE_DOWNLOAD_ADDRESS=/home/www/LIFL/htdocs/Equipes/OPAC/Paradiseo/download
#error
GLOBAL_ERROR=-2
VERSION_SYNTAX_ERROR=-3
# argument
USER_LOGIN=$1
PACKAGE_NAME=$2
PACKAGE_VERSION=$3
SVN_PATH=$4
EO_CVS_TAG=$5
PID=$$
#Date
DATE=`/bin/date '+%Y%m%d%H%M%S'`
# create log file
SPY=$PWD/spy-${PID}.${DATE}.log
touch $SPY
# PID
echo "PID : ${PID}"
echo "PID : ${PID}" >> $SPY
# Date
DAY_DATE=`/bin/date '+%Y%m%d'`
echo "DAY_DATE : ${DAY_DATE}"
echo "DAY_DATE : ${DAY_DATE}" >> $SPY
echo "DATE : ${DATE}"
echo "DATE : ${DATE}" >> ${SPY}
START_AT=`/bin/date '+%H:%M:%S'`
echo "START_AT : ${START_AT}"
echo "START_AT : ${START_AT}" >> $SPY
echo >> ${SPY}
# check the number of parameters
if [ $# -lt 3 ]
then
echo
echo "=ERR=> Usage : $0 <user login> <package name> <version> [paradiseo svn tag] [eo cvs tag]"
exit 1
fi
# check version syntax
function check_version()
{
VERSION=$1
VERSION_SYNTAX="`echo ${VERSION} | /bin/grep [0-9].[0-9]`"
echo "VERSION : $VERSION_SYNTAX" >> ${SPY}
if [ "$VERSION_SYNTAX" = "" ]
then
return $VERSION_SYNTAX_ERROR
else
return 0
fi
}
# get last sources
function build_archive()
{
GETBACK=$PWD
SVN=svn+ssh://$1@$PARADISEO_REPOSITORY
TEMP_DIR_NAME=temp_$DATE
# create a temporary directory
mkdir $TEMP_ROOT_DIR/$TEMP_DIR_NAME/
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot create directory $TEMP_ROOT_DIR/$TEMP_DIR_NAME"
echo " Cannot create directory $TEMP_ROOT_DIR/$TEMP_DIR_NAME" >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "$TEMP_ROOT_DIR/$TEMP_DIR_NAME created" >> ${SPY}
# create a subdir with the full name of the release
mkdir $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot create directory $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION"
echo " Cannot create directory $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION" >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "$TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION created" >> ${SPY}
# go in the last subdir
cd $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot go in $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION"
echo " Cannot go in $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION" >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "Been in $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION" >> ${SPY}
# checkout the sources of EO from the cvs repository within an anonymous access (ssh mode)
# Always extract the source from the HEAD cvs tag.
if [ "$CVS_PATH" = "" ]
then
cvs -z3 -d:$EO_REPOSITORY_CONNECTION_MODE:$EO_REPOSITORY_LOGIN@$EO_REPOSITORY:$EO_SHARED_MODULE_PATH checkout -r$EO_CVS_TAG $EO_MODULE_NAME
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot checkout EO sources from $EO_REPOSITORY:$EO_SHARED_MODULE_PATH from tag $EO_CVS_TAG"
echo " Cannot checkout EO sources from$EO_REPOSITORY:$EO_SHARED_MODULE_PATH from tag $EO_CVS_TAG" >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "cvs checkout of $EO_REPOSITORY:$EO_SHARED_MODULE_PATH DONE from tag $EO_CVS_TAG" >> ${SPY}
fi
# remove all the ".cvs" config directories
for i in `find $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION -name CVS -type d`; do
rm -Rf $i;
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot remove $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION/$i"
echo " Cannot remove $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION/$i" >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "$i removed from final archive" >> ${SPY}
done
# remove all the ".cvsignore" config directories
for i in `find $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION -name .cvs* -type f`; do
rm -Rf $i;
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot remove $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION/$i"
echo " Cannot remove $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION/$i" >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "$i removed from final archive" >> ${SPY}
done
# move eo --> paradiseo-eo
mv $EO_MODULE_NAME paradiseo-$EO_MODULE_NAME
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot move $EO_MODULE_NAME to paradiseo-$EO_MODULE_NAME"
echo " Cannot move $EO_MODULE_NAME to paradiseo-$EO_MODULE_NAME" >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "$EO_MODULE_NAME moved to paradiseo-$EO_MODULE_NAME" >> ${SPY}
# checkout the sources of ParadiEO from the svn repository
if [ "$SVN_PATH" = "" ]
then
svn checkout $SVN/trunk $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot checkout from $SVN/trunk. Make sure you can access to the repository."
echo " Cannot checkout from $SVN/trunk" >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "svn checkout of $SVN/trunk DONE" >> ${SPY}
else
svn checkout $SVN/$SVN_PATH $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot checkout from $SVN/$SVN_PATH"
echo " Cannot checkout from $SVN/$SVN_PATH" >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "svn checkout of $SVN/$SVN_PATH DONE" >> ${SPY}
fi
# remove all the ".svn" config directories
for i in `find $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION -name \.svn -type d`; do
rm -Rf $i;
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot remove $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION/$i"
echo " Cannot remove $TEMP_ROOT_DIR/$TEMP_DIR_NAME/$PACKAGE_NAME-$PACKAGE_VERSION/$i" >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "$i removed from final archive" >> ${SPY}
done
cd $TEMP_ROOT_DIR/$TEMP_DIR_NAME
# create .tar.bz2 archive
tar $TAR_BZ2_OPTIONS $2-$3.$PACKAGE_SUFFIX_TAR_BZ2 $PACKAGE_NAME-$PACKAGE_VERSION
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot create archive with \" tar -$TAR_OPTIONS $2-$3.$PACKAGE_SUFFIX_TAR_BZ2 $PACKAGE_NAME-$PACKAGE_VERSION \" "
echo " Cannot create archive with \" tar -$TAR_OPTIONS $2-$3.$PACKAGE_SUFFIX_TAR_BZ2 $PACKAGE_NAME-$PACKAGE_VERSION \" " >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "$2-$3.$PACKAGE_SUFFIX_TAR_BZ2 archive created" >> ${SPY}
# move the archive in the initial directory
mv $2-$3.$PACKAGE_SUFFIX_TAR_BZ2 $GETBACK
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot move archive from $PWD to $GETBACK"
echo " Cannot move archive from $PWD to $GETBACK" >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "$2-$3.$PACKAGE_SUFFIX_TAR_BZ2 moved from $PWD to $GETBACK " >> ${SPY}
#create tar.gz archive
tar $TAR_GZ_OPTIONS $2-$3.$PACKAGE_SUFFIX_TAR_GZ $PACKAGE_NAME-$PACKAGE_VERSION
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot create archive with \" tar -$TAR_OPTIONS $2-$3.$PACKAGE_SUFFIX_TAR_GZ $PACKAGE_NAME-$PACKAGE_VERSION \" "
echo " Cannot create archive with \" tar -$TAR_OPTIONS $2-$3.$PACKAGE_SUFFIX_TAR_GZ $PACKAGE_NAME-$PACKAGE_VERSION \" " >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "$2-$3.$PACKAGE_SUFFIX_TAR_GZ archive created" >> ${SPY}
# move the archive in the initial directory
mv $2-$3.$PACKAGE_SUFFIX_TAR_GZ $GETBACK
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot move archive from $PWD to $GETBACK"
echo " Cannot move archive from $PWD to $GETBACK" >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "$2-$3.$PACKAGE_SUFFIX_TAR_GZ moved from $PWD to $GETBACK " >> ${SPY}
#create zip archive
zip -r $2-$3.$PACKAGE_SUFFIX_ZIP $PACKAGE_NAME-$PACKAGE_VERSION
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot create archive with \" zip -r $2-$3.$PACKAGE_SUFFIX_ZIP $PACKAGE_NAME-$PACKAGE_VERSION \" "
echo " Cannot create archive with \" zip -r $2-$3.$PACKAGE_SUFFIX_ZIP $PACKAGE_NAME-$PACKAGE_VERSION\" " >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "$2-$3.$PACKAGE_SUFFIX_ZIP archive created" >> ${SPY}
# move the archive in the initial directory
mv $2-$3.$PACKAGE_SUFFIX_ZIP $GETBACK
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot move archive from $PWD to $GETBACK"
echo " Cannot move archive from $PWD to $GETBACK" >> ${SPY}
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "$2-$3.$PACKAGE_SUFFIX_ZIP moved from $PWD to $GETBACK " >> ${SPY}
# come back where we were at the beginning
cd $GETBACK
# remove the temporary directories
rm -Rf $TEMP_ROOT_DIR/$TEMP_DIR_NAME
if [ ! "$?" = "0" ]
then
echo ''
echo " Cannot remove temp directory $TEMP_ROOT_DIR/$TEMP_DIR_NAME"
echo " Cannot remove temp directory $TEMP_ROOT_DIR/$TEMP_DIR_NAME" >> ${SPY}
echo "Try to remove it \" by hand\" "
echo -e ' \033[40m\033[1;33m### END ### \033[0m '
return $GLOBAL_ERROR
fi
echo "$TEMP_ROOT_DIR/$TEMP_DIR_NAME directory completely removed" >> ${SPY}
# # need to send the archive on the website ?
# echo
# echo "Do you want to send the archive $PACKAGE_NAME-$PACKAGE_VERSION.$PACKAGE_SUFFIX on $PARADISEO_ARCHIVE_DOWNLOAD_SITE:$PARADISEO_ARCHIVE_DOWNLOAD_ADDRESS as $PARADISEO_ARCHIVE_DOWNLOAD_NAME ? (Y/n) "
# while :
# do
# read answer
# if [ "$answer" = "Y" ]
# then
# echo "Please give your login to connect to $PARADISEO_ARCHIVE_DOWNLOAD_SITE"
# read login
# cp $PACKAGE_NAME-$PACKAGE_VERSION.$PACKAGE_SUFFIX $PARADISEO_ARCHIVE_DOWNLOAD_NAME
# scp $PARADISEO_ARCHIVE_DOWNLOAD_NAME $login@$PARADISEO_ARCHIVE_DOWNLOAD_SITE:$PARADISEO_ARCHIVE_DOWNLOAD_ADDRESS
# rm $PARADISEO_ARCHIVE_DOWNLOAD_NAME
# echo | tee -a ${SPY}
# echo "=> Archive sent to $PARADISEO_ARCHIVE_DOWNLOAD_SITE:$PARADISEO_ARCHIVE_DOWNLOAD_ADDRESS " | tee -a ${SPY}
#
# exit 0
# fi
# if [ "$answer" = "n" ]
# then
# exit 0
# fi
# done
return 0
}
# check version
check_version $PACKAGE_VERSION
if [ ! "$?" = 0 ]
then
echo
echo "Invalid version syntax:$PACKAGE_VERSION " | tee -a ${SPY}
echo "A valid syntax is X-Y ([0-9]-[0-9]) "
echo
exit
fi
# get last sources from SVN repository and build full archive
build_archive $USER_LOGIN $PACKAGE_NAME $PACKAGE_VERSION $SVN_PATH
echo
echo
END_AT=`/bin/date '+%H:%M:%S'`
echo "END_AT : ${START_AT}"
echo >> ${SPY}
echo "END_AT : ${START_AT}" >> ${SPY}
echo "-----------------------------------------------------------------------------------------" >> ${SPY}