Page 1 sur 2

[Imprimante] Canon Pixma MG6350 (résolu)

Publié : sam. 16 mars 2013, 16:43
par Tristelune
Salut à tous,

j'essaie d'installer une imprimante canon MG PIXMA 6350 et je ne sais plus trop où chercher à présent. Tout d'abord d'après
ce que j'ai vu les pilotes pour canon sont dans le paquet gutenprint. Est-ce que j'ai juste jusque-là ?

J'ai branché l'imprimante par usb et elle est détectée par cups. Pour les pilotes j'ai essayé les pilotes pour PIXMA MG 6200 Series. Comme j'ai la séries 6300 je peux m'imaginer que c'est le problème. Lorsque je lance une impression,
l'imprimante reçoit des informations et me dis que le traitement est en cours. Et puis plus rien. Sous cups j'ai le message:
Idle - "Rendering completed". Avant de me lancer à télécharger des pilotes chez canon, essayer de faire un PKGBUILD j'aimerais
savoir dans quelle direction je dois aller.

Il se peut aussi que ce soit un truc tout bête. Mais j'ai des doutes: tout est branché, il y a du papier. Détail: pour l'instant
l'imprimante est connectée par usb.

Merci!

Re: [Imprimante] Canon Pixma MG6350

Publié : sam. 16 mars 2013, 17:01
par FoolEcho
Tristelune a écrit :Pour les pilotes j'ai essayé les pilotes pour PIXMA MG 6200 Series. Comme j'ai la séries 6300 je peux m'imaginer que c'est le problème.
Avis que je partage (gutenprint a effectivement des séries proches en magasin, mais pas dit que ça convienne).
Teste rapidement un PKGBUILD et tu devrais être fixé. :)

Re: [Imprimante] Canon Pixma MG6350

Publié : sam. 16 mars 2013, 19:09
par Tristelune
FoolEcho a écrit : Avis que je partage (gutenprint a effectivement des séries proches en magasin, mais pas dit que ça convienne).
Teste rapidement un PKGBUILD et tu devrais être fixé. :)
Tu veux dire télécharger les pilotes chez canon et faire un PKGBUILD ? C'est une idée que j'ai eu, mais
je ne suis pas arrivé bien loin......

Bon j'ai donc téléchargé l'archive contenant les fichiers sources, ensuite je décompresse et regarde ce je j'ai. Le contenu de l'archive est:

Code : Tout sélectionner

drwxr-xr-x 5 user users  4096 Jul 23  2012 401
drwxr-xr-x 5 user users  4096 Jul 23  2012 402
drwxr-xr-x 5 user users  4096 Jul 23  2012 403
drwxr-xr-x 5 user users  4096 Jul 23  2012 404
drwxr-xr-x 5 user users  4096 Jul 23  2012 405
drwxr-xr-x 5 user users  4096 Jul 23  2012 406
drwxr-xr-x 5 user users  4096 Jul 23  2012 407
drwxr-xr-x 5 user users  4096 Jul 23  2012 408
-rw-r--r-- 1 user users 27191 Apr 23  2012 LICENSE-cnijfilter-3.80EN.txt
-rw-r--r-- 1 user users 29118 Apr 23  2012 LICENSE-cnijfilter-3.80FR.txt
-rw-r--r-- 1 user users 30586 Apr 23  2012 LICENSE-cnijfilter-3.80JP.txt
-rw-r--r-- 1 user users 25799 Apr 23  2012 LICENSE-cnijfilter-3.80SC.txt
-rw-r--r-- 1 user users   299 Mar 29  2012 Makefile
-rw-r--r-- 1 user users  2151 Mar 29  2012 README
drwxr-xr-x 3 user users  4096 Jul 23  2012 backend
drwxr-xr-x 4 user users  4096 Jul 23  2012 backendnet
drwxr-xr-x 4 user users  4096 Jul 23  2012 cngpij
drwxr-xr-x 4 user users  4096 Jul 23  2012 cngpijmnt
drwxr-xr-x 6 user users  4096 Jul 23  2012 cngpijmon
drwxr-xr-x 4 user users  4096 Jul 23  2012 cnijfilter
-rwxr-xr-x 1 user users  9585 Jul 12  2012 cnijfilter-common.spec
drwxr-xr-x 6 user users  4096 Jul 23  2012 com
drwxr-xr-x 3 user users  4096 Jul 23  2012 debian
drwxr-xr-x 2 user users  4096 Jul 23  2012 etc
drwxr-xr-x 4 user users  4096 Jul 23  2012 lgmon
drwxr-xr-x 5 user users  4096 Mar 16 19:56 libs
drwxr-xr-x 2 user users  4096 Jul 23  2012 lproptions
drwxr-xr-x 7 user users  4096 Jul 23  2012 maintenance
drwxr-xr-x 2 user users  4096 Jul 23  2012 ppd
drwxr-xr-x 3 user users  4096 Jul 23  2012 pstocanonij
drwxr-xr-x 5 user users  4096 Jul 23  2012 scripts
Le README explique comment créer un fichier rpm. Bref ça ne m'aide pas beaucoup. Alors j'essaie un make, comme je vois un Makefile et j'obtiens:

