LSB : Que devient-il ?!

Bonsoir,

Pour les imprimantes Epson, il y a le dépôt suivant :
http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX
(qui permet de trouver certains des pilotes nécessaires pour les estampillées de la marque).

Leurs pilotes ont pour nécessité le paquet LSB >=3.2 qui n’est pas disponible au-delà de Jessie.

In order to install these drivers, you need to install LSB package (version 3.2 or later) beforehand.

Sauf que dans les versions supérieures de Debian, ce paquet ne semble plus être packagé.
Comment faire ?

Il est vrai qu’il existe le paquet lsb-base - est-ce appelé en remplacement ?
Si oui, comment faire pour qu’il soit « appelé » en tant que dépendances ?!

Très bonne question :wink:
Les paquets .deb fournis par Epson sont des paquets RPM convertis par alien comme on peut le voir en ouvrant le fichier control du paquet pour le pilote :

Package: epson-inkjet-printer-escpr
Version: 1.7.7-1lsb3.2
Architecture: amd64
Maintainer: Seiko Epson Corporation <linux-printer@epson.jp>
Installed-Size: 5216
Depends: lsb (>= 3.2)
Section: alien
Priority: extra
Description: Epson Inkjet Printer Driver (ESC/P-R) for Linux
 This software is a filter program used with Common UNIX Printing
 System (CUPS) from the Linux. This can supply the high quality print
 with Seiko Epson Color Ink Jet Printers.
 .
 This product supports only EPSON ESC/P-R printers. This package can be
 used for all EPSON ESC/P-R printers.
 .
 For detail list of supported printer, please refer to below site:
 http://download.ebz.epson.net/dsc/search/01/search/?OSC=LX
 .
 (Converted from a rpm package by alien version 8.95.)

Je suppose que cette dépendance à LSB vient de là.
Il y a peut-être moyen de faire un bricolage sur le paquet .deb en modifiant le fichier control pour mettre lsb-base à la place de lsb.
Sinon ils fournissent aussi les sources en archive tar.gz.

Tu peux créer un paquet bidon qui s’appelle lsb et qui demande l’installation de lsb-base ?
C’est cracra, plus que de recompiler le paquet en modifiant la dépendance à lsb vers lsb-base. :smiley:

Au-delà de tous les bricolages possibles, la dépendance au paquet lsb n’est probablement pas là juste pour faire joli ou embêter les utilisateurs.

Non, le paquet lsb-base n’est pas un remplacement pour l’ancien paquet lsb. Un nouveau paquet lsb-compat fournissant lsb a été introduit dans Stretch notamment pour maintenir la compatibilité avec les pilotes Epson. Mais il a été retiré dans Buster pour forcer l’abandon des dépendances à LSB qui a été déclaré obsolète.

@PascalHambourg ok, merci des précisions bien utiles. Donc, si je comprends bien, ça veut dire que les paquets du dépôt Epson ne sont plus installables, et encore moins utilisables sous De(bi|vu)an.

Alors, que c’est fonctionnel sous *Buntu - testé sur Linux Mint 19.3…

(jusqu’à quand Debian et assimilé resteront les parents « pauvres »…)

Tels quels non.
Mais les modifications que j’indiquais sont parfaitement envisageables. Le paquet lsb était déjà un paquet de compatibilité, ne contenant rien d’autre qu’une dépendance à lsb-base (qui lui contient les fonctions lsb pour les scripts utilisés).
Sinon on peut toujours récupérer les fichiers ppd dans les sources pour une installation manuelle via CUPS ou le gestionnaire d’imprimante de l’environnement de bureau…

Il faut râler après Epson qui ne fourni pas de paquets adaptés et ne donne pas très facilement accès aux sources et aux fichiers ppd, pas après Debian.

Oui, après avoir éclaté l’archive deb, c’est ce que j’ai fait.

Décortiquons un peu :rofl:

