====== Installation de Sankoré sur Debian Jessie ======
Les premiers éléments permettant la compilation m'ont été fournis par le lien de [[http://serge.coude.net/code-source/compilations.php5|Serge Coude]].
===== La Bonne =====
Cette solution n'existe pas encore : elle consisterait à n'utiliser que les libraries déjà paquetisées et fournir un paquet se distribuant dans l'archive standard.
Elle viendra...
===== La Truand =====
Cette solution consiste à installer 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.
Elle n'est de plus pas optimale : de nombreuses librairies sont dupliquées dans l'archive de Sankoré.
Installation des paquets Debian de l'archive standard
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
Pour une architecture 32 bits :
wget http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/Sankore/Open-Sankore_2.5.1_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 Open-Sankore_2.5.1_i386.deb
apt-get -f install
Pour une architecture 64 bits :
wget http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/Sankore/libt1-5_5.1.2-4_amd64.deb
wget http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/Sankore/Open-Sankore_2.5.1_amd64.deb
dpkg -i libt1-5_5.1.2-4_amd64.deb
dpkg -i Open-Sankore_2.5.1_amd64.deb
apt-get -f install
===== 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é ===
export JESSIE64=/tmp/jessie64
mkdir -p $JESSIE64
debootstrap --arch amd64 --components='main,contrib,non-free' jessie $JESSIE64 http://ftp.fr.debian.org/debian
chroot $JESSIE64
=== Installation des paquets de base ===
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
=== Téléchargement des sources et rétroportage du prérequis libt1 ===
cd /root
export SANKORE_ROOT=$(pwd)
Téléchargement par git de l'archive OpenSankoré
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
Téléchargement de t1lib, son rétroportage et son installation
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_amd64.deb libt1-dev_5.1.2-4_amd64.deb
=== Compilation des librairies connexes à Sankoré ===
# Pour xpdf
cd $SANKORE_ROOT/Sankore-ThirdParty/xpdf/xpdf-3.03
./configure --with-freetype2-library="/usr/lib/x86_64-linux-gnu" --with-freetype2-includes="/usr/include/freetype2"
cd $SANKORE_ROOT/Sankore-ThirdParty/xpdf
qmake xpdf.pro -spec linux-g++-64
make
# Pour quazip
cd $SANKORE_ROOT/Sankore-ThirdParty/quazip
qmake LIBS+="-L../xpdf/lib/linux -lxpdf -lpaper -lt1" quazip.pro -spec linux-g++-64
make
=== Compilation de Sankoré ===
cd $SANKORE_ROOT/Sankore
wget http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/Sankore/buildJessiePackage.sh
chmod 755 buildJessiePackage.sh
time ./buildJessiePackage.sh
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 :
# 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
==== Construction pour architecture 32 bits x86 (I386) ====
=== Création de l'environnement chrooté ===
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
=== Installation des paquets de base ===
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
=== Téléchargement des sources et rétroportage du prérequis libt1 ===
cd /root
export SANKORE_ROOT=$(pwd)
Téléchargement par git de l'archive OpenSankoré
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
Téléchargement de t1lib, son rétroportage et son installation
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
=== Compilation des librairies connexes à Sankoré ===
# Pour xpdf
cd $SANKORE_ROOT/Sankore-ThirdParty/xpdf/xpdf-3.03
./configure --with-freetype2-library="/usr/lib/i386-linux-gnu" --with-freetype2-includes="/usr/include/freetype2"
cd $SANKORE_ROOT/Sankore-ThirdParty/xpdf
qmake xpdf.pro -spec linux-g++
make
# Pour quazip
cd $SANKORE_ROOT/Sankore-ThirdParty/quazip
qmake LIBS+="-L../xpdf/lib/linux -lxpdf -lpaper -lt1" quazip.pro -spec linux-g++
make
=== Compilation de Sankoré ===
cd $SANKORE_ROOT/Sankore
wget http://www.cbp.ens-lyon.fr/emmanuel.quemener/software/Sankore/buildJessiePackage.sh
chmod 755 buildJessiePackage.sh
time ./buildJessiePackage.sh
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 :
# 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