From 8adbacc0058d79d26ddf417d277a5756f5cb74a7 Mon Sep 17 00:00:00 2001 From: Tim Dickson Date: Thu, 1 Oct 2020 19:47:40 +0100 Subject: system/epson-printer-utility: Added (epson printer monitor+tools) Signed-off-by: Dave Woodfall Signed-off-by: Willy Sudiarto Raharjo --- system/epson-printer-utility/LICENCE.html | 98 ++++++++ system/epson-printer-utility/README | 6 + system/epson-printer-utility/README.models | 208 +++++++++++++++++ system/epson-printer-utility/doinst.sh | 37 +++ .../epson-printer-utility.SlackBuild | 248 +++++++++++++++++++++ .../epson-printer-utility.desktop | 8 + .../epson-printer-utility.info | 10 + system/epson-printer-utility/fixrm | 29 +++ system/epson-printer-utility/rc.ecbd | 33 +++ system/epson-printer-utility/slack-desc | 19 ++ 10 files changed, 696 insertions(+) create mode 100644 system/epson-printer-utility/LICENCE.html create mode 100644 system/epson-printer-utility/README create mode 100644 system/epson-printer-utility/README.models create mode 100644 system/epson-printer-utility/doinst.sh create mode 100644 system/epson-printer-utility/epson-printer-utility.SlackBuild create mode 100644 system/epson-printer-utility/epson-printer-utility.desktop create mode 100644 system/epson-printer-utility/epson-printer-utility.info create mode 100644 system/epson-printer-utility/fixrm create mode 100644 system/epson-printer-utility/rc.ecbd create mode 100644 system/epson-printer-utility/slack-desc (limited to 'system/epson-printer-utility') diff --git a/system/epson-printer-utility/LICENCE.html b/system/epson-printer-utility/LICENCE.html new file mode 100644 index 0000000000..9db25aedc9 --- /dev/null +++ b/system/epson-printer-utility/LICENCE.html @@ -0,0 +1,98 @@ + + + + + +SEIKO EPSON CORPORATION
+SOFTWARE LICENSE AGREEMENT FOR LINUX
+
+IMPORTANT! READ THIS SOFTWARE LICENSE AGREEMENT CAREFULLY. The computer + software product, fontware, typefaces and/or data, including any +accompanying explanatory written materials (the "Software") should only +be installed or used by the Licensee ("you") on the condition you agree +with SEIKO EPSON CORPORATION ("EPSON") to the terms and conditions set +forth in this Agreement. By installing or using the Software, you are +representing to agree all the terms and conditions set forth in this +Agreement. You should read this Agreement carefully before installing +or using the Software. If you do not agree with the terms and +conditions of this Agreement, you are not permitted to install or use +the Software.
+
+ +
+ +[Inkjet Printer]
+1.ESC/P + + +2.ESC/P-R + + +3.PIPS(Photo Image Print System) + + +
+ +[Laser Printer]
+1.Postscript Printer Description (PPD) file for EPSON Printer + +
    +
  • Please read the license at the top of the EPSON PPD file carefully.
  • +
