Installation de Sankoré sur Debian Jessie

Les premiers éléments permettant la compilation m'ont été fournis par le lien de 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
developpement/activites/integration/sankore4jessie.txt · Dernière modification: 2016/01/29 20:02 par equemene