Code : Tout sélectionner

make
for dir in libs cngpij cngpijmnt pstocanonij backend backendnet cngpijmon/cnijnpr; do (cd $dir; make $target)|| exit 1; done
make[1]: Entering directory `/home/user/Downloads/cnijfilter-source-3.80-1/libs'
make[1]: *** No targets specified and no makefile found.  Stop.
make[1]: Leaving directory `/home/user/Downloads/cnijfilter-source-3.80-1/libs'
make: *** [all] Error 1
Si je comprends bien, il ne trouve pas de Makefile dans

Code : Tout sélectionner

/home/user/Downloads/cnijfilter-source-3.80-1/libs
Si jamais, le Makefile dans le répertoire principal est:

Code : Tout sélectionner

#dirs = libs cngpij cngpijmon ppd pstocanonij 
dirs = libs cngpij cngpijmnt pstocanonij backend backendnet cngpijmon/cnijnpr

scripts=for dir in $(dirs); do\
			(cd $$dir; make $$target)|| exit 1;\
		done

all :
	$(scripts)

clean :
	target=clean; $(scripts)

install :
	target=install; $(scripts)
Ensuite je me dis qu'il faudrait peut-être créer un Makefile dans

Code : Tout sélectionner

/home/user/Downloads/cnijfilter-source-3.80-1/libs
. Je vais dans ce répertoire et je trouve un script

Code : Tout sélectionner

autogen.sh
. Je le démarre et:

Code : Tout sélectionner

$ ./autogen.sh 
**Warning**: I am going to run `configure' with no arguments.
If you wish to pass any to it, please specify them on the
`./autogen.sh' command line.

processing .
Running libtoolize...
libtoolize: putting auxiliary files in `.'.
libtoolize: copying file `./ltmain.sh'
libtoolize: You should add the contents of the following files to `aclocal.m4':
libtoolize:   `/usr/share/aclocal/libtool.m4'
libtoolize:   `/usr/share/aclocal/ltoptions.m4'
libtoolize:   `/usr/share/aclocal/ltversion.m4'
libtoolize:   `/usr/share/aclocal/ltsugar.m4'
libtoolize:   `/usr/share/aclocal/lt~obsolete.m4'
libtoolize: Consider adding `AC_CONFIG_MACRO_DIR([m4])' to configure.in and
libtoolize: rerunning libtoolize, to keep the correct libtool macros in-tree.
libtoolize: Consider adding `-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
Running aclocal  ...
aclocal: warning: autoconf input should be named 'configure.ac', not 'configure.in'
configure.in:4: error: 'AM_CONFIG_HEADER': this macro is obsolete.
    You should use the 'AC_CONFIG_HEADERS' macro instead.
/usr/share/aclocal-1.13/obsolete-err.m4:12: AM_CONFIG_HEADER is expanded from...
configure.in:4: the top level
autom4te: /usr/bin/m4 failed with exit status: 1
aclocal: error: echo failed with exit status: 1
Running autoheader...
autoheader: error: AC_CONFIG_HEADERS not found in configure.in
Running automake --gnu  ...
automake: warning: autoconf input should be named 'configure.ac', not 'configure.in'
configure.in: error: no proper invocation of AM_INIT_AUTOMAKE was found.
configure.in: You should verify that configure.in invokes AM_INIT_AUTOMAKE,
configure.in: that aclocal.m4 is present in the top-level directory,
configure.in: and that aclocal.m4 was recently regenerated (using aclocal)
automake: warning: autoconf input should be named 'configure.ac', not 'configure.in'
buftool/Makefile.am:1: error: library used but 'RANLIB' is undefined
buftool/Makefile.am:1:   The usual way to define 'RANLIB' is to add 'AC_PROG_RANLIB'
buftool/Makefile.am:1:   to 'configure.in' and run 'autoconf' again.
/usr/share/automake-1.13/am/depend2.am: error: am__fastdepCC does not appear in AM_CONDITIONAL
/usr/share/automake-1.13/am/depend2.am:   The usual way to define 'am__fastdepCC' is to add 'AC_PROG_CC'
/usr/share/automake-1.13/am/depend2.am:   to 'configure.in' and run 'aclocal' and 'autoconf' again
/usr/share/automake-1.13/am/depend2.am: error: AMDEP does not appear in AM_CONDITIONAL
/usr/share/automake-1.13/am/depend2.am:   The usual way to define 'AMDEP' is to add one of the compiler tests
/usr/share/automake-1.13/am/depend2.am:     AC_PROG_CC, AC_PROG_CXX, AC_PROG_OBJC, AC_PROG_OBJCXX,
/usr/share/automake-1.13/am/depend2.am:     AM_PROG_AS, AM_PROG_GCJ, AM_PROG_UPC
/usr/share/automake-1.13/am/depend2.am:   to 'configure.in' and run 'aclocal' and 'autoconf' again
paramlist/Makefile.am:1: error: Libtool library used but 'LIBTOOL' is undefined
paramlist/Makefile.am:1:   The usual way to define 'LIBTOOL' is to add 'LT_INIT'
paramlist/Makefile.am:1:   to 'configure.in' and run 'aclocal' and 'autoconf' again.
paramlist/Makefile.am:1:   If 'LT_INIT' is in 'configure.in', make sure
paramlist/Makefile.am:1:   its definition is in aclocal's search path.
Running autoconf ...
Running ./configure ...
./configure: line 2181: syntax error near unexpected token `buftool,'
./configure: line 2181: `AM_INIT_AUTOMAKE(buftool, 1.0.0)'
Après je me retrouve avec un fichier

Code : Tout sélectionner

configure
, mais si je l'exécute:

Code : Tout sélectionner

$ ./configure 
./configure: line 2181: syntax error near unexpected token `buftool,'
./configure: line 2181: `AM_INIT_AUTOMAKE(buftool, 1.0.0)'
Et là je coince.......

Re: [Imprimante] Canon Pixma MG6350

Publié : sam. 16 mars 2013, 19:39
par FoolEcho
Aide-toi de l'un des PKGBUILDs existant sur AUR, de préférence un qui parte des sources puisque tu en as l'opportunité (pixma ; je n'ai pas eu le temps de regarder mais je te filerai un coup de main si tu ne t'en sors pas)

Re: [Imprimante] Canon Pixma MG6350

Publié : sam. 16 mars 2013, 20:22
par Tristelune
Ok.... en fait je crois que je craignais un peu cette réponse! J'avais déjà jeté un coup d'oeil
aux PKGBUILD disponibles et j'aurais préféré plus simple. Bon ben je vais m'y attaquer et je referai signe
au cas où. Je pense que je vais déjà demander des infos au mainteneur du PKGBUILD dont je vais m'inspirer.

Re: [Imprimante] Canon Pixma MG6350

Publié : jeu. 21 mars 2013, 21:54
par Tristelune
Alors je suis en train de faire ce PKGBUILD et j'aurais quelques questions:

- dans les sources j'ai trouvé des fichiers ppd. Est-ce que ces fichiers ne sont pas simplement
les pilotes ? C'est ce que j'avais vaguement compris.
- si ce sont les pilotes, pourquoi fournit-on avec plein d'autres fichiers sources à compiler ?
Mon raisonnement basique est que si j'ai le pilote ça suffit.
- enfin un regardant un autre PKGBUILD j'ai vu que des fonctions avaient été ajoutées (pas les classiques build(),
package(), etc.). Faut-il dans ce cas comme pour les variables définies par l'utilisateur les préfixer par un _, genre _getmodel() ?

Re: [Imprimante] Canon Pixma MG6350

Publié : ven. 22 mars 2013, 09:17
par FoolEcho
Tristelune a écrit :- dans les sources j'ai trouvé des fichiers ppd. Est-ce que ces fichiers ne sont pas simplement
les pilotes ? C'est ce que j'avais vaguement compris.
- si ce sont les pilotes, pourquoi fournit-on avec plein d'autres fichiers sources à compiler ?
Mon raisonnement basique est que si j'ai le pilote ça suffit.
Ce ne sont pas des pilotes, le ppd décrit effectivement tout ce qu'il faut pour faire fonctionner un modèle d'imprimantes, y compris logiciels et/ou bibliothèques spécifiques (d'où programmes tiers et compilation parfois).
Tristelune a écrit :- enfin un regardant un autre PKGBUILD j'ai vu que des fonctions avaient été ajoutées (pas les classiques build(),
package(), etc.). Faut-il dans ce cas comme pour les variables définies par l'utilisateur les préfixer par un _, genre _getmodel() ?
Je ne vois pas l'intérêt de fonctions supplémentaires dans un PKGBUILD (après il y en a d'autres dont on se sert moins, comme check() ). :|

