Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
OpenBoard
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
lifo
Nicolas Ollinger
OpenBoard
Commits
798e2393
Commit
798e2393
authored
Apr 18, 2012
by
Claudio Valerio
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
updated build script. Included custom fonts
parent
c87ec61e
Changes
2
Show whitespace changes
Inline
Side-by-side
Showing
2 changed files
with
283 additions
and
359 deletions
+283
-359
buildDebianPackage
buildDebianPackage
+0
-298
release.linux.sh
release.linux.sh
+283
-61
No files found.
buildDebianPackage
deleted
100755 → 0
View file @
c87ec61e
#!/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 <http://www.gnu.org/licenses/>.
# ---------------------------------------------------------------------
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 <http://www.gnu.org/licenses/>.
# ---------------------------------------------------------------------
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 <http://www.gnu.org/licenses/>.
# ---------------------------------------------------------------------
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 <http://www.gnu.org/licenses/>.
# ---------------------------------------------------------------------
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 <claudio@open-sankore.org>
`
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 <dev@open-sankore.org>"
>>
"
$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
release.linux.sh
View file @
798e2393
...
@@ -15,83 +15,132 @@
...
@@ -15,83 +15,132 @@
# ---------------------------------------------------------------------
# ---------------------------------------------------------------------
make clean
#######################################################################
rm
-rf
build/linux/release/
# functions #
rm
-rf
install
#######################################################################
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_PATH
=
"/usr/local/Trolltech/Qt-4.7.3"
PLUGINS_PATH
=
"
$QT_PATH
/plugins"
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"
QMAKE_PATH
=
"
$QT_PATH
/bin/qmake"
LRELEASES
=
"/usr/local/Trolltech/Qt-4.7.3/bin/lrelease"
LRELEASE
=
"/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"
if
[
!
-e
"
$QMAKE_PATH
"
]
;
then
ARCHITECTURE
=
`
uname
-m
`
echo
"qmake command not found at
$QMAKE_PATH
"
exit
1
fi
#######################################################################
# initials checks #
#######################################################################
checkExecutable
$QMAKE_PATH
checkExecutable
$LRELEASE
if
[
!
-e
"
$PLUGINS_PATH
"
]
;
then
checkDirectory
$GUI_TRANSLATIONS_DIRECTORY_PATH
echo
"plugins path not found at
$PLUGINS_PATH
"
checkDirectory
$PLUGINS_PATH
exit
1
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
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
if
[
"
$ARCHITECTURE
"
==
"x86_64"
]
;
then
$QMAKE_PATH
-spec
linux-g++-64
$QMAKE_PATH
-spec
linux-g++-64
else
else
$QMAKE_PATH
-spec
linux-g++
$QMAKE_PATH
-spec
linux-g++
fi
fi
checkDirectory
$BUILD_DIR
make
-j
4 release-install
make
-j
4 release-install
if
[
!
-f
$QT_GUI_TRANSLATIONS
]
;
then
#######################################################################
echo
"impossible to create and integrate the qt gui translation"
# github tag #
exit
1
#######################################################################
else
notify-send
"Git Hub"
"Make a tag of the delivered version"
$LRELEASES
$QT_GUI_TRANSLATIONS_PRO_FILE
VERSION
=
`
cat
$RELEASE_DIR
/version
`
elif
if
[
!
-f
$RELEASE_DIR
/version
]
;
then
notifyError
"version not found"
VERSION
=
`
cat
build/linux/release/version
`
if
[
!
-f
build/linux/release/version
]
;
then
echo
"version not found"
exit
1
else
else
LAST_COMMITED_VERSION
=
"
`
git describe
$(
git rev-list
--tags
--max-count
=
1
)
`
"
LAST_COMMITED_VERSION
=
"
`
git describe
$(
git rev-list
--tags
--max-count
=
1
)
`
"
if
[
"v
$VERSION
"
!=
"
$LAST_COMMITED_VERSION
"
]
;
then
if
[
"v
$VERSION
"
!=
"
$LAST_COMMITED_VERSION
"
]
;
then
echo
creating a tag with the version
$VERSION
echo
creating a tag with the version
$VERSION
git tag
-a
"v
$VERSION
"
-m
"Generating setup for v
$VERSION
"
#
git tag -a "v$VERSION" -m "Generating setup for v$VERSION"
git push origin
--tags
#
git push origin --tags
fi
fi
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
resources/customizations
$BUILD_DIR
cp
-R
$PLUGINS_PATH
build/linux/release/product/
#removing debug version
notify-send
"QT"
"Coping plugins and library ..."
find build/linux/release/product/
-name
*
.debug
-exec
rm
{}
\;
cp
-R
$PLUGINS_PATH
$BUILD_DIR
#copying custom qt library
#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
mkdir
$QT_LIBRARY_DEST_PATH
QT_LIBRARY_SOURCE_PATH
=
"
$QT_PATH
/lib"
copyQtLibrary
(){
copyQtLibrary
(){
if
[
!
-e
"
$QT_LIBRARY_SOURCE_PATH
/
$1
.so.4.7.3"
]
;
then
if
[
!
-e
"
$QT_LIBRARY_SOURCE_PATH
/
$1
.so.4.7.3"
]
;
then
echo
"library not found:
$QT_LIBRARY_SOURCE_PATH
"
notifyError
"
$1
library not found in path:
$QT_LIBRARY_SOURCE_PATH
"
exit
1
fi
fi
cp
"
$QT_LIBRARY_SOURCE_PATH
/
$1
.so.4"
"
$QT_LIBRARY_DEST_PATH
/"
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
/"
cp
"
$QT_LIBRARY_SOURCE_PATH
/
$1
.so.4.7.3"
"
$QT_LIBRARY_DEST_PATH
/"
}
}
copyQtLibrary libQtWebKit
copyQtLibrary libQtWebKit
copyQtLibrary libQtDBus
copyQtLibrary libQtDBus
copyQtLibrary libQtScript
copyQtLibrary libQtScript
...
@@ -102,33 +151,206 @@ copyQtLibrary libQtXml
...
@@ -102,33 +151,206 @@ copyQtLibrary libQtXml
copyQtLibrary libQtGui
copyQtLibrary libQtGui
copyQtLibrary libQtCore
copyQtLibrary libQtCore
cp
"
$QT_LIBRARY_SOURCE_PATH
/libphonon.so.4"
"
$QT_LIBRARY_DEST_PATH
/"
if
[
!
-e
"
$QT_LIBRARY_SOURCE_PATH
/libphonon.so.4.4.0"
]
;
then
cp
"
$QT_LIBRARY_SOURCE_PATH
/libphonon.so.4.4.0"
"
$QT_LIBRARY_DEST_PATH
/"
notifyError
"phonon library not found in path:
$QT_LIBRARY_SOURCE_PATH
"
if
[
!
-e
$GUI_TRANSLATIONS_DIRECTORY_PATH
]
;
then
notifyError
"gui translations pro file not found at:
$GUI_TRANSLATIONS_DIRECTORY_PATH
"
else
else
cd
$GUI_TRANSLATIONS_DIRECTORY_PATH
cp
"
$QT_LIBRARY_SOURCE_PATH
/libphonon.so.4"
"
$QT_LIBRARY_DEST_PATH
/"
$LRELEASES
translations.pro
cp
"
$QT_LIBRARY_SOURCE_PATH
/libphonon.so.4.4.0"
"
$QT_LIBRARY_DEST_PATH
/"
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
fi
$LRELEASES
Sankore_3.1.pro
cp
resources/i18n/
*
.qm build/linux/release/product/i18n/
#######################################################################
# Removing unwanted files #
#######################################################################
cd
$BUILD_DIR
#Removing .svn directories ...
find
.
-name
.svn
-exec
rm
-rf
{}
\;
2> /dev/null
rm
-rf
install
/linux
cd
-
mkdir
-p
install
/linux
notify-send
"Building Sankore"
"Finished to build Sankore building the package"
mv
build/linux/release/product build/linux/release/Open-Sankore.
$VERSION
#######################################################################
cd
build/linux/release
# 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 <http://www.gnu.org/licenses/>.
# ---------------------------------------------------------------------
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 <http://www.gnu.org/licenses/>.
# ---------------------------------------------------------------------
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 <http://www.gnu.org/licenses/>.
# ---------------------------------------------------------------------
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 <claudio@open-sankore.org>
`
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 <dev@open-sankore.org>"
>>
"
$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
.
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
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment