summarylogtreecommitdiffstats
diff options
context:
space:
mode:
authorTyler Holinka2018-06-12 07:42:03 -0600
committerTyler Holinka2018-06-12 07:42:37 -0600
commit62f7d11d903c138132381725e2d824c04e130d57 (patch)
treec554b060f086e6f638ec77a18749511099556139
parentfec23ac28ca7fe8d8639ee3280204bc177c0d5c7 (diff)
downloadaur-62f7d11d903c138132381725e2d824c04e130d57.tar.gz
Rewrite into a similiar way the samsung-unified-driver is, and add
scanner support
-rw-r--r--60_smfp_samsung.rules18
-rw-r--r--61_smfp_samsung.rules18
-rw-r--r--PKGBUILD114
-rw-r--r--dell-unified-driver-scanner.install9
-rw-r--r--xerox_mfp-smfp.conf4
5 files changed, 145 insertions, 18 deletions
diff --git a/60_smfp_samsung.rules b/60_smfp_samsung.rules
new file mode 100644
index 000000000000..c814591a6df6
--- /dev/null
+++ b/60_smfp_samsung.rules
@@ -0,0 +1,18 @@
+# This file is a part of Unified Linux Driver
+# Rules to allow low level USB device access for smfpautoconf
+
+SUBSYSTEM!="usb_device", GOTO="label_end"
+ACTION!="add", GOTO="label_end"
+
+# usblp device files /dev/usb/lp*
+ATTRS{idVendor}=="0419", MODE="666", OWNER="root", GROUP="lp"
+ATTRS{idVendor}=="04e8", MODE="666", OWNER="root", GROUP="lp"
+ATTRS{idVendor}=="0924", MODE="666", OWNER="root", GROUP="lp"
+ATTRS{idVendor}=="413c", MODE="666", OWNER="root", GROUP="lp"
+# libusb device files /dev/bus/usb/00*/*
+ATTRS{idVendor}=="0419", ENV{ID_USB_INTERFACES}=="*:0701*:", MODE="664", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
+ATTRS{idVendor}=="04e8", ENV{ID_USB_INTERFACES}=="*:0701*:", MODE="664", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
+ATTRS{idVendor}=="0924", ENV{ID_USB_INTERFACES}=="*:0701*:", MODE="664", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
+ATTRS{idVendor}=="413c", ENV{ID_USB_INTERFACES}=="*:0701*:", MODE="664", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
+
+LABEL="label_end"
diff --git a/61_smfp_samsung.rules b/61_smfp_samsung.rules
new file mode 100644
index 000000000000..28e677ec22c7
--- /dev/null
+++ b/61_smfp_samsung.rules
@@ -0,0 +1,18 @@
+# This file is a part of Unified Linux Driver
+# Rules to allow low level USB device access for smfpautoconf
+
+SUBSYSTEM!="usb", GOTO="label_end"
+ACTION!="add", GOTO="label_end"
+
+# usblp device files /dev/usb/lp*
+ATTRS{idVendor}=="0419", MODE="666", OWNER="root", GROUP="lp"
+ATTRS{idVendor}=="04e8", MODE="666", OWNER="root", GROUP="lp"
+ATTRS{idVendor}=="0924", MODE="666", OWNER="root", GROUP="lp"
+ATTRS{idVendor}=="413c", MODE="666", OWNER="root", GROUP="lp"
+# libusb device files /dev/bus/usb/00*/*
+ATTRS{idVendor}=="0419", ENV{ID_USB_INTERFACES}=="*:0701*:", MODE="664", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
+ATTRS{idVendor}=="04e8", ENV{ID_USB_INTERFACES}=="*:0701*:", MODE="664", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
+ATTRS{idVendor}=="0924", ENV{ID_USB_INTERFACES}=="*:0701*:", MODE="664", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
+ATTRS{idVendor}=="413c", ENV{ID_USB_INTERFACES}=="*:0701*:", MODE="664", OWNER="root", GROUP="lp", ENV{libsane_matched}="yes"
+
+LABEL="label_end"
diff --git a/PKGBUILD b/PKGBUILD
index d5b2ea220fb2..5968c96e4def 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -1,35 +1,113 @@
# $Id$
# Maintainer : Tyler Holinka <TylerHolinka+arch at gmail dot com>
-pkgname=dell-unified-printer-driver
-pkgdesc="Drivers for Dell Printers Model #'s: s1130n 1130 1133 1135n 1815 2145cn 2335dn 2355dn 5330 B1160 B1160w B1165nfw B1260dn B1265dfw B1265dnf B2365dnf"
+# dell-unified-driver seems to be based on samsung-unified-driver, but with some dell-only differences (specifically in the rastertospl that causes issues when printer if using the samsung-unified-driver one filter)
+pkgbase=dell-unified-driver
+pkgname=( 'dell-unified-driver-common'
+ 'dell-unified-driver-printer'
+ 'dell-unified-driver-scanner'
+ 'dell-unified-driver')
+pkgdesc="Drivers for Dell Printers and scanners Model #'s: s1130n 1130 1133 1135n 1815 2145cn 2335dn 2355dn 5330 B1160 B1160w B1165nfw B1260dn B1265dfw B1265dnf B2365dnf"
url="http://www.dell.com/support/home/us/en/19/drivers/driversdetails?driverId=C10W1"
-license=('unknown')
+license=('custom:dell')
pkgver=1.03
pkgrel=1
-arch=('x86_64')
-depends=('cups')
-conflicts=('samsung-unified-driver-printer')
+arch=('i686' 'x86_64')
# this is the newest version found after a quick search
-source=("$pkgname-$pkgver.tar.gz::https://downloads.dell.com/FOLDER01511597M/1/B1265dnf_Linux_v${pkgver}_Driver.tar.gz")
-sha256sums=('a1aa742cd266f60ae756c5678cdc27ee5be788d3ec088694f2bd03efffc17e36')
+source=("$pkgname-$pkgver.tar.gz::https://downloads.dell.com/FOLDER01511597M/1/B1265dnf_Linux_v${pkgver}_Driver.tar.gz"
+ "xerox_mfp-smfp.conf"
+ "60_smfp_samsung.rules"
+ "61_smfp_samsung.rules")
+sha256sums=('a1aa742cd266f60ae756c5678cdc27ee5be788d3ec088694f2bd03efffc17e36'
+ 'e57b2f313a482d74d66329edcca70a383d83e8c9d1f93c489e7bf36f8b2b3785'
+ 'ddb4deaac88f3c8ab5b4529bfb4b5a37f3d972c5f4e1ac74bc141049550af8d0'
+ '7991f801ec5ce1b8b5bf09dc4e1e52054c90df6d302e6da3025c63d9727ebb66')
+
+_arch=${CARCH/i686/i386}
+
+if [ $_arch = "x86_64" ]; then
+ _libdir=lib64
+else
+ _libdir=lib
+fi
prepare() {
cd "cdroot"
}
-package() {
- cd "cdroot"
+package_dell-unified-driver()
+{
+ depends=('dell-unified-driver-printer'
+ 'dell-unified-driver-scanner')
+}
- # thank you driggs39 from here https://www.dell.com/community/Printers/b1165nfw-Linux-installer-modifies-important-files-damages-system/m-p/4414245#M80350
-
- # conflicts with samsung-unified-driver-printer
- install -Dm755 Linux/"$arch"/rastertospl "$pkgdir"/usr/lib/cups/filter/rastertospl
- install -Dm755 Linux/"$arch"/libscmssc.so "$pkgdir"/usr/lib/libscmssc.so
+package_dell-unified-driver-common()
+{
+ install -Dm644 "$srcdir"/cdroot/Linux/noarch/eula/eula.htm "$pkgdir"/usr/share/licenses/"$pkgbase"/LICENSE
+ install -Dm644 "$srcdir"/cdroot/Linux/noarch/eula/eula-fr.htm "$pkgdir"/usr/share/licenses/"$pkgbase"/eula-fr.txt
+}
+
+package_dell-unified-driver-printer()
+{
+ conflicts=('samsung-unified-driver-printer')
+ depends=('dell-unified-driver-common' 'cups' 'ghostscript')
- models=(1130n.ppd 1130.ppd 1133.ppd 1135n.ppd 1815.ppd 2145cn.ppd 2335dn.ppd 2355dn.ppd 5330.ppd B1160.ppd B1160w.ppd B1165nfw.ppd B1260dn.ppd B1265dfw.ppd B1265dnf.ppd B2365dnf.ppd)
+ # thank you driggs39 from here https://www.dell.com/community/Printers/b1165nfw-Linux-installer-modifies-important-files-damages-system/m-p/4414245#M80350
+ install -Dm755 "$srcdir"/cdroot/Linux/"$_arch"/mfp "$pkgdir"/usr/lib/cups/backend/mfp
+
+ _filters=(pstosecps pstospl pstosplc rastertospl rastertosplc)
+ for i in ${_filters[@]}; do
+ install -Dm755 "$srcdir"/cdroot/Linux/"$_arch"/"$i" "$pkgdir"/usr/lib/cups/filter/"$i"
+ done
+
+ install -Dm755 "$srcdir"/cdroot/Linux/"$_arch"/libscmssc.so "$pkgdir"/usr/lib/libscmssc.so
+
+ _ppdmodels=(1130n 1130 1133 1135n 1815 2145cn 2335dn 2355dn 5330 B1160 B1160w B1165nfw B1260dn B1265dfw B1265dnf B2365dnf)
+ for i in ${_ppdmodels[@]}; do
+ # save some space
+ gzip < "$srcdir"/cdroot/Linux/noarch/at_opt/share/ppd/"$i".ppd > $srcdir/cdroot/Linux/noarch/at_opt/share/ppd/"$i".ppd.gz
+ install -Dm644 "$srcdir"/cdroot/Linux/noarch/at_opt/share/ppd/"$i".ppd.gz "$pkgdir"/usr/share/cups/model/dell/"$i".ppd
+ done
- for i in ${models[@]}; do
- install -Dm644 Linux/noarch/at_opt/share/ppd/"$i" "$pkgdir"/usr/share/cups/model/"$i"
+ _ctsmodels=(B1160sc B1160wsc B1165nfwsc B1260dnsc B1265dfwsc B1265dnfsc)
+ for i in ${_ctsmodels[@]}; do
+ install -Dm644 "$srcdir"/cdroot/Linux/noarch/at_opt/share/ppd/cms/"$i".cts "$pkgdir"/usr/share/cups/model/dell/cms/"$i".cts
done
}
+
+package_dell-unified-driver-scanner()
+{
+ conflicts=('samsung-unified-driver-scanner')
+ depends=('dell-unified-driver-common' 'libxml2' 'libusb-compat' 'sane')
+ install=dell-unified-driver-scanner.install
+
+ _locales=(ru fr)
+ for i in ${_locales[@]}; do
+ install -Dm755 "$srcdir"/cdroot/Linux/noarch/at_root/usr/share/locale/"$i"/LC_MESSAGES/sane-smfp.mo "$pkgdir"/usr/share/locale/"$i"/LC_MESSAGES/sane-smfp.mo
+ done
+
+ install -Dm755 "$srcdir"/cdroot/Linux/noarch/at_root/etc/sane.d/smfp.conf "$pkgdir"/etc/sane.d/smfp.conf
+ install -Dm755 "$srcdir"/xerox_mfp-smfp.conf "$pkgdir"/etc/sand.d
+
+ mkdir "$pkgdir"/etc/sane.d/d11.d
+ echo "smpf" > "$pkgdir"/etc/sane.d/d11.d/smfp-scanner
+ echo "xerox_mfp_smfp" > "$pkgdir"/etc/sane.d/d11.d/smfp-scanner-fix
+
+
+ install -Dm755 "$srcdir"/cdroot/Linux/"$_arch"/at_root/usr/"$_libdir"/sane/libsane-smfp.so.1.0.1 "$pkgdir"/usr/lib/sane/libsane-smfp.so.1.0.1
+ ln -s libsane-smfp.so.1.0.1 "$pkgdir"/usr/lib/sane/libsane-smfp.so.1
+ ln -s libsane-smfp.so.1 "$pkgdir"/usr/lib/sane/libsane-smfp.so
+
+ # we don't install smfpd, so this never gets uses afaik
+ #install -Dm755 "$srcdir"/cdroot/Linux/"$_arch"/at_root/usr/lib/libmfp.so.1.0.1 "$pkgdir"/usr/lib/libmfp.so.1.0.1
+ #ln -s libmfp.so.1.0.1 "$pkgdir"/usr/lib/libmfp.so.1
+ #ln -s libmfp.so.1 "$pkgdir"/usr/lib/libmfp.so
+
+ _udevrules=(60_smfp_samsung 61_smfp_samsung)
+ for i in ${_udevrules[@]}; do
+ install -Dm644 "$srcdir"/"$i".rules "$pkgdir"/usr/lib/udev/rules.d/"$i".rules
+ done
+
+ # note: you may need to create a /etc/udev/rules.d/40-libsane.rules with the following: ATTRS{idVendor}=="AAAA", ATTRS{idProduct}=="BBBB", ENV{libsane_matched}="yes" with AAAA BBBB coming from sane-find-scanner or lsusb
+ # see here: https://askubuntu.com/a/178855
+}
diff --git a/dell-unified-driver-scanner.install b/dell-unified-driver-scanner.install
new file mode 100644
index 000000000000..628e443c4b42
--- /dev/null
+++ b/dell-unified-driver-scanner.install
@@ -0,0 +1,9 @@
+post_install() {
+ echo "> If \"scanimage -L\" returns \"No scanners were identified\" and your model number is in the description, try running \"sane-find-scanner\"."
+ echo "> If that finds your scanner, send the vendor= and product= to the maintainer of this package"
+ echo "> In the meantime, add it manually to \"/etc/sane.d/xerox_mfp.conf\""
+}
+
+post_upgrade() {
+ post_install
+}
diff --git a/xerox_mfp-smfp.conf b/xerox_mfp-smfp.conf
new file mode 100644
index 000000000000..4fb1ac13d704
--- /dev/null
+++ b/xerox_mfp-smfp.conf
@@ -0,0 +1,4 @@
+#xerox_mfp-smfp.conf
+
+# Dell Dell_B1165nfw_Mono_MFP
+usb 0x413c 0x523c