Le mieux serait que tu nous montres ce que tu fais (pas eu le temps de regarder du tout).

Re: [Imprimante] Canon Pixma MG6350

Publié : ven. 22 mars 2013, 11:14
par Tristelune
FoolEcho a écrit : Ce ne sont pas des pilotes, le ppd décrit effectivement tout ce qu'il faut pour faire fonctionner un modèle d'imprimantes, y compris logiciels et/ou bibliothèques spécifiques (d'où programmes tiers et compilation parfois).
Je ne suis pas sûr de comprendre. Tu veux dire que dans certains cas le ppd a besoin de logiciels/bibliothèques supplémentaires ? Et le tout forme le pilote ?

Pour le PKGBUILD je le posterai pour avoir un retour. Pas la peine de regarder, je m'en occupe.

Re: [Imprimante] Canon Pixma MG6350

Publié : ven. 22 mars 2013, 13:39
par FoolEcho
Je veux dire que je ne sais pas. :mrgreen: Le ppd n'est pas un pilote au sens strict, c'est «juste» un fichier de description pour utiliser l'imprimante (comme son nom l'indique).

Re: [Imprimante] Canon Pixma MG6350

Publié : sam. 23 mars 2013, 00:23
par Tristelune
FoolEcho a écrit :Je veux dire que je ne sais pas. :mrgreen: Le ppd n'est pas un pilote au sens strict, c'est «juste» un fichier de description pour utiliser l'imprimante (comme son nom l'indique).
Ok, donc de sûr c'est nécessaire. Sans ce fichier on ne va pas loin! Je me remets au travail :wink: .

Re: [Imprimante] Canon Pixma MG6350

Publié : ven. 29 mars 2013, 16:15
par Tristelune
Bon, je croyais que je pouvais adapter le PKGBUILD d'un autre, mais au moment de me lancer ce fut
le désastre. Là je coule......

Il faut appliquer des patchs, sinon la compilation ne peut s'effectuer. J'ai essayé appliquer le patch "configures.patch"
qui est donné avec le PKGBUILD du cnijfilter-mg6200. Mais lorsque j'applique le patch:

Code : Tout sélectionner

$ patch -p1 < configures.patch 
patching file backend/configure.in
Hunk #1 succeeded at 1 with fuzz 2.
patching file backendnet/configure.in
Hunk #1 succeeded at 1 with fuzz 2.
patching file cngpij/configure.in
Hunk #1 succeeded at 1 with fuzz 2.
patching file cngpijmon/cnijnpr/config.h.in
patching file cngpijmon/cnijnpr/configure.in
Hunk #1 succeeded at 1 with fuzz 2.
patching file cngpijmon/configure.in
Hunk #1 FAILED at 18.
1 out of 1 hunk FAILED -- saving rejects to file cngpijmon/configure.in.rej
patching file cngpijmon/src/config.h.in
patching file cnijfilter/configure.in
Hunk #1 FAILED at 25.
1 out of 2 hunks FAILED -- saving rejects to file cnijfilter/configure.in.rej
patching file lgmon/configure.in
Hunk #1 FAILED at 9.
1 out of 2 hunks FAILED -- saving rejects to file lgmon/configure.in.rej
patching file lgmon/src/config.h.in
patching file libs/configure.in
patching file pstocanonij/configure.in
Alors une chose après l'autre. Dans backend, je dois appliquer un patch, sinon j'ai une erreur
lorsque j'effectue le ./configure. Mais qu'est-ce que

Code : Tout sélectionner

Hunk #1 succeeded at 1 with fuzz 2.
veut dire ? De plus je ne connais pas bien la syntaxe de patch. Si quelqu'un a un lien avec quelques explications je suis preneur.

Re: [Imprimante] Canon Pixma MG6350

Publié : ven. 29 mars 2013, 19:42
par Tristelune
Bon, après avoir repris le tout tranquillement, j'ai trouvé ce lien:

http://www.markusbe.com/2009/12/how-to- ... -manually/

J'ai essayé d'appliquer un patch à la main pour ma compilation et ça passe. Je peut donc continuer. Je
ne sais pas ce qui coince avec ces patchs, mais je vais les recréer.

Re: [Imprimante] Canon Pixma MG6350

