diff options
author | Tyler Holinka | 2018-06-12 07:42:03 -0600 |
---|---|---|
committer | Tyler Holinka | 2018-06-12 07:42:37 -0600 |
commit | 62f7d11d903c138132381725e2d824c04e130d57 (patch) | |
tree | c554b060f086e6f638ec77a18749511099556139 | |
parent | fec23ac28ca7fe8d8639ee3280204bc177c0d5c7 (diff) | |
download | aur-62f7d11d903c138132381725e2d824c04e130d57.tar.gz |
Rewrite into a similiar way the samsung-unified-driver is, and add
scanner support
-rw-r--r-- | 60_smfp_samsung.rules | 18 | ||||
-rw-r--r-- | 61_smfp_samsung.rules | 18 | ||||
-rw-r--r-- | PKGBUILD | 114 | ||||
-rw-r--r-- | dell-unified-driver-scanner.install | 9 | ||||
-rw-r--r-- | xerox_mfp-smfp.conf | 4 |
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" @@ -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 |