Kyocera printer drivers

Packaging Brother printer drivers

Brother supplies Linux drivers for its printers, however they are not in an easily packaged format. This article explains what adjustments to the contents of the RPM packages supplied by Brother will need to be made to create a PKGBUILD for the printer driver. Additional example PKGBUILDs for Brother printers can be found by searching in the AUR.

Really short overview of CUPS

CUPS handles printers using a .ppd file and a filter binary. Once those two files are installed, the printer can be registered in CUPS. A simple example PKGBUILD that does this is AUR[broken link: archived in aur-mirror].

About Brother drivers

Unfortunately, Brother's drivers have some issues:

  • The CUPS driver is built on top of the lpr driver.
  • The CUPS driver package contains a single installation shell script with an embedded ppd and filter. It is executed by rpm during installation. It extracts the ppd and filter, and performs some installation procedures in a Red Hat-specific way.

Preparing a PKGBUILD

These issues can be worked around.

  • The lpr driver does not need to be installed, so the PKGBUILD can just extract the files in the lpr driver's RPM package.
  • The CUPS driver's RPM should contain a single shell script. For instance, for the AUR package, the PKGBUILD changes three things:
    1. The paths are changed.
    2. All commands are disabled except "cat ..." or whatever there is that emits *.ppd or filter to separate file. It was done by wrapping irrelevant instructions by if false; then ... fi.
    3. The target file names for the ppd and filter are changed so they are installed into the same directory as the PKGBUILD. Note that paths to the embedded filter where also changed.
  • To fix the paths to conform to the Arch packaging standards, or similar can be used on all text files unpacked from both the lpr and CUPS drivers. Look at the patch in the AUR package to check which files are affected.

Effectively after the changes described above the script will just output a ppd and a filter to some known location. The PKGBUILD will then copy them to the proper directories in $pkgdir:

install -m 644 -D ppd "${pkgdir}/usr/share/cups/model/HL2030.ppd" install -m 755 -D filter "${pkgdir}/usr/lib/cups/filter/brlpdwrapperHL2030"

The lpr driver files will also need to be copied into $pkgdir!

Other changes

You might also like
Kyocera Printer Setup MAC (USB)
Kyocera Printer Setup MAC (USB)
Download TASKalfa 3010i driver | Download Printer Drivers
Download TASKalfa 3010i driver | Download Printer Drivers
Kyocera Kyocera 303LJ94010 DRIVER PWB ASSY for:FS-1124 1128 1130 1135 3140 C2126 DP-110
CE (Kyocera)
  • New
  • Original
MTR Tutorial - Older Kyocera Driver Install
MTR Tutorial - Older Kyocera Driver Install
Installing Kyocera printer on Macintosh
Installing Kyocera printer on Macintosh
Kyocera Kyocera 302N494160 PWB FEED 1 for:TA4501i 5501i 6501i 8001i 4551ci 5551ci 6551ci 7551ci
CE (Kyocera)
  • New
  • Original
Related Posts