Publié : ven. 29 mars 2013, 19:57
par FoolEcho
Tristelune a écrit :De plus je ne connais pas bien la syntaxe de patch. Si quelqu'un a un lien avec quelques explications je suis preneur.
Patching_in_ABS
Tristelune a écrit :Bon, je croyais que je pouvais adapter le PKGBUILD d'un autre, mais au moment de me lancer ce fut
le désastre. Là je coule......
Sans nous montrer ce que tu utilises on ne peut rien pour toi. :|

Re: [Imprimante] Canon Pixma MG6350

Publié : ven. 29 mars 2013, 21:29
par Tristelune
Tout d'abord merci pour le lien.
FoolEcho a écrit :Sans nous montrer ce que tu utilises on ne peut rien pour toi. :|
Comme dit plus haut j'ai réussi à me débloquer. Donc c'est bon pour l'instant. Mais si jamais, j'utilises le PKGBUILD de
cnijfilter-mg6200. Le lien direct.

Re: [Imprimante] Canon Pixma MG6350

Publié : mar. 02 avr. 2013, 00:16
par Tristelune
Le PKGBUILD est prêt et il se trouve ici

J'ai installé le paquet créé et refait une tentative avec mon imprimante. J'ai simplement essayé d'imprimer une page de test sous cups. Contrairement à la dernière fois, mon imprimante me dit que des données sont traitées, mais il ne se passe rien. Et je peux voir le message suivant:

Code : Tout sélectionner

"STS:USB MG6300 00 I_F L 100 H 100 Y 100 l 100 C 100 M 100 0 4 CLI-551<BK>SETUP CLI-551<GY>SETUP CLI-551<Y>SETUP PGI-550<PGBK>SETUP CLI-551<C>SETUP CLI-551<M>SETUP "
J'ai un peu du mal à comprendre ce que ça veut dire.... Du coup je me dis que le problème vient du paquet: il doit manquer quelque chose. Mais je suis un peu perdu. Pour les options de configurations et l'installation des fichiers j'ai adapté ce PKGBUILD (cnijfilter-mg6200). Je me pose donc la question suivante: lorsque je crée le script "configure" est-il possible qu'il manque une option ou une mauvaise option est donnée et c'est pour ça que ça part en vrille après ?
La seconde piste que j'ai: j'ai vu un script pour générer un rpm. Je me suis dit que je pourrais essayer de générer un pour voir le contenu de l'archive. Si il y a le même nombre de fichier, c'est déjà pas mal. Il s'agit du fichier cnijfilter-common.spec livré avec les pilotes. Il se trouve ici. On voit notamment les options fournies pour créer le "configure".

A votre avis: je dois chercher une erreur dans les options de configurations ou essayer de construire le rpm et voir à quoi ça ressemble ? Si jamais, je dois pouvoir aussi faire un deb. En tout cas les deux sont téléchargeables du site de canon.

Re: [Imprimante] Canon Pixma MG6350

Publié : mar. 02 avr. 2013, 09:30
par FoolEcho
Tristelune a écrit :La seconde piste que j'ai: j'ai vu un script pour générer un rpm. Je me suis dit que je pourrais essayer de générer un pour voir le contenu de l'archive. Si il y a le même nombre de fichier, c'est déjà pas mal. Il s'agit du fichier cnijfilter-common.spec livré avec les pilotes. Il se trouve ici. On voit notamment les options fournies pour créer le "configure".
Pas besoin. Tu peux faire un PKGBUILD en partant du paquet .deb ou du .rpm fourni sur le site de Canon.

