Après avoir reconstruit puis installé le package par:
rpm --rebuild ghostscript-5.10-2.src.rpm
rpm -Uvh /usr/src/redhat/RPMS/i386/ghostscript-5.10-2.i386.rpm
il s'avère que les drivers pour les imprimantes Epson Stylus ne
sont pas inclus par défaut. Pour les avoir, il faut modifier
quelque peu les sources de Ghostscript, comme indiqué par
Jean-Michel Claude dans son
article sur la Stylus Color II.
Commencez par installer le RPM source, sans le recompiler. Pour cela, utilisez:
rpm -ivh ghostscript-5.10-2.src.rpm
Cette commande va rajouter quelques fichiers à votre
système:
/usr/src/redhat/SPECS/ghostscript-5.10-1.spec
/usr/src/redhat/SOURCES/ghostscript-5.10.tar.gz
/usr/src/redhat/SOURCES/ghostscript-5.10jpeg.tar.gz
/usr/src/redhat/SOURCES/ghost.gif
/usr/src/redhat/SOURCES/ghostscript-5.10-config.patch
Le premier de ces fichiers est un script qui sera interpreté
par rpm pour obtenir un package utilisable à partir des
sources. Ce script indique entre autres le rôle des autres
fichiers:
Icon: ghost.gif
Source0: ftp://ftp.cs.wisc.edu/ghost/aladdin/ghostscript-5.10.tar.gz
Source1: ftp://ftp.cs.wisc.edu/ghost/aladdin/ghostscript-5.10jpeg.tar.gz
Patch0: ghostscript-5.10-config.patch
Cela signifie que ghost.gif est l'icone qui apparaîtra dans
le gestionnaire de packages Glint, que ghostscript-5.10.tar.gz et
ghostscript-5.10jpeg.tar.gz sont des archives qui contiennent les
sources de Ghostscript et que ghostscript-5.10-config.patch est
un patch qui sera appliqué à ces sources avant la
compilation.
Puisque nous voulons modifier les sources, il va falloir construire un autre patch. Pour cela, commençons par désarchiver les sources:
cd /usr/src/redhat/SPECS
rpm -bp ghostscript-5.10-1.spec
La seconde commande exécute la section %prep du script
ghostscript-5.10-1.spec, à savoir:
%prep
%setup -n gs5.10
%setup -T -D -a 1 -n gs5.10
%patch0 -p1
./tar_cat
ln -s unix-gcc.mak Makefile
Les sources désarchivées et prêtes à
compiler se trouvent dans le sous-répertoire gs5.10 de
/usr/src/redhat/BUILD. Commençons par en faire une copie
de sauvegarde, par exemple dans un répertoire
/usr/src/redhat/BUILD/gs5.10.orig, qui nous sera utile par la
suite pour créer notre patch:
cd /usr/src/redhat/BUILD
mkdir gs5.10.orig
( cd gs5.10 && tar cf - . ) | ( cd gs5.10.orig && tar xpvf - )
Maintenant, suivez les instructions du
document mentionné plus haut. Il s'agit de modifier les
fichiers gp_unix.c et gcc-head.mak du répertoire
gs5.10.
Une fois les modifications effectuées, faites un patch:
cd /usr/src/redhat/BUILD
diff -ur gs5.10.orig gs5.10 > ../SOURCES/ghostscript-5.10-epson.patch
Voila, le plus gros du boulot est fait. Il reste juste à faire
comprendre à rpm qu'il doit tenir compte du nouveau patch. Pour
cela, commencez par faire une copie du fichier spec:
cd /usr/src/redhat/SPECS
cp ghostscript-5.10-1.spec ghostscript-5.10-3.spec
Maintenant, éditez le nouveau fichier
ghostscript-5.10-3.spec avec votre éditeur de textes
favori.
Commencez par remplacer la ligne Release: 2 par Release: 3;
c'est cosmétique, mais autant faire les choses comme il
faut. Ensuite, rajoutez, après la ligne Patch0: ..., la
ligne suivante:
Patch1: ghostscript-5.10-epson.patch
Maintenant, rpm tiendra compte de notre patch, mais il n'en fera
rien si on ne lui indique pas explicitement. Pour cela, localisez la
ligne %patch0 -p1 dans la section %prep. Elle indique ce
qu'il faut faire du patch 0
(ghostscript-5.10-config.patch). C'est le même comportement
que nous voulons pour notre patch, donc rajoutez à la suite une
nouvelle ligne:
%patch1 -p1
La modification est maintenant terminée, il ne reste plus
qu'à reconstruire le package proprement dit. Pour cela:
rpm -ba --clean /usr/src/redhat/SPECS/ghostscript-5.10-3.spec
Allez boire une bière, un thé ou ce que vous voulez
pendant que ça compile; ça prend une bonne douzaine de
minutes sur mon P200+ avec 64 Mo de RAM, sous une charge
modérée.
Voila, vous avez maintenant un bô Ghostscript tout neuf avec les
options qui vont bien, dans
/usr/src/redhat/RPMS/i386/ghostscript-5.10-3.i386.rpm, et le
package source qui va avec dans le répertoire
/usr/src/redhat/SRPMS. Pour installer le nouveau package:
rpm -Uvh /usr/src/redhat/RPMS/i386/ghostscript-5.10-3.i386.rpm