diff --git a/buildDebianPackage b/buildDebianPackage deleted file mode 100755 index 98fb8c2c..00000000 --- a/buildDebianPackage +++ /dev/null @@ -1,298 +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 . -# --------------------------------------------------------------------- - - -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 -} - -rm -rf "build/linux/release" -rm -rf install - -QT_PATH="/usr/local/Trolltech/Qt-4.7.3" -PLUGINS_PATH="$QT_PATH/plugins" -QMAKE_PATH="$QT_PATH/bin/qmake" -LRELEASES="/usr/local/Trolltech/Qt-4.7.3/bin/lrelease" -GUI_TRANSLATIONS_DIRECTORY_PATH="../Qt-sankore3.1/translations" -ARCHITECTURE=`uname -m` - -if [ ! -e "$QMAKE_PATH" ]; then - notifyError "qmake command not found at $QMAKE_PATH" -fi - -if [ ! -e "$PLUGINS_PATH" ]; then - notifyError "plugins path not found at $PLUGINS_PATH" -fi - -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 - -make -j 4 release-install - -notify-send "Git Hub" "Make a tag of the delivered version" -VERSION=`cat build/linux/release/version` -if [ ! -f build/linux/release/version ]; then - notifyError "version not found" -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 - -cp resources/linux/run.sh build/linux/release/product -chmod +x build/linux/release/product/run.sh - -cp -R resources/linux/qtlinux/* build/linux/release/product/ - -notify-send "QT" "Coping plugins and library ..." -cp -R $PLUGINS_PATH build/linux/release/product/ - -#copying custom qt library -QT_LIBRARY_DEST_PATH="build/linux/release/product/qtlib" -mkdir $QT_LIBRARY_DEST_PATH -QT_LIBRARY_SOURCE_PATH="$QT_PATH/lib" - -copyQtLibrary(){ - if [ ! -e "$QT_LIBRARY_SOURCE_PATH/$1.so.4.7.3" ]; 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/" - cp "$QT_LIBRARY_SOURCE_PATH/$1.so.4.7.3" "$QT_LIBRARY_DEST_PATH/" -} - -copyQtLibrary libQtWebKit -copyQtLibrary libQtDBus -copyQtLibrary libQtScript -copyQtLibrary libQtSvg -copyQtLibrary libQtXmlPatterns -copyQtLibrary libQtNetwork -copyQtLibrary libQtXml -copyQtLibrary libQtGui -copyQtLibrary libQtCore - -if [ ! -e "$QT_LIBRARY_SOURCE_PATH/libphonon.so.4.4.0" ]; then - notifyError "phonon library not found in path: $QT_LIBRARY_SOURCE_PATH" -else - cp "$QT_LIBRARY_SOURCE_PATH/libphonon.so.4" "$QT_LIBRARY_DEST_PATH/" - cp "$QT_LIBRARY_SOURCE_PATH/libphonon.so.4.4.0" "$QT_LIBRARY_DEST_PATH/" -fi - - -notify-send "QT" "Internalization ..." -if [ ! -e $GUI_TRANSLATIONS_DIRECTORY_PATH ]; then - notifyError "gui translations pro file not found at: $GUI_TRANSLATIONS_DIRECTORY_PATH" -else - cd $GUI_TRANSLATIONS_DIRECTORY_PATH - $LRELEASES translations.pro - cd - - if [ ! -e build/linux/release/product/i18n ]; then - mkdir build/linux/release/product/i18n - fi - #copying qt gui translation - cp $GUI_TRANSLATIONS_DIRECTORY_PATH/qt_??.qm build/linux/release/product/i18n/ -fi - -$LRELEASES Sankore_3.1.pro -cp resources/i18n/*.qm build/linux/release/product/i18n/ - -rm -rf install/linux -mkdir -p install/linux - -cd build/linux/release/product - -#Removing .svn directories ... -find . -name .svn -exec rm -rf {} \; 2> /dev/null - -cd - -notify-send "Building Sankore" "Finished to build Sankore building the package" - - -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/linux/release/product $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-Sankoré 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 création de présentations pour tableau numérique 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" - -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 - diff --git a/release.linux.sh b/release.linux.sh index 1b2dcd44..18ae40d6 100755 --- a/release.linux.sh +++ b/release.linux.sh @@ -15,83 +15,132 @@ # --------------------------------------------------------------------- -make clean -rm -rf build/linux/release/ -rm -rf install +####################################################################### +# 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" 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" + QMAKE_PATH="$QT_PATH/bin/qmake" -LRELEASES="/usr/local/Trolltech/Qt-4.7.3/bin/lrelease" -QT_GUI_TRANSLATIONS_DIRECTORY="../Qt-sankore3.1/translations" -QT_GUI_TRANSLATIONS_PRO_FILE="$QT_GUI_TRANSLATIONS_DIRECTORY/translations.pro" +LRELEASE="/usr/local/Trolltech/Qt-4.7.3/bin/lrelease" -if [ ! -e "$QMAKE_PATH" ]; then - echo "qmake command not found at $QMAKE_PATH" - exit 1 -fi +ARCHITECTURE=`uname -m` +####################################################################### +# initials checks # +####################################################################### +checkExecutable $QMAKE_PATH +checkExecutable $LRELEASE -if [ ! -e "$PLUGINS_PATH" ]; then - echo "plugins path not found at $PLUGINS_PATH" - exit 1 +checkDirectory $GUI_TRANSLATIONS_DIRECTORY_PATH +checkDirectory $PLUGINS_PATH +checkDirectory $QT_LIBRARY_SOURCE_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 ..." -ARCHITECTURE=`uname -m` 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 -if [ ! -f $QT_GUI_TRANSLATIONS ]; then - echo "impossible to create and integrate the qt gui translation" - exit 1 -else - $LRELEASES $QT_GUI_TRANSLATIONS_PRO_FILE -elif - -VERSION=`cat build/linux/release/version` -if [ ! -f build/linux/release/version ]; then - echo "version not found" - exit 1 +####################################################################### +# 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" 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 +# git tag -a "v$VERSION" -m "Generating setup for v$VERSION" +# git push origin --tags fi fi -cp resources/linux/run.sh build/linux/release/product -chmod +x build/linux/release/product/run.sh +####################################################################### +# coping resources # +####################################################################### +cp resources/linux/run.sh $BUILD_DIR +chmod +x $BUILD_DIR/run.sh -cp -R resources/linux/qtlinux/* build/linux/release/product/ +cp -R resources/linux/qtlinux/* $BUILD_DIR -#copying plugins -cp -R $PLUGINS_PATH build/linux/release/product/ -#removing debug version -find build/linux/release/product/ -name *.debug -exec rm {} \; +cp -R resources/customizations $BUILD_DIR + +notify-send "QT" "Coping plugins and library ..." +cp -R $PLUGINS_PATH $BUILD_DIR #copying custom qt library -QT_LIBRARY_DEST_PATH="build/linux/release/product/qtlib" +QT_LIBRARY_DEST_PATH="$BUILD_DIR/qtlib" mkdir $QT_LIBRARY_DEST_PATH -QT_LIBRARY_SOURCE_PATH="$QT_PATH/lib" copyQtLibrary(){ if [ ! -e "$QT_LIBRARY_SOURCE_PATH/$1.so.4.7.3" ]; then - echo "library not found: $QT_LIBRARY_SOURCE_PATH" - exit 1 + notifyError "$1 library not found in path: $QT_LIBRARY_SOURCE_PATH" fi cp "$QT_LIBRARY_SOURCE_PATH/$1.so.4" "$QT_LIBRARY_DEST_PATH/" cp "$QT_LIBRARY_SOURCE_PATH/$1.so.4.7.3" "$QT_LIBRARY_DEST_PATH/" } - copyQtLibrary libQtWebKit copyQtLibrary libQtDBus copyQtLibrary libQtScript @@ -102,33 +151,206 @@ copyQtLibrary libQtXml copyQtLibrary libQtGui copyQtLibrary libQtCore -cp "$QT_LIBRARY_SOURCE_PATH/libphonon.so.4" "$QT_LIBRARY_DEST_PATH/" -cp "$QT_LIBRARY_SOURCE_PATH/libphonon.so.4.4.0" "$QT_LIBRARY_DEST_PATH/" - -if [ ! -e $GUI_TRANSLATIONS_DIRECTORY_PATH ]; then - notifyError "gui translations pro file not found at: $GUI_TRANSLATIONS_DIRECTORY_PATH" +if [ ! -e "$QT_LIBRARY_SOURCE_PATH/libphonon.so.4.4.0" ]; then + notifyError "phonon library not found in path: $QT_LIBRARY_SOURCE_PATH" else - cd $GUI_TRANSLATIONS_DIRECTORY_PATH - $LRELEASES translations.pro - cd - - if [ ! -e build/linux/release/product/i18n ]; then - mkdir build/linux/release/product/i18n - fi - #copying qt gui translation - cp $GUI_TRANSLATIONS_DIRECTORY_PATH/qt_??.qm build/linux/release/product/i18n/ + cp "$QT_LIBRARY_SOURCE_PATH/libphonon.so.4" "$QT_LIBRARY_DEST_PATH/" + cp "$QT_LIBRARY_SOURCE_PATH/libphonon.so.4.4.0" "$QT_LIBRARY_DEST_PATH/" fi -$LRELEASES Sankore_3.1.pro -cp resources/i18n/*.qm build/linux/release/product/i18n/ +####################################################################### +# Removing unwanted files # +####################################################################### +cd $BUILD_DIR -rm -rf install/linux -mkdir -p install/linux +#Removing .svn directories ... +find . -name .svn -exec rm -rf {} \; 2> /dev/null -mv build/linux/release/product build/linux/release/Open-Sankore.$VERSION -cd build/linux/release +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-Sankoré 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 création de présentations pour tableau numérique 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 -# "Removing .svn directories ..." -find . -name .svn -exec rm -rf {} \; 2> /dev/null tar cvzf ../../../install/linux/Open-Sankore.tar.gz Open-Sankore.$VERSION -C . -notify-send "Open-Sankore" "Build Finished" +notify-send "Open-Sankore" "tar.gz Build done" \ No newline at end of file