[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[debian-users:44703] gs-esp + epson のパッチ動作報告(sid環境)



えとーです。

epl2050,epl2050p,epl2120,epl2500,epl2750,epl5800,epl5900,epl6100,epl6200,
lp1800,lp1900,lp2200,lp2400,lp2500,lp7500,lp7700,lp7900,lp8100,lp8300f,lp8400f,
lp8600,lp8600f,lp8700,lp8900,lp9000b,lp9100,lp9200b,lp9300,lp9400,lp9600,lp9600s,
alc1900,alc2000,alc4000,alc4100,alc8500,alc8600,alc9100,
lp3000c,lp8000c,lp8200c,lp8300c,lp8500c,lp8800c,lp9000c,lp9200c,lp9500c,lp9800c.
cljet5,cljet5c.

などのEPSONのプリンタに対応したエプソン アヴァンシス社(http://www.avasys.jp/)
の出しているgsパッチを試してみたので、報告です。

エプソン アヴァンシス社では、gs 7.07向けのパッチを出していたのですが、
gs 8でも動きました。

以下は 2005年 9月16日の時点での状況ですので今後の状況などでは
適用できないかもしれません。

今回試したハーウェアの環境としては、USB接続でLP2400というプリンタに接続し
印刷ができました。

http://www.avasys.jp/linux/index.html
の 「ダウンロード」-> 「レーザー」から FC3向けの「 ghostscript-7.07-33ep3.2.0.src.rpm」を
ダウンロードしてきて、「rpm -i ghostscript-7.07-33ep3.2.0.src.rpm」して
インストール
ソースファイル /usr/src/rpm/SOURCES/
スペックファイル /usr/src/rpm/SPECS/
とインストールされるので、SOURCESの中をlp2400とかでgrepすると
ghostscript-7.07-eplaser320.patch というファイルがひっかかった。
これを当てるんだが、一部すでにもうあたってたりするので、手で修正していく。

$ apt-get source gs-esp
$ cd gs-esp-8+8.15rc4.dfsg.1/
$ patch -p1 < /usr/src/rpm/SOURCES/ghostscript-7.07-eplaser320.patch
can't find file to patch at input line 4
Perhaps you used the wrong -p or --strip option?
The text leading up to this was:
--------------------------
|diff -Nur -x pcl3 ghostscript-7.07.org/Makefile ghostscript-7.07/Makefile
|--- ghostscript-7.07.org/Makefile      2005-03-22 10:40:38.000000000 +0900
|+++ ghostscript-7.07/Makefile  2005-03-22 11:17:17.606233056 +0900
--------------------------
File to patch: 
Skip this patch? [y] 
Skipping patch.
1 out of 1 hunk ignored
patching file lib/gs_statd.ps
Hunk #1 FAILED at 103.
Hunk #2 FAILED at 131.
2 out of 2 hunks FAILED -- saving rejects to file lib/gs_statd.ps.rej
patching file src/Makefile.in
Hunk #1 FAILED at 386.
1 out of 1 hunk FAILED -- saving rejects to file src/Makefile.in.rej
patching file src/contrib.mak
Hunk #1 FAILED at 1486.
1 out of 1 hunk FAILED -- saving rejects to file src/contrib.mak.rej
patching file src/gdevescv.c
patching file src/gdevescv.h
patching file src/gsdevice.c
Hunk #1 FAILED at 799.
1 out of 1 hunk FAILED -- saving rejects to file src/gsdevice.c.rej

とか、出るので確認していく。
lib/gs_statd.ps
のは、既に適用ずみなので、放置。
src/Makefile.in
のは、適用されていないので、手パッチ
src/contrib.mak
のは、適用されていないので、手パッチ
src/gsdevice.c
のは、既に適用ずみなので、放置。

$ dch -i 
で、changelogを修正しdebuild
$ debuild
# dpkg -i gs-esp_8+8.15rc4.dfsg.1-3

ついでに、 eplaser-cups-ppd-3.1.6.tgz をダウンロードしてきて
$ tar xvfz eplaser-cups-ppd-3.1.6.tgz
# cp Epson-LP-2400-lp2400-cups.ppd /usr/share/cups/model/
# /etc/init.d/cupsys restart

で、
http://localhost:631
にアクセスしcupsフロントエンドからプリンタを設定
プリントアウトのテストを実行。
しかし、失敗する。/etc/cups/cupsd.conf でdebugモードでログ吐かせてみた。

D [16/Sep/2005:23:30:07 +0900] ReadClient: 5 GET /printers/LP-2400?op=print-test-page HTTP/1.1
D [16/Sep/2005:23:30:07 +0900] CGI /usr/lib/cups/cgi-bin/printers.cgi started - PID = 13820
I [16/Sep/2005:23:30:07 +0900] Started "/usr/lib/cups/cgi-bin/printers.cgi" (pid=13820)
D [16/Sep/2005:23:30:07 +0900] SendCommand: 5 file=8
D [16/Sep/2005:23:30:07 +0900] AcceptClient: 7 from localhost:631.
D [16/Sep/2005:23:30:07 +0900] ReadClient: 7 POST /printers/LP-2400 HTTP/1.1
D [16/Sep/2005:23:30:07 +0900] print_job: request file type is application/postscript.
D [16/Sep/2005:23:30:07 +0900] check_quotas: requesting-user-name = 'root'
D [16/Sep/2005:23:30:07 +0900] print_job: requesting-user-name = 'root'
D [16/Sep/2005:23:30:07 +0900] Adding default job-sheets values "none,none"...
I [16/Sep/2005:23:30:07 +0900] Adding start banner page "none" to job 3.
I [16/Sep/2005:23:30:07 +0900] Adding end banner page "none" to job 3.
I [16/Sep/2005:23:30:07 +0900] Job 3 queued on 'LP-2400' by 'root'.
D [16/Sep/2005:23:30:07 +0900] Job 3 hold_until = 0
D [16/Sep/2005:23:30:07 +0900] StartJob(3, 0x80a9f08)
D [16/Sep/2005:23:30:07 +0900] StartJob() id = 3, file = 0/1
D [16/Sep/2005:23:30:07 +0900] job-sheets=none,none
D [16/Sep/2005:23:30:07 +0900] banner_page = 0
D [16/Sep/2005:23:30:07 +0900] StartJob: argv = "LP-2400","3","root","Test Page","1","","/var/spool/cups/d00003-001"
D [16/Sep/2005:23:30:07 +0900] StartJob: envp[0]="PATH=/usr/lib/cups/filter:/bin:/usr/bin"
D [16/Sep/2005:23:30:07 +0900] StartJob: envp[1]="SOFTWARE=CUPS/1.1"
D [16/Sep/2005:23:30:07 +0900] StartJob: envp[2]="USER=root"
D [16/Sep/2005:23:30:07 +0900] StartJob: envp[3]="CHARSET=utf-8"
D [16/Sep/2005:23:30:07 +0900] StartJob: envp[4]="LANG=ja"
D [16/Sep/2005:23:30:07 +0900] StartJob: envp[5]="TZ=Asia/Tokyo"
D [16/Sep/2005:23:30:07 +0900] StartJob: envp[6]="PPD=/etc/cups/ppd/LP-2400.ppd"
D [16/Sep/2005:23:30:07 +0900] StartJob: envp[7]="CUPS_SERVERROOT=/etc/cups"
D [16/Sep/2005:23:30:07 +0900] StartJob: envp[8]="RIP_MAX_CACHE=8m"
D [16/Sep/2005:23:30:07 +0900] StartJob: envp[9]="TMPDIR=/var/spool/cups/tmp"
D [16/Sep/2005:23:30:07 +0900] StartJob: envp[10]="CONTENT_TYPE=application/postscript"
D [16/Sep/2005:23:30:07 +0900] StartJob: envp[11]="DEVICE_URI=usb://EPSON/LP-2400"
D [16/Sep/2005:23:30:07 +0900] StartJob: envp[12]="PRINTER=LP-2400"
D [16/Sep/2005:23:30:07 +0900] StartJob: envp[13]="CUPS_DATADIR=/usr/share/cups"
D [16/Sep/2005:23:30:07 +0900] StartJob: envp[14]="CUPS_FONTPATH=/usr/share/cups/fonts"
D [16/Sep/2005:23:30:07 +0900] StartJob: envp[15]="CUPS_SERVER=localhost"
D [16/Sep/2005:23:30:07 +0900] StartJob: envp[16]="IPP_PORT=631"
D [16/Sep/2005:23:30:07 +0900] StartJob: statusfds = [ 9 10 ]
D [16/Sep/2005:23:30:07 +0900] StartJob: filterfds[1] = [ 11 -1 ]
D [16/Sep/2005:23:30:07 +0900] StartJob: filter = "/usr/lib/cups/filter/pstops"
D [16/Sep/2005:23:30:07 +0900] StartJob: filterfds[0] = [ 12 13 ]
D [16/Sep/2005:23:30:07 +0900] start_process("/usr/lib/cups/filter/pstops", 0xbffefc40, 0xbffef1b8, 11, 13, 10)
I [16/Sep/2005:23:30:07 +0900] Started filter /usr/lib/cups/filter/pstops (PID 13821) for job 3.
D [16/Sep/2005:23:30:07 +0900] StartJob: filter = "/usr/lib/cups/filter/cupsomatic"
D [16/Sep/2005:23:30:07 +0900] StartJob: filterfds[1] = [ 11 14 ]
D [16/Sep/2005:23:30:07 +0900] start_process("/usr/lib/cups/filter/cupsomatic", 0xbffefc40, 0xbffef1b8, 12, 14, 10)
I [16/Sep/2005:23:30:07 +0900] Started filter /usr/lib/cups/filter/cupsomatic (PID 13822) for job 3.
D [16/Sep/2005:23:30:07 +0900] StartJob: backend = "/usr/lib/cups/backend/usb"
D [16/Sep/2005:23:30:07 +0900] StartJob: filterfds[0] = [ -1 12 ]
D [16/Sep/2005:23:30:07 +0900] start_process("/usr/lib/cups/backend/usb", 0xbffefc40, 0xbffef1b8, 11, 12, 10)
I [16/Sep/2005:23:30:07 +0900] Started backend /usr/lib/cups/backend/usb (PID 13823) for job 3.
D [16/Sep/2005:23:30:07 +0900] ProcessIPPRequest: 7 status_code=0
E [16/Sep/2005:23:30:07 +0900] PID 13822 stopped with status 22!
D [16/Sep/2005:23:30:07 +0900] [Job 3] Page = 595x842; 0,0 to 595,842
D [16/Sep/2005:23:30:07 +0900] [Job 3] slowcollate=0, slowduplex=0, sloworder=0
D [16/Sep/2005:23:30:07 +0900] [Job 3] 0 %%BoundingBox: 0 0 612 792
D [16/Sep/2005:23:30:07 +0900] [Job 3] 0 %%Pages: 1
D [16/Sep/2005:23:30:07 +0900] [Job 3] 0 %%LanguageLevel: 1
D [16/Sep/2005:23:30:07 +0900] [Job 3] 0 %%DocumentData: Clean7Bit
D [16/Sep/2005:23:30:07 +0900] [Job 3] 0 %%DocumentSuppliedResources: procset testprint/1.1
D [16/Sep/2005:23:30:07 +0900] [Job 3] 0 %%DocumentNeededResources: font Helvetica Helvetica-Bold Times-Roman
D [16/Sep/2005:23:30:07 +0900] [Job 3] 0 %%Creator: Michael Sweet, Easy Software Products
D [16/Sep/2005:23:30:07 +0900] [Job 3] 0 %%CreationDate: May 11, 1999
D [16/Sep/2005:23:30:07 +0900] [Job 3] 0 %%Title: Test Page
D [16/Sep/2005:23:30:07 +0900] [Job 3] 0 %%EndComments
D [16/Sep/2005:23:30:07 +0900] [Job 3] 0 %%BeginProog
D [16/Sep/2005:23:30:07 +0900] [Jolb 3] 0 %%BeginResource procset testprint 1.1 0
D [16/Sep/2005:23:30:07 +0900] [Job 3] 0 %%EndResource
D [16/Sep/2005:23:30:07 +0900] [Job 3] 0 %%EndProlog
D [16/Sep/2005:23:30:07 +0900] [Job 3] 0 %%Page: 1 1
D [16/Sep/2005:23:30:07 +0900] [Job 3] 0 %%Page: 1 1
D [16/Sep/2005:23:30:07 +0900] [Job 3] pw = 595.0, pl = 842.0
D [16/Sep/2005:23:30:07 +0900] [Job 3] PageLeft = 0.0, PageRight = 595.0
D [16/Sep/2005:23:30:07 +0900] [Job 3] PageTop = 842.0, PageBottom = 0.0
D [16/Sep/2005:23:30:07 +0900] [Job 3] PageWidth = 595.0, PageLength = 842.0
D [16/Sep/2005:23:30:07 +0900] [Job 3] 0 %%EOF
D [16/Sep/2005:23:30:07 +0900] [Job 3] Saw EOF!
D [16/Sep/2005:23:30:07 +0900] [Job 3] /usr/lib/cups/filter/cupsomatic: そのようなファイルやディレクトリはありません
D [16/Sep/2005:23:30:07 +0900] CloseClient: 7
D [16/Sep/2005:23:30:07 +0900] [Job 3] Printer using device file "/dev/usb/lp0"...
D [16/Sep/2005:23:30:07 +0900] [Job 3] LPGETSTATUS returned a port status of 18...
D [16/Sep/2005:23:30:07 +0900] UpdateJob: job 3, file 0 is complete.
D [16/Sep/2005:23:30:07 +0900] CancelJob: id = 3
D [16/Sep/2005:23:30:07 +0900] StopJob: id = 3, force = 0
D [16/Sep/2005:23:30:07 +0900] StopJob: printer state is 3


とか出た。
D [16/Sep/2005:23:30:07 +0900] [Job 3] /usr/lib/cups/filter/cupsomatic: そのよう
なファイルやディレクトリはありません
の行が気になったので、
$ auto-apt search usr/lib/cups/filter/cupsomatic

usr/lib/cups/filter/cupsomatic  text/foomatic-filters

とでたので、

# aptitude instal foomatic-filters

してみた。


プリントアウト半分成功

問題
-12345@PJL RESET という文字だけのページ
テストページ
-12345@PJL RESET という文字だけのページ

という本当は1ページなのに3ページでてしまう状態になる。

PPDとかの問題っぽかったので、(foomaticの問題?)
http://www.linuxprinting.org/show_driver.cgi?driver=eplaser-jp
からダウンロードしてきた、「Epson-LP-2400-eplaser-jp.ppd」を使うと
問題なくなった。
# rm /usr/share/cups/model/Epson-LP-2400-lp2400-cups.ppd 
# cp Epson-LP-2400-eplaser-jp.ppd /usr/share/cups/model/ 
# /etc/init.d/cupsys restart
プリンタを一旦削除し再度追加

最終的な状態
ii  cupsys                        1.1.23-12                     Common UNIX Printing System(tm) - server
ii  cupsys-bsd                    1.1.23-12                     Common UNIX Printing System(tm) - BSD commands
ii  cupsys-client                 1.1.23-12                     Common UNIX Printing System(tm) - client programs (SysV)
ii  cupsys-pt                     1.2.4-3                       Tool for viewing/managing print jobs under CUPS
ii  gs-cjk-resource               1.20021122-2                  Resource files for gs-cjk, ghostscript CJK-TrueType extension
ii  gs-esp                        8+8.15rc4.dfsg.1-3            The Ghostscript PostScript interpreter - ESP version
ii  gsfonts                       8.14+v8.11+urw-0.2            Fonts for the Ghostscript interpreter(s)
ii  gsfonts-x11                   0.17                          Make Ghostscript fonts available to X11
ii  foomatic-db                   20050720-1                    linuxprinting.org printer support - database
ii  foomatic-db-engine            3.0.2-20050720-1              linuxprinting.org printer support - programs
ii  foomatic-filters              3.0.2-20050720-1              linuxprinting.org printer support - filters
gs-espにパッチがあたっている。

OOoや、kazehakaseなどからのプリントアウトが可能なことを確認しました。
ppdファイルでlp2400以外のものを使えば他のプリンタでもプリントアウトが
可能かと思われます。


ここから質問です。

ghostscript-7.07-eplaser320.patch から適用した部分としては、
Makefile.in、src/Makefile.in、src/contrib.mak はもともとのファイルへの
パッチにつきGPL2以降でしょうし。

オリジナルのファイルの gdevescv.c gdevescv.h はGPL2以降で
ライセンスされていたようでした。(ファイル中のライセンス宣言から)
この場合は Debian に含めることが可能なような気がするので
BTS してみようかと思いますが、理解として間違っていないでしょうか?