Sur une buster à jour, après téléchargement de epson-inkjet-printer-escpr_1.7.7-1lsb3.2_amd64.deb procédons à l’extraction des fichiers

mkdir /tmp/epson
dpkg-deb --extract epson-inkjet-printer-escpr_1.7.7-1lsb3.2_amd64.deb  /tmp/epson/

cd /tmp/epson/
cd opt/epson-inkjet-printer-escpr/

on trouve deux binaires compilés

fp2@debpacha:/tmp/epson/opt/epson-inkjet-printer-escpr$ file  cups/lib/filter/epson-escpr*
cups/lib/filter/epson-escpr:         ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-lsb-x86-64.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=7544733ac8425dfb1482687d33012a885ceb3759, stripped
cups/lib/filter/epson-escpr-wrapper: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked, interpreter /lib64/ld-lsb-x86-64.so.3, for GNU/Linux 2.6.32, BuildID[sha1]=fafedbedc6774363d058de2f69033adf14063a1b, stripped
fp2@debpacha:/tmp/epson/opt/epson-inkjet-printer-escpr$
fp2@debpacha:/tmp/epson/opt/epson-inkjet-printer-escpr$ ldd cups/lib/filter/epson-escpr-wrapper  > /tmp/epson.ldd

cd /tmp
fp2@debpacha:/tmp$ for p in $(tail -n +2 epson.ldd | sed -e 's/ => /    /' | tr ' ' '\t' | cut -f3)
> do
>    pkg=$(in_pkg $p)
>    echo $pkg ' ' $p
> done | sort | grep -v '^libc6' | less

on sauvegarde en epson_pkgs.lst (26 paqets)

fp2@debpacha:/tmp$ for pkg in $(cut -d ' ' -f1 epson_pkgs.lst); do    echo $pkg
> done
libavahi-client3
libavahi-common3
libcom-err2
libcups2
libcupsimage2
libdbus-1-3
libffi6
libgcrypt20
libgmp10
libgnutls30
libgpg-error0
libgssapi-krb5-2
libhogweed4
libidn2-0
libk5crypto3
libkeyutils1
libkrb5-3
libkrb5support0
liblz4-1
liblzma5
libnettle6
libp11-kit0
libsystemd0
libtasn1-6
libunistring2
zlib1g
fp2@debpacha:/tmp$ 

Conclusion ce paquet obtenu à coup de alien est dérivé d’un paquet rpm et la
liste des dépendances s’est perdue dans l’opération. On trouve un binaire ELF
qui sert de filtre cups et on n’a même pas libcups2 ni libcupsimage2 dans
les dépendances :frowning:
Par contre, la dépendance dogmatique à lsb elle est bien là, et même dans le nom
du fichier .deb.

Un filtre cups construit avec les outils Debian devrait avoir une dépendance de construction libcupsfilters-dev qui aurait amené une dépendance à libcupsfilters1, laquelle dépendance aurai impliqué un bon nombre des 26 dépendances (directement ou indirectement ).

Bref, comme d’habitude un travail ni fait ni à faire.

PS j’ai utilisé une fonction shell qui trouve le nom du paquet à partir du chemin absolu d’un fichier

type in_pkg 
in_pkg est une fonction 
in_pkg () 
{ 
    dpkg-query --search $1 | tr ':' '\t' | cut -f 1
}

Cordialement,
Regards,
Mit freundlichen Grüßen,
مع تحياتي الخالصة


F. Petitjean
Ingénieur civil du Génie Maritime.

« On ne perd pas son temps en aiguisant ses outils. »
Proverbe français

« Moi, lorsque je n’ai rien à dire, je veux qu’on le sache. » (R. Devos)

2 J'aimes

Belle analyse qui permet d’apprendre des choses :wink:

Je m’aperçois que j’ai oublié de signaler que Debian fournit un paquet pour les imprimantes Epson :
https://packages.debian.org/buster/printer-driver-escpr

Ou bien c’est la dépendance à lsb qui était censée satisfaire ces dépendances.