Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
developpement:activites:integration:sankore4jessie [2016/01/29 19:01]
equemene
developpement:activites:integration:sankore4jessie [2016/01/29 20:02] (Version actuelle)
equemene
Ligne 42: Ligne 42:
 ===== La Brute ===== ===== La Brute =====
  
-Cette méthode consiste à recompiler soi même directement le paquet.+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étroportage ​des prérequis ===+=== 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>​ <​code>​
-sudo apt-get install pbuilder 
 cd /root 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/​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 wget http://​snapshot.debian.org/​archive/​debian-archive/​20120328T092752Z/​debian/​pool/​main/​t/​t1lib/​t1lib_5.1.2.orig.tar.gz
Ligne 61: Ligne 89:
 cd t1lib-5.1.2 cd t1lib-5.1.2
 debuild debuild
-cd ..+dpkg -i libt1-5_5.1.2-4_amd64.deb libt1-dev_5.1.2-4_amd64.deb
 </​code>​ </​code>​
  
-Les paquets créés sont les suivants : +=== Compilation des librairies connexes à Sankoré === 
-  * Pour une architecture amd64 <​code>​ + 
-libt1-5_5.1.2-4_amd64.deb +<​code>​ 
-libt1-5-dbg_5.1.2-4_amd64.deb +# Pour xpdf 
-libt1-dev_5.1.2-4_amd64.deb +cd $SANKORE_ROOT/​Sankore-ThirdParty/​xpdf/​xpdf-3.03 
-libt1-doc_5.1.2-4_all.deb +./​configure ​--with-freetype2-library="/​usr/​lib/​x86_64-linux-gnu"​ --with-freetype2-includes="/​usr/​include/​freetype2"​ 
-t1lib-bin_5.1.2-4_amd64.deb+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
 </​code>​ </​code>​
-  * Pour une architecture i386 <​code>​ + 
-libt1-5_5.1.2-4_i386.deb +=== Compilation de Sankoré === 
-libt1-5-dbg_5.1.2-4_i386.deb + 
-libt1-dev_5.1.2-4_i386.deb +<​code>​ 
-libt1-doc_5.1.2-4_all.deb +cd $SANKORE_ROOT/​Sankore 
-t1lib-bin_5.1.2-4_i386.deb+wget http://www.cbp.ens-lyon.fr/emmanuel.quemener/​software/​Sankore/​buildJessiePackage.sh 
 +chmod 755 buildJessiePackage.sh 
 +time ./​buildJessiePackage.sh
 </​code>​ </​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>​ <​code>​
-cd $SANKORE_ROOT +# Sortie de l'​environnement chroot 
-git clone https://github.com/​Sankore/​Sankore-3.1.git Sankore +exit 
-git clone https://github.com/Sankore/Sankore-ThirdParty.git Sankore-ThirdParty ​+# 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>​ </​code>​
 +
 +==== Construction pour architecture 32 bits x86 (I386) ====
 +
 +=== Création de l'​environnement chrooté ===
  
 <​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 make qt4-qmake libqt4-dev g++ x11proto-print-dev libxp-dev libpaper-dev libphonon-dev libssl-dev ttf-mscorefonts-installer+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>​ </​code>​
  
-Pour architecture amd64+=== Installation des paquets de base === 
 <​code>​ <​code>​
-cd /root +apt-get install -y aptitude pbuilder locales  ​ 
-dpkg -i libt1-5_5.1.2-4_amd64.deb libt1-dev_5.1.2-4_amd64.deb +dpkg-reconfigure locales ​-plow 
-apt-get ​-f install+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>​
  
-Pour architecture i386+=== Téléchargement des sources et rétroportage du prérequis libt1 === 
 + 
 <​code>​ <​code>​
 cd /root cd /root
-dpkg -i libt1-5_5.1.2-4_i386.deb libt1-dev_5.1.2-4_i386.deb +export SANKORE_ROOT=$(pwd)
-apt-get -f install+
 </​code>​ </​code>​
  
-Pour architecture amd64+Téléchargement par git de l'​archive OpenSankoré
 <​code>​ <​code>​
-# Pour xpdf +cd $SANKORE_ROOT 
-cd $SANKORE_ROOT/​Sankore-ThirdParty/xpdf/xpdf-3.03 +git clone https://​github.com/Sankore/Sankore-3.1.git Sankore 
-./configure --with-freetype2-library="​/usr/lib/​x86_64-linux-gnu"​ --with-freetype2-includes="/​usr/​include/​freetype2"​ +git clone https://github.com/Sankore/​Sankore-ThirdParty.git Sankore-ThirdParty
-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+
 </​code>​ </​code>​
  
-Pour architecture i386+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 131: Ligne 188:
 make make
 </​code>​ </​code>​
 +
 +=== Compilation de Sankoré ===
  
 <​code>​ <​code>​
Ligne 139: 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.
  
-Pour l'​installer ​:+Par exemple, sur la machine hôte qui a servi à la compilation ​:
 <​code>​ <​code>​
-dpkg -i $SANKORE_ROOT/Sankoreinstall/linux/Open-Sankore_2.5.1_i386.deb +# Sortie de l'​environnement chroot 
-dpkg -i $SANKORE_ROOT/Sankoreinstall/​linux/​Open-Sankore_2.5.1_amd64.deb+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>​ </​code>​
 +
developpement/activites/integration/sankore4jessie.1454090461.txt.gz · Dernière modification: 2016/01/29 19:01 par equemene