+ +2.GS-LPD (Ghostscript Laser Printer Driver for Linux) + + + +3.Laser Printer Filter for Linux + + +4.Photo Image Print System Plus for Linux + + +
+ +[Scanner]
+1.Image Scan! for Linux + + +2.Image Scan v3 + + + +
+
+EPSON EULA EN 11/05/2012 +
+
+
+ + + + \ No newline at end of file diff --git a/system/epson-printer-utility/README b/system/epson-printer-utility/README new file mode 100644 index 0000000000..d5771efb20 --- /dev/null +++ b/system/epson-printer-utility/README @@ -0,0 +1,6 @@ +This is a printer utility for most Epson inkjet printers. +It offers printer monitoring of error, ink levels, and utilities +to check nozzles and clean print heads. + +See README.models for supported printer models. + diff --git a/system/epson-printer-utility/README.models b/system/epson-printer-utility/README.models new file mode 100644 index 0000000000..0cc3c61591 --- /dev/null +++ b/system/epson-printer-utility/README.models @@ -0,0 +1,208 @@ +, Artisan 1430, Artisan 50, Artisan 630, Artisan 700, Artisan 710 +Artisan 720, Artisan 730, Artisan 800, Artisan 810, Artisan 830 +Artisan 837, E-150, E-200, E-300, E-330, E-330S, E-340, E-350 +E-360 Series, E-370 Series, E-500, E-520, E-530, E-530P, E-530S, E-600 +E-700, E-720, E-800, E-810, E-820, E-830 Series, E-840 Series +E-850 Series, EC-4020 Series, EC-4030 Series, EC-4040 Series +EC-C110 Series, EC-C7000 Series, EP-10VA Series, EP-302, EP-306 Series +EP-30VA Series, EP-4004, EP-50V Series, EP-702A, EP-703A, EP-704A +EP-705A Series, EP-706A Series, EP-707A Series, EP-708A Series +EP-710A Series, EP-711A Series, EP-712A Series, EP-774A, EP-775A Series +EP-776A Series, EP-777A Series, EP-801A, EP-802A, EP-803A, EP-804A +EP-805A Series, EP-806A Series, EP-807A Series, EP-808A Series +EP-810A Series, EP-811A Series, EP-812A Series, EP-879A Series +EP-880A Series, EP-881A Series, EP-882A Series, EP-901A, EP-901F +EP-902A, EP-903A, EP-903F, EP-904A, EP-904F, EP-905A Series +EP-905F Series, EP-906F Series, EP-907F Series, EP-976A3 Series +EP-977A3 Series, EP-978A3 Series, EP-982A3 Series, EP-M552T Series +EP-M570T Series, ET-1110 Series, ET-14000 Series, ET-15000 Series +ET-16150 Series, ET-16600 Series, ET-16650 Series, ET-2500 Series +ET-2550 Series, ET-2600 Series, ET-2610 Series, ET-2650 Series +ET-2700 Series, ET-2710 Series, ET-2720 Series, ET-2750 Series +ET-2760 Series, ET-3700 Series, ET-3710 Series, ET-3750 Series +ET-3760 Series, ET-4500 Series, ET-4550 Series, ET-4700 Series +ET-4750 Series, ET-4760 Series, ET-5800 Series, ET-5850 Series +ET-5880 Series, ET-7700 Series, ET-7750 Series, ET-8700 Series +ET-M1100 Series, ET-M1120 Series, ET-M1140 Series, ET-M1170 Series +ET-M1180 Series, ET-M2120 Series, ET-M2140 Series, ET-M2170 Series +ET-M3140 Series, ET-M3170 Series, ET-M3180 Series, EW-052A Series +EW-452A Series, EW-M5071FT Series, EW-M5610FT Series, EW-M571T Series +EW-M630T Series, EW-M660FT Series, EW-M670FT Series, EW-M752T Series +EW-M770T Series, EW-M970A3T Series, K100, K200, K300, L110 Series +L1110 Series, L11160 Series, L120 Series, L130 Series, L1300 Series +L132 Series, L14150 Series, L1455 Series, L15150 Series, L15160 Series +L1800 Series, L210 Series, L220 Series, L222 Series, L300 Series +L3050 Series, L3060 Series, L3070 Series, L310 Series, L3100 Series +L3110 Series, L312 Series, L3150 Series, L3160 Series, L350 Series +L355 Series, L360 Series, L362 Series, L364 Series, L365 Series +L366 Series, L375 Series, L380 Series, L382 Series, L386 Series +L395 Series, L396 Series, L405 Series, L4150 Series, L4160 Series +L455 Series, L456 Series, L475 Series, L486 Series, L495 Series +L5190 Series, L550 Series, L555 Series, L565 Series, L566 Series +L575 Series, L605 Series, L6160 Series, L6170 Series, L6190 Series +L655 Series, L6550 Series, L6570 Series, L6580 Series, L7160 Series +L7180 Series, L800, L805 Series, L810 Series, L850 Series, LX-10000F +LX-10000FK, LX-10050KF, LX-10050MF, LX-6050MF, LX-7000F, LX-7550MF +M100 Series, M105 Series, M1100 Series, M1120 Series, M1140 Series +M1170 Series, M1180 Series, M15140 Series, M200 Series, M205 Series +M2110 Series, M2120 Series, M2140 Series, M2170 Series, M3140 Series +M3170 Series, M3180 Series, ME 10, ME 200, ME 32, ME 320, ME 33, ME 330 +ME 340, ME OFFICE 520, ME OFFICE 530, ME OFFICE 560W, ME OFFICE 570 +ME OFFICE 620F, ME OFFICE 82WD, ME OFFICE 85ND, ME OFFICE 900WD +ME OFFICE 940FW, ME OFFICE 960FWD, ME Office 510, ME Office 600F +ME Office 650FN, ME Office 700FW, ME-10 Series, ME-100 Series +ME-301 Series, ME-303 Series, ME-400 Series, NX130 TX130, NX230 TX230 +NX430 TX435, PF-70 Series, PF-71 Series, PF-81 Series, PM-400 Series +PM-520 Series, PM-A750, PM-A820, PM-A840, PM-A840S, PM-A890, PM-A920 +PM-A940, PM-A950, PM-A970, PM-D600, PM-D800, PM-D870, PM-G4500, PM-G850 +PM-T960, PM-T990, PX-045A Series, PX-046A Series, PX-047A Series +PX-048A Series, PX-105 Series, PX-1200, PX-1600F, PX-1700F, PX-203 +PX-204, PX-205 Series, PX-402A, PX-403A, PX-404A, PX-405A Series +PX-434A, PX-435A Series, PX-436A Series, PX-437A Series, PX-501A +PX-502A, PX-503A, PX-504A, PX-505F Series, PX-535F Series, PX-5600 +PX-5V, PX-601F, PX-602F, PX-603F, PX-605F Series, PX-673F +PX-675F Series, PX-7V, PX-A620, PX-A640, PX-A650, PX-A720, PX-A740 +PX-B700, PX-B750F, PX-FA700, PX-G5300, PX-K100, PX-K150 Series +PX-M160T Series, PX-M270FT Series, PX-M270T Series, PX-M270UT Series +PX-M350F, PX-M380F, PX-M381FL, PX-M5040F, PX-M5041F, PX-M5080F Series +PX-M5081F Series, PX-M650A, PX-M650F, PX-M6711FT Series +PX-M6712FT Series, PX-M680F Series, PX-M7050 Series, PX-M7050FP +PX-M7050FX, PX-M7070FX, PX-M7080FX, PX-M7090FX, PX-M7110F, PX-M7110FP +PX-M740F, PX-M741F, PX-M780F Series, PX-M781F Series, PX-M791FT Series +PX-M840F, PX-M840FX, PX-M860F, PX-M880FX, PX-M884F, PX-M885F, PX-M886FL +PX-S05 Series, PX-S06 Series, PX-S160T Series, PX-S170T Series +PX-S170UT Series, PX-S270T Series, PX-S350, PX-S380, PX-S381L +PX-S5010 Series, PX-S5040, PX-S5080 Series, PX-S7050 Series, PX-S7050PS +PX-S7070X, PX-S7090X, PX-S7110, PX-S7110P, PX-S740, PX-S840, PX-S860 +PX-S880X, PX-S884, PX-S885, PictureMate 500, PictureMate Deluxe +PictureMate PM 200, PictureMate PM 210, PictureMate PM 215 +PictureMate PM 225, PictureMate PM 235, PictureMate PM 240 +PictureMate PM 245, PictureMate PM 250, PictureMate PM 260 +PictureMate PM 270, PictureMate PM 280, PictureMate PM 290 +PictureMate PM 300, PictureMate PM 310, ST-2000 Series, ST-3000 Series +ST-4000 Series, ST-C8000 Series, ST-M1000 Series, ST-M3000 Series +Epson Stylus CX2800, Epson Stylus CX2900, Epson Stylus CX3700 +Epson Stylus CX3800, Epson Stylus CX3900, Epson Stylus CX4200 +Epson Stylus CX4800, Epson Stylus CX4900, Epson Stylus CX5000 +Epson Stylus CX5900, Epson Stylus CX6000, Epson Stylus CX7300 +Epson Stylus CX7400, Epson Stylus CX7700, Epson Stylus CX7800 +Epson Stylus CX8300, Epson Stylus CX8400, Epson Stylus CX9300F +Epson Stylus CX9400Fax, Epson Stylus DX3800, Epson Stylus DX4000 +Epson Stylus DX4200, Epson Stylus DX4800, Epson Stylus DX5000 +Epson Stylus DX7400, Epson Stylus DX8400, Epson Stylus DX9400F +Epson Stylus N10 N11, Epson Stylus NX110, Epson Stylus NX125 NX127 +Epson Stylus NX130, Epson Stylus NX200, Epson Stylus NX210 +Epson Stylus NX215, Epson Stylus NX230, Epson Stylus NX300 +Epson Stylus NX330, Epson Stylus NX400, Epson Stylus NX410 +Epson Stylus NX420, Epson Stylus NX430, Epson Stylus NX510 +Epson Stylus NX530, Epson Stylus NX620, Epson Stylus NX635 +Epson Stylus Office B42WD, Epson Stylus Office BX300F +Epson Stylus Office BX305, Epson Stylus Office BX305 Plus +Epson Stylus Office BX310FN, Epson Stylus Office BX320FW +Epson Stylus Office BX525WD, Epson Stylus Office BX535WD +Epson Stylus Office BX600FW, Epson Stylus Office BX610FW +Epson Stylus Office BX620FWD, Epson Stylus Office BX630FW +Epson Stylus Office BX635FWD, Epson Stylus Office BX925 +Epson Stylus Office BX935FWD, Epson Stylus Office TX300F +Epson Stylus Office TX320F, Epson Stylus Office TX510FN +Epson Stylus Office TX515FN, Epson Stylus Office TX525FW +Epson Stylus Office TX600FW, Epson Stylus Office TX610FW +Epson Stylus Office TX620FWD, Epson Stylus Photo 1400 +Epson Stylus Photo 1410, Epson Stylus Photo 1430 +Epson Stylus Photo 1500, Epson Stylus Photo P50 +Epson Stylus Photo PX650, Epson Stylus Photo PX660 +Epson Stylus Photo PX700W, Epson Stylus Photo PX710W +Epson Stylus Photo PX720WD, Epson Stylus Photo PX730 +Epson Stylus Photo PX800FW, Epson Stylus Photo PX810FW +Epson Stylus Photo PX820FWD, Epson Stylus Photo PX830 +Epson Stylus Photo R1900, Epson Stylus Photo R2000 +Epson Stylus Photo R240, Epson Stylus Photo R250 +Epson Stylus Photo R260, Epson Stylus Photo R265 +Epson Stylus Photo R270, Epson Stylus Photo R2880 +Epson Stylus Photo R3000, Epson Stylus Photo R340 +Epson Stylus Photo R350, Epson Stylus Photo R360 +Epson Stylus Photo R380, Epson Stylus Photo R390 +Epson Stylus Photo RX520, Epson Stylus Photo RX530 +Epson Stylus Photo RX560, Epson Stylus Photo RX580 +Epson Stylus Photo RX585, Epson Stylus Photo RX590 +Epson Stylus Photo RX595, Epson Stylus Photo RX610 +Epson Stylus Photo RX640, Epson Stylus Photo RX650 +Epson Stylus Photo RX680, Epson Stylus Photo RX685 +Epson Stylus Photo RX690, Epson Stylus Photo T50 +Epson Stylus Photo T60, Epson Stylus Photo TX650 +Epson Stylus Photo TX700W, Epson Stylus Photo TX710W +Epson Stylus Photo TX720WD, Epson Stylus Photo TX730 +Epson Stylus Photo TX800FW, Epson Stylus Photo TX810FW +Epson Stylus S21, Epson Stylus S22, Epson Stylus SX110 +Epson Stylus SX125, Epson Stylus SX130, Epson Stylus SX200 +Epson Stylus SX210, Epson Stylus SX215, Epson Stylus SX218 +Epson Stylus SX230, Epson Stylus SX235, Epson Stylus SX400 +Epson Stylus SX410, Epson Stylus SX420W, Epson Stylus SX430 +Epson Stylus SX440, Epson Stylus SX510W, Epson Stylus SX525WD +Epson Stylus SX535WD, Epson Stylus SX600FW, Epson Stylus SX610FW +Epson Stylus SX620FW, Epson Stylus T21, Epson Stylus T22 +Epson Stylus T24, Epson Stylus T25, Epson Stylus T27 +Epson Stylus TX110, Epson Stylus TX111, Epson Stylus TX112 +Epson Stylus TX115, Epson Stylus TX117, Epson Stylus TX120 +Epson Stylus TX121, Epson Stylus TX125, Epson Stylus TX130 +Epson Stylus TX200, Epson Stylus TX210, Epson Stylus TX213 +Epson Stylus TX219, Epson Stylus TX220, Epson Stylus TX230 +Epson Stylus TX235, Epson Stylus TX400, Epson Stylus TX410 +Epson Stylus TX420W, Epson Stylus TX430, Epson Stylus TX550W +Epson Stylus TX560WD, T12 T22 N11, T13 T22E, TX120 NX120, TX133 TX135 +TX220 NX220, TX320 WorkForce320, TX420 NX420, WF-100 Series +WF-110 Series, WF-2010 Series, WF-2510 Series, WF-2520 Series +WF-2530 Series, WF-2540 Series, WF-2630 Series, WF-2650 Series +WF-2660 Series, WF-2750 Series, WF-2760 Series, WF-2810 Series +WF-2830 Series, WF-2850 Series, WF-2860 Series, WF-3010 Series +WF-3520 Series, WF-3530 Series, WF-3540 Series, WF-3620 Series +WF-3640 Series, WF-3720 Series, WF-3730 Series, WF-3820 Series +WF-4630 Series, WF-4640 Series, WF-4720 Series, WF-4730 Series +WF-4740 Series, WF-4820 Series, WF-4830 Series, WF-5110 Series +WF-5190 Series, WF-5620 Series, WF-5690 Series, WF-6090 Series +WF-6530 Series, WF-6590 Series, WF-7010 Series, WF-7011 Series +WF-7012 Series, WF-7015 Series, WF-7018 Series, WF-7110 Series +WF-7210 Series, WF-7510 Series, WF-7511 Series, WF-7515 Series +WF-7520 Series, WF-7521 Series, WF-7525 Series, WF-7610 Series +WF-7620 Series, WF-7710 Series, WF-7720 Series, WF-7820 Series +WF-7830 Series, WF-7840 Series, WF-8010 Series, WF-8090 Series +WF-8510 Series, WF-8590 Series, WF-C17590 Series, WF-C20590 Series +WF-C20600 Series, WF-C20750 Series, WF-C21000 Series, WF-C5210 Series +WF-C5290 Series, WF-C5290BA, WF-C529R Series, WF-C529RB +WF-C5710 Series, WF-C5790 Series, WF-C5790BA, WF-C579R Series +WF-C579RB, WF-C8190 Series, WF-C8190B, WF-C8610 Series, WF-C8690 Series +WF-C8690B, WF-C869R Series, WF-C878R Series, WF-C878RB, WF-C879R Series +WF-C879RB, WF-M1030 Series, WF-M1560 Series, WF-M20590 Series +WF-M5190 Series, WF-M5298 Series, WF-M5299 Series, WF-M5690 Series +WF-M5799 Series, WF-R4640 Series, WF-R5190 Series, WF-R5690 Series +WF-R8590 Series, WP-4010 Series, WP-4011 Series, WP-4015 Series +WP-4020 Series, WP-4022 Series, WP-4023 Series, WP-4025 Series +WP-4090 Series, WP-4091 Series, WP-4092 Series, WP-4095 Series +WP-4511 Series, WP-4515 Series, WP-4520 Series, WP-4521 Series +WP-4525 Series, WP-4530 Series, WP-4531 Series, WP-4532 Series +WP-4533 Series, WP-4535 Series, WP-4540 Series, WP-4545 Series +WP-4590 Series, WP-4592 Series, WP-4595 Series, WP-M4011 Series +WP-M4015 Series, WP-M4095 Series, WP-M4521 Series, WP-M4525 Series +WP-M4595 Series, WorkForce 310, WorkForce 320, WorkForce 435 +WorkForce 500, WorkForce 520, WorkForce 545, WorkForce 60 +WorkForce 600, WorkForce 610, WorkForce 620, WorkForce 630 +WorkForce 645, WorkForce 840, WorkForce 845, WorkForce T42WD +XP-100 Series, XP-102 103 Series, XP-15000 Series, XP-200 Series +XP-201 204 208 Series, XP-202 203 206 Series, XP-205 207 Series +XP-2100 Series, XP-211 214 216 Series, XP-212 213 Series +XP-215 217 Series, XP-220 Series, XP-225 Series, XP-235 Series +XP-240 Series, XP-243 245 247 Series, XP-255 257 Series, XP-300 Series +XP-302 303 305 306 Series, XP-310 Series, XP-3100 Series +XP-312 313 315 Series, XP-320 Series, XP-322 323 325 Series +XP-330 Series, XP-332 335 Series, XP-340 Series, XP-342 343 345 Series +XP-352 355 Series, XP-400 Series, XP-402 403 405 406 Series +XP-410 Series, XP-4100 Series, XP-412 413 415 Series, XP-420 Series +XP-422 423 425 Series, XP-430 Series, XP-432 435 Series, XP-440 Series +XP-442 445 Series, XP-452 455 Series, XP-510 Series, XP-5100 Series +XP-520 Series, XP-530 Series, XP-540 Series, XP-55 Series +XP-600 Series, XP-6000 Series, XP-610 Series, XP-6100 Series +XP-620 Series, XP-630 Series, XP-640 Series, XP-700 Series +XP-710 Series, XP-7100 Series, XP-720 Series, XP-750 Series +XP-760 Series, XP-800 Series, XP-810 Series, XP-820 Series +XP-830 Series, XP-850 Series, XP-8500 Series, XP-860 Series +XP-8600 Series, XP-950 Series, XP-960 Series, XP-970 Series diff --git a/system/epson-printer-utility/doinst.sh b/system/epson-printer-utility/doinst.sh new file mode 100644 index 0000000000..e41ff8a5fe --- /dev/null +++ b/system/epson-printer-utility/doinst.sh @@ -0,0 +1,37 @@ +#!/bin/sh +#fix rc file on install, and register .desktop file +config() { + NEW="$1" + OLD="$(dirname $NEW)/$(basename $NEW .new)" + # If there's no config file by that name, mv it over: + if [ ! -r $OLD ]; then + mv $NEW $OLD + elif [ "$(cat $OLD | md5sum)" = "$(cat $NEW | md5sum)" ]; then + # toss the redundant copy + rm $NEW + fi + # Otherwise, we leave the .new copy for the admin to consider... +} + +config etc/rc.d/rc.ecbd.new + +if [ -x /usr/bin/update-desktop-database ]; then + /usr/bin/update-desktop-database -q usr/share/applications >/dev/null 2>&1 +fi + +if [ -e /usr/share/icons/hicolor/icon-theme.cache ]; then + if [ -x /usr/bin/gtk-update-icon-cache ]; then + /usr/bin/gtk-update-icon-cache -f usr/share/icons/hicolor >/dev/null 2>&1 + fi +fi + +if [ -x /usr/bin/kbuildsycoca4 ]; then + /usr/bin/kbuildsycoca4 >/dev/null 2>&1 +fi + +echo +echo "********************* NOTICE *********************************" +echo "ecbd needs to be running for the printer monitor to be usable:" +echo "/etc/rc.d/rc.ecbd restart" +echo "**************************************************************" +echo diff --git a/system/epson-printer-utility/epson-printer-utility.SlackBuild b/system/epson-printer-utility/epson-printer-utility.SlackBuild new file mode 100644 index 0000000000..77bf7928b4 --- /dev/null +++ b/system/epson-printer-utility/epson-printer-utility.SlackBuild @@ -0,0 +1,248 @@ +#!/bin/sh + +# Slackware build script for epson-printer-utility + +# Copyright 2020 Tim Dickson +# All rights reserved. +# +# Redistribution and use of this script, with or without modification, is +# permitted provided that the following conditions are met: +# +# 1. Redistributions of this script must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED +# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO +# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, +# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; +# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, +# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR +# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF +# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +#thanks to B.Watson for support on this build. :-) + +PRGNAM=epson-printer-utility +VERSION=${VERSION:-1.1.1} +EXTRABIT=1lsb3.2 +TARNAM=$PRGNAM-$VERSION.tar.gz +BUILD=${BUILD:-1} +TAG=${TAG:-_SBo} + +if [ -z "$ARCH" ]; then + case "$( uname -m )" in + i?86) ARCH=i586 ;; + arm*) ARCH=arm ;; + *) ARCH=$( uname -m ) ;; + esac +fi + +CWD=$(pwd) +#lets get the source tarball from the rpm and clean up the bits we don't need +rpm2tgz $PRGNAM-$VERSION-$EXTRABIT.src.rpm +tar -xzf $PRGNAM-$VERSION-$EXTRABIT.src.tgz +cp $PRGNAM-$VERSION-$EXTRABIT/$PRGNAM-$VERSION.tar.gz ./ +cp $PRGNAM-$VERSION-$EXTRABIT/epson-backend-$VERSION.tar.gz ./ +rm $PRGNAM-$VERSION-$EXTRABIT.src.tgz +rm -r $PRGNAM-$VERSION-$EXTRABIT + +TMP=${TMP:-/tmp/SBo} +PKG=$TMP/package-$PRGNAM +OUTPUT=${OUTPUT:-/tmp} + +if [ "$ARCH" = "i586" ]; then + SLKCFLAGS="-O2 -march=i586 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "i686" ]; then + SLKCFLAGS="-O2 -march=i686 -mtune=i686" + LIBDIRSUFFIX="" +elif [ "$ARCH" = "x86_64" ]; then + SLKCFLAGS="-O2 -fPIC" + LIBDIRSUFFIX="64" +else + SLKCFLAGS="-O2" + LIBDIRSUFFIX="" +fi + +set -e + +rm -rf $PKG +mkdir -p $TMP $PKG $OUTPUT +cd $TMP +rm -rf $PRGNAM-$VERSION +tar xvf $CWD/$TARNAM +#we remove the tarnam as the original is an rpm +#this keeps things tidy. +rm $CWD/$TARNAM +cd $PRGNAM-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +echo "patch configure.ac" +sed -i 's_/opt/lsb/bin/lsbc++_/usr/bin/c++_g' configure.ac +sed -i '/^AM_INIT_AUTOMAKE/a AM_PROG_AR()' configure.ac +#fix typo in path of udev stuff +sed -i 's_/ect_/etc_g' configure.ac +#fix source code. We shouldn't have to do this, but hey ho!.... +mv EPSCommonLib/epsmp/linux/XAsyncSocket.cpp EPSCommonLib/epsmp/linux/XAsyncSocket.c +#patch png files to remove incorrect sRGB profile in all of them. +mogrify -strip PrinterUtility/Images/*.png +#patch the Resources.qrc file to include missing png's +sed -i 'sZInklow.pngZInklow.png\n Images/Inklow_.png\n Images/printer_status_OLD.png\n Images/printer_status_error_laser.png\n Images/printer_status_warning_laser.png\n Images/warning.pngZg' PrinterUtility/Resources.qrc +#we need to regenerate qrc_Resources.cpp (which would have been generated by qmake) +#as the one shipped has all the png's with iCCP invalid sRGB profiles. +#echo "create new qrc_resources.cpp file using our patched Resources.qrc file" +cd PrinterUtility +rm -f qrc_Resources.cpp +rcc -o qrc_Resources.cpp Resources.qrc +cd .. +#echo "now we have a resources file with fixed pngs embeded in it" +#lets run qmake :-) - or lets not. it looks like a bunch of stuff is missing.! +#the list of stuff reported missing by qmake was sent to linux-printer@epson.jp 28/09/2020 +#with a request for them to include the missing source code. hopefully they will supply +#the missing code, so we can update this script and remove some of the patches. + +#keep next few lines incase we can actually use it in the future. +#cd PrinterUtility +#qmake PrinterUtility.pro +#cd .. + +echo "running aclocal" +aclocal +echo "running autoreconf" +autoreconf --install --force + +#we still have to fix the Makefile.am files that autoreconf didn't sort out +#fix hardcoded /opt/lsb stuff +sed -i 's_/opt/lsb_/usr_g' EPSCommonLib/Makefile.am +#patch qtlibs reference in wrong place +sed -i "s_/usr/include/QtCore_/usr/lib${LIBDIRSUFFIX}/qt/include/QtCore_g" EPSCommonLib/Makefile.am +sed -i 's_/opt/lsb_/usr_g' PrinterUtility/Makefile.am +sed -i "s_/usr/include/QtCore_/usr/lib${LIBDIRSUFFIX}/qt/include/QtCore_g" PrinterUtility/Makefile.am +sed -i "s_/usr/include/QtGui_/usr/lib${LIBDIRSUFFIX}/qt/include/QtGui_g" PrinterUtility/Makefile.am +sed -i "s_include/QtNetwork_lib${LIBDIRSUFFIX}/qt/include/QtNetwork_g" PrinterUtility/Makefile.am +echo "running configure" + +CC=/usr/bin/c++ \ +CXX=/usr/bin/c++ \ +CFLAGS="$SLKCFLAGS -fpermissive" \ +CXXFLAGS="$SLKCFLAGS -fpermissive" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PRGNAM-$VERSION \ + --datarootdir=/usr/share \ + --disable-static \ + --build=$ARCH-slackware-linux + +echo "more patching of source files" +#add missing header for sleep +sed -i "1 i #include " PrinterUtility/EPUMainController.cpp +sed -i "1 i #include " PrinterUtility/EPUPrinterListDialog.cpp +#we need to patch the moc files so they work with qt 4.8.7 that ships with slackware 14.2 +#when the source is complete and we can run qmake, that should fix this. +for i in `ls PrinterUtility/moc_*.cpp`; do + sed -i 's/59/63/g' $i +done +#patch hardcoded path in Main.cpp so it can find language files +sed -i "s_/opt/epson_/usr/share/epson_g" PrinterUtility/Main.cpp +echo "running make" +make + +echo "running make install" +make install DESTDIR=$PKG +#as make install doesn't do much we do it manually +mkdir -p $PKG/usr/bin +cp -a PrinterUtility/epson-printer-utility $PKG/usr/bin/ +#udev rule to allow set permissions so any user can monitor the printer. +mkdir -p $PKG/etc/udev/rules.d +cp -a support-tool/79-udev-epson.rules $PKG/etc/udev/rules.d/ +mkdir -p $PKG/usr/share/epson-printer-utility/resource/Languages +mv $PKG/usr/resource/Languages/*.qm $PKG/usr/share/epson-printer-utility/resource/Languages/ +rm -r $PKG/usr/resource +mkdir -p $PKG/usr/share/pixmaps +cp PrinterUtility/Images/AppIcon.png $PKG/usr/share/pixmaps/epson-printer-utility.png +#+-----------------------------------------------------------+ +#| we now have to process the communication daemon | +#+-----------------------------------------------------------+ +cd $TMP +rm -rf epson-backend-$VERSION +tar -xzf $CWD/epson-backend-$VERSION.tar.gz +#we remove the tarnam as the original is an rpm +#this keeps things tidy. +rm $CWD/epson-backend-$VERSION.tar.gz +cd epson-backend-$VERSION +chown -R root:root . +find -L . \ + \( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \ + -o -perm 511 \) -exec chmod 755 {} \; -o \ + \( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \ + -o -perm 440 -o -perm 400 \) -exec chmod 644 {} \; + +echo "running aclocal" +aclocal +echo "running autoreconf" +autoreconf --install --force + +echo "running configure" + +CC=/usr/bin/gcc \ +CXX=/usr/bin/c++ \ +CFLAGS="$SLKCFLAGS -Wno-unused-but-set-variable -Wno-unused-function -Wno-implicit-function-declaration -Wno-pointer-sign -Wno-unused-variable" \ +CXXFLAGS="$SLKCFLAGS -fpermissive" \ +./configure \ + --prefix=/usr \ + --libdir=/usr/lib${LIBDIRSUFFIX} \ + --sysconfdir=/etc \ + --localstatedir=/var \ + --mandir=/usr/man \ + --docdir=/usr/doc/$PRGNAM-$VERSION \ + --disable-static \ + --build=$ARCH-slackware-linux + +echo "patching source for backend daemon. epmnt.c" +sed -i "1 i #include \n#include " daemon/epmnt.c +echo "running make" +make +echo "running make install" +make install DESTDIR=$PKG + +#now lets tidy everything up. after all, we are not debian :-) +#there are three important program files, /usr/bin/epson-printer-utility +#/usr/lib/epson-backend/ecbd the communication daemon, and +#/usr/lib64/cups/backend/ecblp the cups backend +#we will trash the contents of /usr/lib64/epson-backend for now, it looks like it is just debian daemon stuff. +#we need to create our own rc.ecbd file to start/stop/restart the backend +#this should be added into rc.local to make it active at startup +rm -r $PKG/usr/lib64/epson-backend +mkdir -p $PKG/etc/rc.d +cp $CWD/rc.ecbd $PKG/etc/rc.d/rc.ecbd.new +#the utility won't work without the daemon, so reduce steps admin has to do to get +#things working on a clean install. +chmod +x $PKG/etc/rc.d/rc.ecbd.new + +mkdir -p $PKG/usr/share/applications +cp $CWD/epson-printer-utility.desktop $PKG/usr/share/applications + +find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \ + | cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true + +mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION +cp -a AUTHORS COPYING NEWS README INSTALL $PKG/usr/doc/$PRGNAM-$VERSION +cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild + +mkdir -p $PKG/install +cat $CWD/slack-desc > $PKG/install/slack-desc +cat $CWD/doinst.sh >$PKG/install/doinst.sh + +cd $PKG +/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-tgz} diff --git a/system/epson-printer-utility/epson-printer-utility.desktop b/system/epson-printer-utility/epson-printer-utility.desktop new file mode 100644 index 0000000000..08e9588c8f --- /dev/null +++ b/system/epson-printer-utility/epson-printer-utility.desktop @@ -0,0 +1,8 @@ +[Desktop Entry] +Name=Epson Printer Utility +Comment=monitor ink levels, print nozzle check pattern +Exec=epson-printer-utility +Terminal=false +Type=Application +Icon=epson-printer-utility +Categories=System;Printing; diff --git a/system/epson-printer-utility/epson-printer-utility.info b/system/epson-printer-utility/epson-printer-utility.info new file mode 100644 index 0000000000..b4b85e3d2a --- /dev/null +++ b/system/epson-printer-utility/epson-printer-utility.info @@ -0,0 +1,10 @@ +PRGNAM="epson-printer-utility" +VERSION="1.1.1" +HOMEPAGE="http://download.ebz.epson.net/dsc/search/01/search/" +DOWNLOAD="https://download3.ebz.epson.net/dsc/f/03/00/11/87/09/9947d619d9dc7992c8551a6833eebe36aac202b5/epson-printer-utility-1.1.1-1lsb3.2.src.rpm" +MD5SUM="4285b0585dd559d53f2c233fb96b4a00" +DOWNLOAD_x86_64="" +MD5SUM_x86_64="" +REQUIRES="" +MAINTAINER="Tim Dickson" +EMAIL="dickson.tim@googlemail.com" diff --git a/system/epson-printer-utility/fixrm b/system/epson-printer-utility/fixrm new file mode 100644 index 0000000000..ffc0942dd7 --- /dev/null +++ b/system/epson-printer-utility/fixrm @@ -0,0 +1,29 @@ +#!/bin/sh +#fixrm is a little script to limit the items on each line so the line +#is less than 72 characters. it is used by the maintainer when creating +#the README.models file for this package, and for the epson-inkjet-printer-escpr2 +#slackbuild. It takes the list posted on a single long first line, and spreads +#them over as many lines as needed. +# +#paste the list from the epson website into an empty README.models and run this +#script in the same directory + +FNAME="README.models" +MAXLEN=${MAXLEN:-72} +#make sure MAXLEN is a integer bigger than 39 +MAXLEN=`echo $MAXLEN|awk '($1<40) {print "40"} (int($1)>39) {print int($1) }'` +if [ -e $FNAME ]&&[ `cat $FNAME|head -n1|awk '{print length($0)}'` -gt $MAXLEN ]; then + #only do something if the file exists, and thefirst line is longer than it + #should be. + TMPFILE=rmtmp + mv README.models $TMPFILE + cat $TMPFILE|awk -v mlen="$MAXLEN" -F', ' 'BEGIN{curline="";mlen=mlen-2} +{ for (i=1;i<=NF; i++) + { { n=0; l=length(curline)+length($i) } + if (l0) {print curline} +}'>README.models + rm $TMPFILE +fi diff --git a/system/epson-printer-utility/rc.ecbd b/system/epson-printer-utility/rc.ecbd new file mode 100644 index 0000000000..c534fab9aa --- /dev/null +++ b/system/epson-printer-utility/rc.ecbd @@ -0,0 +1,33 @@ +#!/bin/sh +#script to start/stop etc epson communication backend daemon ecbd + +if [ ! -x /usr/lib/epson-backend/ecbd ]; then + echo "/usr/lib/epson-backend/ecbd not executable" + exit 1 +fi +PIDFILE=/var/run/ecbd.pid +OPT=${1:-start} +case "$OPT" in +'start') + if [ `ps -A|grep ecbd|grep -v "rc.ecbd"|wc -l` -gt 0 ]||[ -e $PIDFILE ]; then + echo "ecbd is already running" + else + /usr/lib/epson-backend/ecbd -p $PIDFILE & + fi + ;; +'stop') + if [ -e /var/run/ecbd.pid ]; then + kill `cat $PIDFILE` + fi + rm -f $PIDFILE + ;; +'restart') + if [ -e $PIDFILE ]; then + kill `cat $PIDFILE` + fi + rm -f $PIDFILE + /usr/lib/epson-backend/ecbd -p $PIDFILE & + ;; +*) + echo "usage $0 start|stop|restart" +esac diff --git a/system/epson-printer-utility/slack-desc b/system/epson-printer-utility/slack-desc new file mode 100644 index 0000000000..2f670ddfa2 --- /dev/null +++ b/system/epson-printer-utility/slack-desc @@ -0,0 +1,19 @@ +# HOW TO EDIT THIS FILE: +# The "handy ruler" below makes it easier to edit a package description. +# Line up the first '|' above the ':' following the base package name, and +# the '|' on the right side marks the last column you can put a character in. +# You must make exactly 11 lines for the formatting to be correct. It's also +# customary to leave one space after the ':' except on otherwise blank lines. + + |-----handy-ruler------------------------------------------------------| +epson-printer-utility: epson-printer-utility (epson printer monitor and tools) +epson-printer-utility: +epson-printer-utility: This is a printer utility for most Epson inkjet printers. +epson-printer-utility: It offers printer monitoring of error, ink levels, and utilities +epson-printer-utility: to check nozzles and clean print heads. +epson-printer-utility: +epson-printer-utility: +epson-printer-utility: +epson-printer-utility: +epson-printer-utility: +epson-printer-utility: -- cgit v1.2.3