Sinon, tu as autre chose dans les logs de cups ? (ton PKGBUILD paraît bon, en tous cas, pas vu de trucs susceptibles de coincer: le ppd est là, l'exécutable aussi et les bibliothèques sont liées... :? )

Re: [Imprimante] Canon Pixma MG6350

Publié : mar. 02 avr. 2013, 21:45
par Tristelune
FoolEcho a écrit :Pas besoin. Tu peux faire un PKGBUILD en partant du paquet .deb ou du .rpm fourni sur le site de Canon.
Ok, mais pourrais-tu m'aiguiller sur les outils à utiliser ? D'après mes recherches j'ai trouvé ce lien

http://www.miketaylor.org.uk/tech/deb/

En gros il conseille d'utiliser soit l'utilitaire ar ou deb2targz (pour extraire les fichiers du deb, je suis conscient qu'ensuite il faut faire le PKGBUILD).
FoolEcho a écrit : Sinon, tu as autre chose dans les logs de cups ? (ton PKGBUILD paraît bon, en tous cas, pas vu de trucs susceptibles de coincer: le ppd est là, l'exécutable aussi et les bibliothèques sont liées... :? )
Je n'ai plus l'imprimante sous la main et j'ai fait aussi des essais avec une autre. Je vais refaire le tout. Et je viens de voir sur le wiki qu'on peut définir un mode debug pour le log. J'essaierai les deux.

Pour que j'y vois un peu plus clair:

- tu me dis que l'exécutable est là, comment tu l'as repéré ? Comme ça je me dis que c'est /usr/bin/cifmg6300. Juste ?
- qu'entends-tu par les bibliothèques sont liées ?

Je précise bien, que j'ai repris un bon nombre de choses tel quel, en priant pour que ça passe :roll:

Re: [Imprimante] Canon Pixma MG6350

Publié : mar. 02 avr. 2013, 22:21
par FoolEcho
Tristelune a écrit :En gros il conseille d'utiliser soit l'utilitaire ar ou deb2targz (pour extraire les fichiers du deb, je suis conscient qu'ensuite il faut faire le PKGBUILD).
À l'heure actuelle, il n'y a plus besoin d'expliciter la décompression d'un rpm ou d'un deb dans un PKGBUILD. Ce qui signifie que l'archive est décompressée et donc utilisable sans plus de manipulation. :)
Tristelune a écrit :- tu me dis que l'exécutable est là, comment tu l'as repéré ? Comme ça je me dis que c'est /usr/bin/cifmg6300. Juste ?
Tout ce qui est dans /usr/bin/ (cifmg6300 est le pilote apparemment, il doit y avoir la commande pour administrer/maintenir/tester, etc.). Mais je pensais surtout à pstocanonij (le filtre pour cups d'après le ppd).
Tristelune a écrit :- qu'entends-tu par les bibliothèques sont liées ?
Un ldd sur les exécutables pour voir éventuellement si une dépendance est manquante et si celles du paquets sont bien dynamiquement chargées (un PKGBUILD similaire faisait état d'un ldconfig à faire).

Re: [Imprimante] Canon Pixma MG6350

Publié : mer. 03 avr. 2013, 23:25
par Tristelune
FoolEcho a écrit :À l'heure actuelle, il n'y a plus besoin d'expliciter la décompression d'un rpm ou d'un deb dans un PKGBUILD. Ce qui signifie que l'archive est décompressée et donc utilisable sans plus de manipulation. :)
Ca peut faire ça un PKGBUILD :shock: !! Fantastique! Malgré tout c'est un .tar.gz sur le site, donc il a fallu le faire à la main.
FoolEcho a écrit : Un ldd sur les exécutables pour voir éventuellement si une dépendance est manquante et si celles du paquets sont bien dynamiquement chargées (un PKGBUILD similaire faisait état d'un ldconfig à faire).
Quand j'en aurai fini avec ces pilotes j'aimerais bien creuser ça histoire de mieux comprendre. MP ou nouveau sujet ? Je ne sais pas si d'autres sont intéressés.

J'ai donc fait un nouveau PKGBUILD. Si tu veux l'utiliser, jettes quand même un coup d'oeil, car il a été fait à la va-vite. Il détectera que le paquet cnijfilter-mg6300 est en conflit. Attention: l'inverse n'est pas vrai. Si ce nouveau paquet est installé (cnijfilter-mg6300-deb), l'autre PKGBUILD ne saura pas qu'il est en conflit. Le PKGBUILD:

Code : Tout sélectionner

# Maintainer: Tristelune  <tristelune1 at gmail dot com>
_model=mg6300
pkgname=cnijfilter-${_model}-deb
pkgver=3.80
pkgrel=1
_pkgver=3.80-1
pkgdesc="Canon IJ Printer Driver (for ${_model} series)"
url="http://fr.canon.ch/Support/Consumer_Products/products/Fax__Multifunctionals/InkJet/PIXMA_MG_series/PIXMA_MG6350.aspx?DLtcmuri=tcm:109-994581&page=1&type=download"
arch=('x86_64')
license=('custom')
conflicts=('cnijfilter-mg6300')
depends=('libpng>=1.2.8' 'libtiff' 'gtk2' 'popt')
makedepends=('binutils')
source=("http://gdlp01.c-wss.com/gds/2/0100004692/01/cnijfilter-${_model}series-3.80-1-deb.tar.gz ")
md5sums=('99d378100e5bf37ed0425ab09b496481')

build() {

	cd "${srcdir}/cnijfilter-${_model}series-${_pkgver}-deb/packages/"
	ar xv cnijfilter-${_model}series_${_pkgver}_amd64.deb
	tar xvzf data.tar.gz
}

package() {
	
	cd "${srcdir}/cnijfilter-${_model}series-${_pkgver}-deb/packages/"
	mv usr/ ${pkgdir} 
}
Les licenses ne sont pas placées à la bonne place, mais je pense qu'on peut le négliger. J'ai ensuite fait une comparaison des fichiers dans le paquet cnijfilter-mg6300, donc le PKGBUILD sur aur (mg6300.txt) et le PKGBUILD pour installer à partir du .deb (mg6300_deb.txt). Ca nous donne:

Code : Tout sélectionner

$ diff -aur mg6300.txt mg6300_deb.txt
--- mg6300.txt	2013-04-03 23:56:12.630484004 +0200
+++ mg6300_deb.txt	2013-04-03 23:57:12.717151132 +0200
@@ -1,11 +1,7 @@
 /usr/
 /usr/bin/
 /usr/bin/cifmg6300
-/usr/bin/cngpij
-/usr/bin/cngpijmntmg6300
 /usr/bin/cngpijmonmg6300
-/usr/bin/cnijnetprn
-/usr/bin/cnijnpr
 /usr/bin/lgmonmg6300
 /usr/bin/maintenancemg6300
 /usr/lib/
@@ -13,27 +9,12 @@
 /usr/lib/bjlib/cifmg6300.conf
 /usr/lib/bjlib/cnb_4080.tbl
 /usr/lib/bjlib/cnbpname408.tbl
-/usr/lib/bjlib/cnnet.ini
-/usr/lib/cups/
-/usr/lib/cups/backend/
-/usr/lib/cups/backend/cnijnet
-/usr/lib/cups/backend/cnijusb
-/usr/lib/cups/filter/
-/usr/lib/cups/filter/pstocanonij
-/usr/lib/libcnbpcmcm408.so
 /usr/lib/libcnbpcmcm408.so.8.10.1
-/usr/lib/libcnbpcnclapi408.so
 /usr/lib/libcnbpcnclapi408.so.3.8.0
-/usr/lib/libcnbpcnclbjcmd408.so
 /usr/lib/libcnbpcnclbjcmd408.so.3.3.0
-/usr/lib/libcnbpcnclui408.so
 /usr/lib/libcnbpcnclui408.so.3.8.0
-/usr/lib/libcnbpess408.so
 /usr/lib/libcnbpess408.so.4.1.3
-/usr/lib/libcnbpo408.so
 /usr/lib/libcnbpo408.so.1.0.1
-/usr/lib/libcnnet.so
-/usr/lib/libcnnet.so.1.2.2
 /usr/share/
 /usr/share/cngpijmonmg6300/
 /usr/share/cngpijmonmg6300/pixmaps/
@@ -149,15 +130,18 @@
 /usr/share/cngpijmonmg6300/pixmaps/Inkw_Level_40.xpm
 /usr/share/cngpijmonmg6300/pixmaps/Inkw_Level_70.xpm
 /usr/share/cngpijmonmg6300/pixmaps/Inkw_Level_uk.xpm
-/usr/share/cups/
-/usr/share/cups/model/
-/usr/share/cups/model/canonmg6300.ppd
-/usr/share/licenses/
-/usr/share/licenses/cnijfilter-mg6300/
-/usr/share/licenses/cnijfilter-mg6300/LICENSE-cnijfilter-3.80EN.txt
-/usr/share/licenses/cnijfilter-mg6300/LICENSE-cnijfilter-3.80FR.txt
-/usr/share/licenses/cnijfilter-mg6300/LICENSE-cnijfilter-3.80JP.txt
-/usr/share/licenses/cnijfilter-mg6300/LICENSE-cnijfilter-3.80SC.txt
+/usr/share/doc/
+/usr/share/doc/cnijfilter-mg6300series/
+/usr/share/doc/cnijfilter-mg6300series/LICENSE-cnijfilter-3.80EN.txt
+/usr/share/doc/cnijfilter-mg6300series/LICENSE-cnijfilter-3.80FR.txt
+/usr/share/doc/cnijfilter-mg6300series/LICENSE-cnijfilter-3.80JP.txt
+/usr/share/doc/cnijfilter-mg6300series/LICENSE-cnijfilter-3.80SC.txt
+/usr/share/doc/cnijfilter-mg6300series/changelog.Debian.gz
+/usr/share/doc/cnijfilter-mg6300series/copyright
+/usr/share/doc/cnijfilter-mg6300series/lproptions-mg6300-3.80EN.txt
+/usr/share/doc/cnijfilter-mg6300series/lproptions-mg6300-3.80FR.txt
+/usr/share/doc/cnijfilter-mg6300series/lproptions-mg6300-3.80JP.txt
+/usr/share/doc/cnijfilter-mg6300series/lproptions-mg6300-3.80SC.txt
 /usr/share/locale/
 /usr/share/locale/cs/
 /usr/share/locale/cs/LC_MESSAGES/
@@ -253,3 +237,5 @@
 /usr/share/maintenancemg6300/maintenance.res
 /usr/share/maintenancemg6300/ngptn_mg6300.xpm
 /usr/share/maintenancemg6300/okptn_mg6300.xpm
+/usr/share/ppd/
+/usr/share/ppd/canonmg6300.ppd
Dans le .deb il manque quelques trucs, de la doc est placée ailleurs et le ppd est aussi ailleurs. Est-ce que ça pose problème pour le ppd ? Tu ne m'as rien dit avant, je suppose que non. Est-ce que tu penses que je devrais tester à partir du .deb ? (peut-être en déplaçant le ppd).


EDIT: petit oubli. Pour la version x64, il y a deux paquets .deb dans l'archive:

Code : Tout sélectionner

cnijfilter-common_3.80-1_amd64.deb
cnijfilter-mg6300series_3.80-1_amd64.deb
J'ai pris cnijfilter_mg6300series_3.80-1_amd64.deb. L'autre contient beacoup moins de choses:

Code : Tout sélectionner

./usr/
./usr/bin/
./usr/bin/cngpij
./usr/bin/cngpijmnt
./usr/bin/cnijnetprn
./usr/bin/cnijnpr
./usr/lib/
./usr/lib/cups/
./usr/lib/cups/filter/
./usr/lib/cups/filter/pstocanonij
./usr/lib/cups/backend/
./usr/lib/cups/backend/cnijusb
./usr/lib/cups/backend/cnijnet
./usr/lib/libcnnet.so.1.2.2
./usr/lib/bjlib/
./usr/lib/bjlib/cnnet.ini
./usr/share/
./usr/share/doc/
./usr/share/doc/cnijfilter-common/
./usr/share/doc/cnijfilter-common/LICENSE-cnijfilter-3.80JP.txt
./usr/share/doc/cnijfilter-common/LICENSE-cnijfilter-3.80EN.txt
./usr/share/doc/cnijfilter-common/LICENSE-cnijfilter-3.80SC.txt
./usr/share/doc/cnijfilter-common/LICENSE-cnijfilter-3.80FR.txt
./usr/share/doc/cnijfilter-common/copyright
./usr/share/doc/cnijfilter-common/changelog.Debian.gz
./etc/
./etc/udev/
./etc/udev/rules.d/
./etc/udev/rules.d/81-canonij_prn.rules

Re: [Imprimante] Canon Pixma MG6350

Publié : jeu. 04 avr. 2013, 10:03
par FoolEcho
Tristelune a écrit :Dans le .deb il manque quelques trucs, de la doc est placée ailleurs et le ppd est aussi ailleurs. Est-ce que ça pose problème pour le ppd ? Tu ne m'as rien dit avant, je suppose que non. Est-ce que tu penses que je devrais tester à partir du .deb ? (peut-être en déplaçant le ppd).
Il me semble qu'il y a plusieurs emplacements valables: /usr/share/cups/model/, /usr/share/ppd/.
De toutes manières, tu peux tester (si cups ne voit rien c'est que l'endroit n'est pas bon :mrgreen: ). À part construire le PKGBUILD, je ne peux pas faire grand-chose pour tester le fonctionnement de toutes manières (juste au passage: binutils est dans base-devel donc ne doit pas figurer dans le PKGBUILD).

Vite fait:
Tristelune a écrit :
FoolEcho a écrit : Un ldd sur les exécutables pour voir éventuellement si une dépendance est manquante et si celles du paquets sont bien dynamiquement chargées (un PKGBUILD similaire faisait état d'un ldconfig à faire).
Quand j'en aurai fini avec ces pilotes j'aimerais bien creuser ça histoire de mieux comprendre. MP ou nouveau sujet ? Je ne sais pas si d'autres sont intéressés.
Ça dépend ce que tu veux... En 2 mots, ça liste les bibliothèques logicielles (partagées/dynamiques) requises par un programme/bibliothèque (c'est le classique "shared <truc> not found" à l'exécution qui signifie qu'une dépendance n'est pas présente dans le système; dès fois, ça permet aussi de voir s'il n'y a pas un problème d'incompatibilité de versions: utilisation d'une bibliothèque 32 bits alors qu'on souhaiterait une 64 ou vice-versa sur un système x86_64 par exemple ; ou encore un numéro de version attendu différente de celle installée sur le système). Après c'est de la programmation, ça n'a pas sa place ici (donc plutôt par MP ou sur des forums spécialisés ou des bouquins).