Ci-dessous, les différences entre deux révisions de la page.
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> | ||
+ |