Ci-dessous, les différences entre deux révisions de la page.
Prochaine révision | Révision précédente | ||
developpement:activites:integration:sankore4jessie [2015/12/31 15:13] equemene créée |
developpement:activites:integration:sankore4jessie [2016/01/29 20:02] (Version actuelle) equemene |
||
---|---|---|---|
Ligne 11: | Ligne 11: | ||
===== La Truand ===== | ===== La Truand ===== | ||
- | Cette solution consistait à n'installer que la version 1.4 à partir des paquets fournis par le site d'OpenSankore : | + | Cette solution consiste à installer un paquet Debian s'installant dans ''/usr/local'' et créant un lien dans les menus. |
- | + | ||
- | Il était compilé pour Squeeze mais lié dynamiquement avec la librairie libcrypt associée à OpenSSL 0.9.8 alors que la Wheezy s'appuie sur la 1.0.0. | + | |
- | + | ||
- | Pour l'installer, quelques petites commandes, sur architecture i386 : | + | |
- | <code> | + | |
- | apt-get install libqt4-webkit | + | |
- | wget ftp://91.121.248.138/current/Open-Sankore_Debian_1.41.00_i386.zip | + | |
- | unzip Open-Sankore_Debian_1.41.00_i386.zip | + | |
- | wget ftp://ftp.fr.debian.org/debian-security/pool/updates/main/o/openssl/libssl0.9.8_0.9.8o-4squeeze13_i386.deb | + | |
- | dpkg -i libssl0.9.8_0.9.8o-4squeeze13_i386.deb | + | |
- | dpkg -i Open-Sankore_i386.deb | + | |
- | </code> | + | |
- | + | ||
- | Pour l'installer, quelques petites commandes, sur architecture amd64 : | + | |
- | <code> | + | |
- | apt-get install libqt4-webkit | + | |
- | wget http://ftp.open-sankore.org/current/Open-Sankore_Debian_1.41.00_amd64.zip | + | |
- | unzip Open-Sankore_Debian_1.41.00_amd64.zip | + | |
- | wget ftp://ftp.fr.debian.org/debian-security/pool/updates/main/o/openssl/libssl0.9.8_0.9.8o-4squeeze13_amd64.deb | + | |
- | dpkg -i libssl0.9.8_0.9.8o-4squeeze13_amd64.deb | + | |
- | dpkg -i Open-Sankore_amd64.deb | + | |
- | </code> | + | |
- | + | ||
- | L'OpenSankoré se lance mais il est perclu de bogues ! Je conseille plus d'appliquer la méthode "brute"... | + | |
- | + | ||
- | ===== La Brute ===== | + | |
- | + | ||
- | Cette solution consiste à compiler un paquet Debian s'installant dans ''/usr/local'' et créant un lien dans les menus. | + | |
Cependant, il existe une dépendance avec **libt1** laquelle a disparu avec Jessie. | Cependant, il existe une dépendance avec **libt1** laquelle a disparu avec Jessie. | ||
Elle n'est de plus pas optimale : de nombreuses librairies sont dupliquées dans l'archive de Sankoré. | Elle n'est de plus pas optimale : de nombreuses librairies sont dupliquées dans l'archive de Sankoré. | ||
- | |||
- | ==== Installation "pas trop sale" ==== | ||
Installation des paquets Debian de l'archive standard | Installation des paquets Debian de l'archive standard | ||
<code> | <code> | ||
- | sudo apt-get -y install libattr1 libaudio2 libc6 libcap2 libdbus-1-3 libexpat1 libflac8 libfontconfig1 libfreetype6 libgcc1 libgdbm3 libglib2.0-0 libgomp1 libice6 libogg0 libpaper1 libpcre3 libphonon4 libpng12-0 libpulse0 libpulse-mainloop-glib0 libqt4-dbus libqt4-network libqt4-script libqt4-svg libqt4-webkit libqt4-xml libqt4-xmlpatterns libqtcore4 libqtgui4 libsm6 libsndfile1 libsqlite3-0 libssl1.0.0 libstdc++6 libt1-5 libuuid1 libvorbis0a libvorbisenc2 libwrap0 libx11-6 libxau6 libxcb1 libxdmcp6 libxext6 libxi6 libxrender1 libxt6 libxtst6 zlib1g | + | sudo apt-get -y install libattr1 libaudio2 libc6 libcap2 libdbus-1-3 libexpat1 libflac8 libfontconfig1 libfreetype6 libgcc1 libgdbm3 libglib2.0-0 libgomp1 libice6 libogg0 libpaper1 libpcre3 libphonon4 libpng12-0 libpulse0 libpulse-mainloop-glib0 libqt4-dbus libqt4-network libqt4-script libqt4-svg libqt4-webkit libqt4-xml libqt4-xmlpatterns libqtcore4 libqtgui4 libsm6 libsndfile1 libsqlite3-0 libssl1.0.0 libstdc++6 libuuid1 libvorbis0a libvorbisenc2 libwrap0 libx11-6 libxau6 libxcb1 libxdmcp6 libxext6 libxi6 libxrender1 libxt6 libxtst6 zlib1g |
</code> | </code> | ||
Ligne 57: | Ligne 27: | ||
wget http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/Sankore/libt1-5_5.1.2-4_i386.deb | wget http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/Sankore/libt1-5_5.1.2-4_i386.deb | ||
dpkg -i libt1-5_5.1.2-4_i386.deb | dpkg -i libt1-5_5.1.2-4_i386.deb | ||
- | dpkg -i pen-Sankore_2.5.1_i386.deb | + | dpkg -i Open-Sankore_2.5.1_i386.deb |
apt-get -f install | apt-get -f install | ||
</code> | </code> | ||
Ligne 70: | Ligne 40: | ||
</code> | </code> | ||
- | ==== Compilation "pas trop sale"==== | + | ===== La Brute ===== |
+ | |||
+ | Cette méthode consiste à recompiler soi même directement le paquet. Le problème, c'est que si vous tentez de le compiler dans un environnement existant, il y a de fortes chances que cela ne fonctionne pas lors de la détection des dépendances. | ||
+ | |||
+ | Il faut donc (mieux) créer complètement un environnement de compilation chrooté. | ||
+ | |||
+ | ==== Construction pour architecture 64 bits x86 (AMD64) ==== | ||
+ | |||
+ | === Création de l'environnement chrooté === | ||
<code> | <code> | ||
- | export SANKORE_ROOT=$(pwd) | + | export JESSIE64=/tmp/jessie64 |
- | cd $SANKORE_ROOT | + | mkdir -p $JESSIE64 |
+ | debootstrap --arch amd64 --components='main,contrib,non-free' jessie $JESSIE64 http://ftp.fr.debian.org/debian | ||
+ | chroot $JESSIE64 | ||
</code> | </code> | ||
- | === Récupération des sources === | + | === Installation des paquets de base === |
<code> | <code> | ||
- | git clone https://github.com/Sankore/Sankore-3.1.git Sankore | + | apt-get install -y aptitude pbuilder locales |
- | git clone https://github.com/Sankore/Sankore-ThirdParty.git Sankore-ThirdParty | + | dpkg-reconfigure locales -plow |
+ | apt-get install -y git cdbs autotools-dev libice-dev libsm-dev libx11-dev libxext-dev libxaw7-dev quilt libfreetype6-dev libxm4 libmotif-dev qt4-qmake libqt4-dev qt4-linguist-tools zip libphonon-dev libssl-dev libpaper-dev ttf-mscorefonts-installer | ||
</code> | </code> | ||
+ | |||
+ | === Téléchargement des sources et rétroportage du prérequis libt1 === | ||
+ | |||
<code> | <code> | ||
- | sudo apt-get -y install zlib1g-dev libjpeg-dev libtiff5-dev libmng-dev libpng12-dev libdirectfb-dev libgstreamer-plugins-base0.10-dev libgstreamer0.10-dev libpulse-dev libaudio-dev libasound2-dev libfreetype6-dev libfontconfig1-dev libts-dev libcups2-dev libdbus-1-dev libglib2.0-dev libgtk2.0-dev libx11-dev libxext-dev libxcursor-dev libxfixes-dev libxrandr-dev libxrender-dev libxv-dev libxinerama-dev libxi-dev libsm-dev libssl-dev libphonon-dev libpaper-dev libt1-dev make qt4-qmake libqt4-dev g++ libt1-dev x11proto-print-dev libxp-dev libpaper-dev libphonon-dev libssl-dev ttf-mscorefonts-installer | + | cd /root |
+ | export SANKORE_ROOT=$(pwd) | ||
</code> | </code> | ||
- | La compilation exige ''libt1'' et ses composants de développement. | + | Téléchargement par git de l'archive OpenSankoré |
- | + | ||
- | Pour architecture amd64 | + | |
<code> | <code> | ||
- | wget http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/Sankore/libt1-5_5.1.2-4_amd64.deb | + | cd $SANKORE_ROOT |
- | wget http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/Sankore/libt1-dev_5.1.2-4_amd64.deb | + | git clone https://github.com/Sankore/Sankore-3.1.git Sankore |
- | dpkg -i libt1-5_5.1.2-4_amd64.deb libt1-dev_5.1.2-4_amd64.deb | + | git clone https://github.com/Sankore/Sankore-ThirdParty.git Sankore-ThirdParty |
- | apt-get -f install | + | |
</code> | </code> | ||
- | Pour architecture i386 | + | Téléchargement de t1lib, son rétroportage et son installation |
<code> | <code> | ||
- | wget http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/Sankore/libt1-5_5.1.2-4_i386.deb | + | wget http://snapshot.debian.org/archive/debian/20140121T035726Z/pool/main/t/t1lib/t1lib_5.1.2-4.diff.gz |
- | wget http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/Sankore/libt1-dev_5.1.2-4_i386.deb | + | wget http://snapshot.debian.org/archive/debian-archive/20120328T092752Z/debian/pool/main/t/t1lib/t1lib_5.1.2.orig.tar.gz |
- | dpkg -i libt1-5_5.1.2-4_i386.deb libt1-dev_5.1.2-4_i386.deb | + | tar xzf t1lib_5.1.2.orig.tar.gz |
- | apt-get -f install | + | gunzip t1lib_5.1.2-4.diff.gz |
+ | patch -p 0 < t1lib_5.1.2-4.diff | ||
+ | cd t1lib-5.1.2 | ||
+ | debuild | ||
+ | dpkg -i libt1-5_5.1.2-4_amd64.deb libt1-dev_5.1.2-4_amd64.deb | ||
</code> | </code> | ||
- | Pour architecture amd64 | + | === Compilation des librairies connexes à Sankoré === |
<code> | <code> | ||
# Pour xpdf | # Pour xpdf | ||
Ligne 115: | Ligne 102: | ||
make | make | ||
# Pour quazip | # Pour quazip | ||
- | LIBS += "-%$$PWD/xpdf/lib/$$SUB_LIB" "-lxpdf" "-lpaper" "-lt1" | ||
cd $SANKORE_ROOT/Sankore-ThirdParty/quazip | cd $SANKORE_ROOT/Sankore-ThirdParty/quazip | ||
- | qmake quazip.pro -spec linux-g++-64 | + | qmake LIBS+="-L../xpdf/lib/linux -lxpdf -lpaper -lt1" quazip.pro -spec linux-g++-64 |
make | make | ||
</code> | </code> | ||
- | Pour architecture i386 | + | === Compilation de Sankoré === |
+ | |||
+ | <code> | ||
+ | cd $SANKORE_ROOT/Sankore | ||
+ | wget http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/Sankore/buildJessiePackage.sh | ||
+ | chmod 755 buildJessiePackage.sh | ||
+ | time ./buildJessiePackage.sh | ||
+ | </code> | ||
+ | |||
+ | Le paquet ''$SANKORE_ROOT/Sankore/install/linux/Open-Sankore_2.5.1_amd64.deb'' peut-être ensuite installé avec la librairie ''libt1-5_5.1.2-4_amd64.deb'' sur un autre système. | ||
+ | |||
+ | Par exemple, sur la machine hôte qui a servi à la compilation : | ||
+ | <code> | ||
+ | # Sortie de l'environnement chroot | ||
+ | exit | ||
+ | # Installation de la librairie | ||
+ | dpkg -i $JESSIE64/root/libt1-5_5.1.2-4_amd64.deb | ||
+ | # Installation de Sankoré | ||
+ | dpkg -i $JESSIE64/root/Sankore/install/linux/Open-Sankore_2.5.1_amd64.deb | ||
+ | </code> | ||
+ | |||
+ | ==== Construction pour architecture 32 bits x86 (I386) ==== | ||
+ | |||
+ | === Création de l'environnement chrooté === | ||
+ | |||
+ | <code> | ||
+ | export JESSIE32=/tmp/jessie32 | ||
+ | mkdir -p $JESSIE32 | ||
+ | debootstrap --arch i386 --components='main,contrib,non-free' jessie $JESSIE32 http://ftp.fr.debian.org/debian | ||
+ | setarch i386 chroot $JESSIE32 | ||
+ | </code> | ||
+ | |||
+ | === Installation des paquets de base === | ||
+ | |||
+ | <code> | ||
+ | apt-get install -y aptitude pbuilder locales | ||
+ | dpkg-reconfigure locales -plow | ||
+ | apt-get install -y git cdbs autotools-dev libice-dev libsm-dev libx11-dev libxext-dev libxaw7-dev quilt libfreetype6-dev libxm4 libmotif-dev qt4-qmake libqt4-dev qt4-linguist-tools zip libphonon-dev libssl-dev libpaper-dev ttf-mscorefonts-installer | ||
+ | </code> | ||
+ | |||
+ | === Téléchargement des sources et rétroportage du prérequis libt1 === | ||
+ | |||
+ | |||
+ | <code> | ||
+ | cd /root | ||
+ | export SANKORE_ROOT=$(pwd) | ||
+ | </code> | ||
+ | |||
+ | Téléchargement par git de l'archive OpenSankoré | ||
+ | <code> | ||
+ | cd $SANKORE_ROOT | ||
+ | git clone https://github.com/Sankore/Sankore-3.1.git Sankore | ||
+ | git clone https://github.com/Sankore/Sankore-ThirdParty.git Sankore-ThirdParty | ||
+ | </code> | ||
+ | |||
+ | Téléchargement de t1lib, son rétroportage et son installation | ||
+ | <code> | ||
+ | wget http://snapshot.debian.org/archive/debian/20140121T035726Z/pool/main/t/t1lib/t1lib_5.1.2-4.diff.gz | ||
+ | wget http://snapshot.debian.org/archive/debian-archive/20120328T092752Z/debian/pool/main/t/t1lib/t1lib_5.1.2.orig.tar.gz | ||
+ | tar xzf t1lib_5.1.2.orig.tar.gz | ||
+ | gunzip t1lib_5.1.2-4.diff.gz | ||
+ | patch -p 0 < t1lib_5.1.2-4.diff | ||
+ | cd t1lib-5.1.2 | ||
+ | debuild | ||
+ | dpkg -i libt1-5_5.1.2-4_i386.deb libt1-dev_5.1.2-4_i386.deb | ||
+ | </code> | ||
+ | |||
+ | === Compilation des librairies connexes à Sankoré === | ||
<code> | <code> | ||
# Pour xpdf | # Pour xpdf | ||
Ligne 130: | Ligne 184: | ||
make | make | ||
# Pour quazip | # Pour quazip | ||
- | LIBS += "-%$$PWD/xpdf/lib/$$SUB_LIB" "-lxpdf" "-lpaper" "-lt1" | ||
cd $SANKORE_ROOT/Sankore-ThirdParty/quazip | cd $SANKORE_ROOT/Sankore-ThirdParty/quazip | ||
- | qmake quazip.pro -spec linux-g++ | + | qmake LIBS+="-L../xpdf/lib/linux -lxpdf -lpaper -lt1" quazip.pro -spec linux-g++ |
make | make | ||
</code> | </code> | ||
+ | === Compilation de Sankoré === | ||
<code> | <code> | ||
Ligne 144: | Ligne 198: | ||
</code> | </code> | ||
- | Les paquets Debian sont dans ''$SANKORE_ROOT/Sankore/install/linux'' | + | Le paquet ''$SANKORE_ROOT/Sankore/install/linux/Open-Sankore_2.5.1_i386.deb'' peut-être ensuite installé avec la librairie ''libt1-5_5.1.2-4_i386.deb'' sur un autre système. |
+ | |||
+ | Par exemple, sur la machine hôte qui a servi à la compilation : | ||
+ | <code> | ||
+ | # Sortie de l'environnement chroot | ||
+ | exit | ||
+ | # Installation de la librairie | ||
+ | dpkg -i $JESSIE32/root/libt1-5_5.1.2-4_i386.deb | ||
+ | # Installation de Sankoré | ||
+ | dpkg -i $JESSIE32/root/Sankore/install/linux/Open-Sankore_2.5.1_386.deb | ||
+ | </code> | ||