diff --git a/release.linux.sh b/release.linux.sh deleted file mode 100755 index c0060155..00000000 --- a/release.linux.sh +++ /dev/null @@ -1,362 +0,0 @@ -#!/bin/bash -# -------------------------------------------------------------------- -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# --------------------------------------------------------------------- - - -####################################################################### -# functions # -####################################################################### -notifyError(){ - notify-send -t 0 "Error occoured" "An error occours during the sankore build:\n\t$1" -i /usr/share/icons/oxygen/64x64/status/dialog-error.png - exit 1 -} - -checkExecutable(){ - if [ ! -x $1 ]; then - notify-send "$1 executable not found" - fi -} - -checkDirectory(){ - if [ ! -d $1 ]; then - notify-send "$1 directory not found" - fi -} - -####################################################################### -# path definition # -####################################################################### -QT_PATH="/usr/local/Trolltech/Qt-4.7.3" -QT_PLUGINS_PATH="$QT_PATH/plugins" -RELEASE_DIR=build/linux/release -BUILD_DIR=$RELEASE_DIR/product -GUI_TRANSLATIONS_DIRECTORY_PATH="../Qt-sankore3.1/translations" -QT_LIBRARY_SOURCE_PATH="$QT_PATH/lib" -SANKORE_SRC_PLUGINS_PATH="plugins" -SANKORE_DST_PLUGINS_PATH=build/linux/release/product/plugins -CFF_ADAPTOR_SRC_PLUGIN_PATH=$SANKORE_SRC_PLUGINS_PATH/cffadaptor/build/linux/release/lib - -QMAKE_PATH="$QT_PATH/bin/qmake" -LRELEASE="../Qt-sankore3.1/bin/lrelease" -#LRELEASE="/usr/local/Trolltech/Qt-4.7.3/bin/lrelease" - -ARCHITECTURE=`uname -m` - -####################################################################### -# initials checks # -####################################################################### -checkExecutable $QMAKE_PATH -checkExecutable $LRELEASE - -checkDirectory $GUI_TRANSLATIONS_DIRECTORY_PATH -checkDirectory $QT_PLUGINS_PATH -checkDirectory $QT_LIBRARY_SOURCE_PATH - -checkDirectory $CFF_ADAPTOR_PLUGIN_PATH - -####################################################################### -# cleaning # -####################################################################### -#rm -rf $RELEASE_DIR - - -####################################################################### -# Internalization # -####################################################################### -notify-send "QT" "Internalization ..." - -cd $GUI_TRANSLATIONS_DIRECTORY_PATH -$LRELEASE translations.pro -cd - -if [ ! -e $BUILD_DIR/i18n ]; then - mkdir -p $BUILD_DIR/i18n -fi -#copying qt gui translation -cp $GUI_TRANSLATIONS_DIRECTORY_PATH/qt_??.qm $BUILD_DIR/i18n/ - - -$LRELEASE Sankore_3.1.pro - - -####################################################################### -# building # -####################################################################### -notify-send "Open-Sankore" "Building Open-Sankore ..." - -if [ "$ARCHITECTURE" == "x86_64" ]; then - $QMAKE_PATH -spec linux-g++-64 -else - $QMAKE_PATH -spec linux-g++ -fi - -checkDirectory $BUILD_DIR - -make -j 4 release-install - - -####################################################################### -# github tag # -####################################################################### -notify-send "Git Hub" "Make a tag of the delivered version" -VERSION=`cat $RELEASE_DIR/version` -if [ ! -f $RELEASE_DIR/version ]; then - notifyError "version not found" - exit 1 -else - LAST_COMMITED_VERSION="`git describe $(git rev-list --tags --max-count=1)`" - if [ "v$VERSION" != "$LAST_COMMITED_VERSION" ]; then - echo creating a tag with the version $VERSION - git tag -a "v$VERSION" -m "Generating setup for v$VERSION" - git push origin --tags - fi -fi - -####################################################################### -# coping resources # -####################################################################### -cp resources/linux/run.sh $BUILD_DIR -chmod +x $BUILD_DIR/run.sh - -cp -R resources/linux/qtlinux/* $BUILD_DIR - -cp -R resources/customizations $BUILD_DIR - -notify-send "Sankore" "Copying plugins..." -mkdir "$SANKORE_DST_PLUGINS_PATH" -mkdir "$SANKORE_DST_PLUGINS_PATH/cffadaptor" -cp -R $CFF_ADAPTOR_SRC_PLUGIN_PATH/*.so* "$SANKORE_DST_PLUGINS_PATH/cffadaptor" - -notify-send "QT" "Coping plugins and library ..." -cp -R $QT_PLUGINS_PATH $BUILD_DIR - -#copying custom qt library -QT_LIBRARY_DEST_PATH="$BUILD_DIR/qtlib" -mkdir $QT_LIBRARY_DEST_PATH - -copyQtLibrary(){ - if [ ! -e "$QT_LIBRARY_SOURCE_PATH/$1.so.4" ]; then - notifyError "$1 library not found in path: $QT_LIBRARY_SOURCE_PATH" - fi - cp $QT_LIBRARY_SOURCE_PATH/$1.so.4.* $QT_LIBRARY_DEST_PATH/ -} - -copyQtLibrary libphonon -copyQtLibrary libQtWebKit -copyQtLibrary libQtDBus -copyQtLibrary libQtScript -copyQtLibrary libQtSvg -copyQtLibrary libQtXmlPatterns -copyQtLibrary libQtNetwork -copyQtLibrary libQtXml -copyQtLibrary libQtGui -copyQtLibrary libQtCore -# uncomment for Qt 4.8 -#copyQtLibrary libQtOpenGL - -####################################################################### -# Removing unwanted files # -####################################################################### -cd $BUILD_DIR - -#Removing .svn directories ... -find . -name .svn -exec rm -rf {} \; 2> /dev/null - -cd - -notify-send "Building Sankore" "Finished to build Sankore building the package" - -####################################################################### -# build debian # -####################################################################### -BASE_WORKING_DIR="packageBuildDir" - -#creating package directory -mkdir $BASE_WORKING_DIR -mkdir "$BASE_WORKING_DIR/DEBIAN" -mkdir -p "$BASE_WORKING_DIR/usr/share/applications" -mkdir -p "$BASE_WORKING_DIR/usr/local" - - -cat > "$BASE_WORKING_DIR/DEBIAN/prerm" << EOF -#!/bin/bash -# -------------------------------------------------------------------- -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# --------------------------------------------------------------------- - -xdg-desktop-menu uninstall /usr/share/applications/Open-Sankore.desktop -exit 0 -#DEBHELPER# -EOF - -cat > "$BASE_WORKING_DIR/DEBIAN/postint" << EOF -#!/bin/bash -# -------------------------------------------------------------------- -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# --------------------------------------------------------------------- - -xdg-desktop-menu install --novendor /usr/share/applications/Open-Sankore.desktop -exit 0 -#DEBHELPER# -EOF - - -SANKORE_DIRECTORY_NAME="Open-Sankore-$VERSION" -SANKORE_PACKAGE_DIRECTORY="$BASE_WORKING_DIR/usr/local/$SANKORE_DIRECTORY_NAME" -#move sankore build directory to packages directory -cp -R $BUILD_DIR $SANKORE_PACKAGE_DIRECTORY - - -cat > $BASE_WORKING_DIR/usr/local/$SANKORE_DIRECTORY_NAME/run.sh << EOF -!/bin/bash -# -------------------------------------------------------------------- -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, either version 3 of the License, or -# (at your option) any later version. -# -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. -# -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . -# --------------------------------------------------------------------- - -env LD_LIBRARY_PATH=/usr/local/$SANKORE_DIRECTORY_NAME/qtlib:$LD_LIBRARY_PATH /usr/local/$SANKORE_DIRECTORY_NAME/Open-Sankore -EOF - - -CHANGE_LOG_FILE="$BASE_WORKING_DIR/DEBIAN/changelog-sankore-$VERSION.txt" -CONTROL_FILE="$BASE_WORKING_DIR/DEBIAN/control" -CHANGE_LOG_TEXT="changelog.txt" - -if [ "$ARCHITECTURE" == "x86_64" ]; then - ARCHITECTURE="amd64" -fi - -if [ "$ARCHITECTURE" == "i686" ]; then - ARCHITECTURE="i386" -fi - -echo "Open-Sankore ($VERSION) $ARCHITECTURE; urgency=low" > "$CHANGE_LOG_FILE" -echo >> "$CHANGE_LOG_FILE" -cat $CHANGE_LOG_TEXT >> "$CHANGE_LOG_FILE" -echo >> "$CHANGE_LOG_FILE" -echo "-- Claudio Valerio `date`" >> "$CHANGE_LOG_FILE" - -echo "Package: open-sankore" > "$CONTROL_FILE" -echo "Version: $VERSION" >> "$CONTROL_FILE" -echo "Section: education" >> "$CONTROL_FILE" -echo "Priority: optional" >> "$CONTROL_FILE" -echo "Architecture: $ARCHITECTURE" >> "$CONTROL_FILE" -echo "Essential: no" >> "$CONTROL_FILE" -echo "Installed-Size: `du -s $SANKORE_PACKAGE_DIRECTORY | awk '{ print $1 }'`" >> "$CONTROL_FILE" -echo "Maintainer: Open-Sankore Developers team " >> "$CONTROL_FILE" -echo "Homepage: http://dev.open-sankore.org" >> "$CONTROL_FILE" -echo -n "Depends: " >> "$CONTROL_FILE" -unset tab -declare -a tab -let count=0 -for l in `objdump -p $SANKORE_PACKAGE_DIRECTORY/Open-Sankore | grep NEEDED | awk '{ print $2 }'`; do - for lib in `dpkg -S $l | awk -F":" '{ print $1 }'`; do - #echo $lib - presence=`echo ${tab[*]} | grep -c "$lib"`; - if [ "$presence" == "0" ]; then - tab[$count]=$lib; - ((count++)); - fi; - done; -done; - -#additional dependencies -tab[$count]="gtk2-engines-pixbuf" -((count++)) -tab[$count]="ttf-mscorefonts-installer" -((count++)) - -for ((i=0;i<${#tab[@]};i++)); do - if [ $i -ne "0" ]; then - echo -n ", " >> "$CONTROL_FILE" - fi - echo -n "${tab[$i]} (>= "`dpkg -p ${tab[$i]} | grep "Version: " | awk '{ print $2 }'`") " >> "$CONTROL_FILE" -done -echo "" >> "$CONTROL_FILE" -echo "Description: This a interactive white board that uses a free standard format." >> "$CONTROL_FILE" - -find $BASE_WORKING_DIR/usr/ -exec md5sum {} > $BASE_WORKING_DIR/DEBIAN/md5sums 2>/dev/null \; -SANKORE_SHORTCUT="$BASE_WORKING_DIR/usr/share/applications/Open-Sankore.desktop" -echo "[Desktop Entry]" > $SANKORE_SHORTCUT -echo "Version=$VERSION" >> $SANKORE_SHORTCUT -echo "Encoding=UTF-8" >> $SANKORE_SHORTCUT -echo "Name=Open-Sankore ($VERSION)" >> $SANKORE_SHORTCUT -echo "GenericName=Open-Sankore" >> $SANKORE_SHORTCUT -echo "Comment=Logiciel de creation de presentations pour tableau numerique interactif (TNI)" >> $SANKORE_SHORTCUT -echo "Exec=/usr/local/$SANKORE_DIRECTORY_NAME/run.sh" >> $SANKORE_SHORTCUT -echo "Icon=/usr/local/$SANKORE_DIRECTORY_NAME/sankore.png" >> $SANKORE_SHORTCUT -echo "StartupNotify=true" >> $SANKORE_SHORTCUT -echo "Terminal=false" >> $SANKORE_SHORTCUT -echo "Type=Application" >> $SANKORE_SHORTCUT -echo "Categories=Education" >> $SANKORE_SHORTCUT -echo "Name[fr_FR]=Open-Sankore ($VERSION)" >> $SANKORE_SHORTCUT -cp "resources/images/uniboard.png" "$SANKORE_PACKAGE_DIRECTORY/sankore.png" -chmod 755 "$BASE_WORKING_DIR/DEBIAN" -chmod 755 "$BASE_WORKING_DIR/DEBIAN/prerm" -chmod 755 "$BASE_WORKING_DIR/DEBIAN/postint" - -mkdir -p "install/linux" - -rm install/linux/Open-Sankore_*.deb - -fakeroot chown -R root:root $BASE_WORKING_DIR -dpkg -b "$BASE_WORKING_DIR" install/linux/Open-Sankore_${VERSION}_$ARCHITECTURE.deb -notify-send "Open-Sankore" "Package built" - -#clean up mess -fakeroot rm -rf $BASE_WORKING_DIR - - -####################################################################### -# tar.gz # -####################################################################### -echo `pwd` -cp -R $RELEASE_DIR/product $RELEASE_DIR/Open-Sankore.$VERSION -cd $RELEASE_DIR - -rm ../../../install/linux/Open-Sankore.tar.gz - -tar cvzf ../../../install/linux/Open-Sankore.tar.gz Open-Sankore.$VERSION -C . -notify-send "Open-Sankore" "tar.gz Build done"