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
73cbdb8f
Commit
73cbdb8f
authored
Jul 12, 2012
by
Claudio Valerio
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
new version of the script to link with qt standard libraries
parent
2d5f8ba8
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
313 additions
and
0 deletions
+313
-0
buildDebianPackageQmake-Qt4
buildDebianPackageQmake-Qt4
+313
-0
No files found.
buildDebianPackageQmake-Qt4
0 → 100755
View file @
73cbdb8f
#!/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
}
MAKE_TAG
=
true
if
[
$#
==
"1"
]
;
then
if
[
$1
==
"notag"
]
;
then
MAKE_TAG
=
false
;
fi
fi
ARCHITECTURE
=
`
uname
-m
`
rm
-rf
"build/linux/release"
rm
-rf
install
QMAKE_PATH
=
`
which qmake-qt4
`
if
[
$?
==
"0"
]
;
then
QT_VERSION
=
`
$QMAKE_PATH
--version
|
grep
-i
"Using Qt version"
|
sed
-e
"s/Using Qt version
\(
.*
\)
in.*/
\1
/"
`
if
[
`
echo
$QT_VERSION
|
sed
-e
"s/
\.
//g"
`
-lt
480
]
;
then
notifyError
"Qt library not recent enough"
fi
else
notifyError
"qmake-qt4 not found"
fi
LRELEASES
=
`
which lrelease
`
QT_PATH
=
"/usr/lib/
$ARCHITECTURE
-linux-gnu"
PLUGINS_PATH
=
"
$QT_PATH
/qt4/plugins"
GUI_TRANSLATIONS_DIRECTORY_PATH
=
"../Qt-4.8/translations"
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
Sankore_3.1.pro
-spec
linux-g++-64
else
$QMAKE_PATH
Sankore_3.1.pro
-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
if
[
$MAKE_TAG
==
true
]
;
then
git tag
-a
"v
$VERSION
"
-m
"Generating setup for v
$VERSION
"
git push origin
--tags
fi
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
"
copyQtLibrary
(){
if
ls
"
$QT_LIBRARY_SOURCE_PATH
/
$1
.so"
&> /dev/null
;
then
cp
"
$QT_LIBRARY_SOURCE_PATH
/
$1
.so.?"
"
$QT_LIBRARY_DEST_PATH
/"
cp
"
$QT_LIBRARY_SOURCE_PATH
/
$1
.so.?.?.?"
"
$QT_LIBRARY_DEST_PATH
/"
else
notifyError
"
$1
library not found in path:
$QT_LIBRARY_SOURCE_PATH
"
fi
}
copyQtLibrary libQtDBus
copyQtLibrary libQtScript
copyQtLibrary libQtSvg
copyQtLibrary libQtXmlPatterns
copyQtLibrary libQtNetwork
copyQtLibrary libQtXml
copyQtLibrary libQtGui
copyQtLibrary libQtCore
copyQtLibrary libphonon
copyQtLibrary libQtWebKit
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
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