diff options
Diffstat (limited to 'PKGBUILD')
-rw-r--r-- | PKGBUILD | 250 |
1 files changed, 250 insertions, 0 deletions
diff --git a/PKGBUILD b/PKGBUILD new file mode 100644 index 000000000000..ee877e9b3ef8 --- /dev/null +++ b/PKGBUILD @@ -0,0 +1,250 @@ +# Maintainer: grufo <madmurphy333 AT gmail DOT com> + +pkgname='hpuld' +pkgver='1.00.39.12_00.15' +pkgrel=1 +pkgdesc='HP Unified Linux Driver' +arch=('i686' 'x86_64') +url='https://support.hp.com/' +license=('custom') +depends=('libcups' 'sane') +optdepends=('hal: hardware abstraction layer') +source=("https://ftp.hp.com/pub/softlib/software13/printers/MFP170/uld-hp_V${pkgver}.tar.gz" + "https://ftp.hp.com/pub/softlib/software13/printers/IPG/M433/uld-hp.tar.gz" + 'fulfill_template.sh') +install="${pkgname}.install" +md5sums=('b20c5f5273f8d18077fe553919c7e3e9' + '5355df6678e547b4de1d9f7a4b660f10' + 'b84b3eb12e61cfc874be619babf6eb11') +sha1sums=('51ed2e1265659cedf47fa5e7b9f8693a3d8cabaa' + '030fe724635ad9d32cc5bc787b78f3a201707d26' + '8dc4e15836ee71c2b67e3ca54929b0380af6ae46') + +# Extract only the most recent version of the `uld` package... +noextract=("uld-hp.tar.gz") + +_pkgcodename='uld' +_udev_rule_number=48 + +case "${CARCH}" in + 'x86_64') + _platform='x86_64' + ;; + *) + _platform='i386' + ;; +esac + + +prepare() { + + [ -d "${srcdir}/uld-alt" ] && rm -rf "${srcdir}/uld-alt" + mkdir "${srcdir}/uld-alt" + tar -xzf "${srcdir}/uld-hp.tar.gz" -C "${srcdir}/uld-alt" + +} + + +package() { + + cd "${srcdir}" + + # Taken from uld/noarch/package_utils -> specify_vendor() + local _vendor_lc="$(grep '^VENDOR=' "${srcdir}/${_pkgcodename}/noarch/oem.conf" 2>/dev/null | \ + sed 's/VENDOR=\(.*\)/\1/' | tr A-Z a-z)" + + + # Follow the original `/opt/hp/printer/.files`... + + install -dm755 "${pkgdir}/opt" + install -dm755 "${pkgdir}/opt/hp/printer/share/ppd/cms" + install -dm755 "${pkgdir}/usr/share/cups/model" + install -dm755 "${pkgdir}/usr/share/ppd" + + install -Dm644 "${srcdir}/${_pkgcodename}/noarch/share/ppd/"*.ppd \ + "${pkgdir}/opt/hp/printer/share/ppd/" + + # Integrate the .ppd files from the alternative `uld` package + install -Dm644 "${srcdir}/uld-alt/${_pkgcodename}/noarch/share/ppd/"*.ppd \ + "${pkgdir}/opt/hp/printer/share/ppd/" + + install -Dm644 "${srcdir}/${_pkgcodename}/noarch/share/ppd/cms/"*.cts \ + "${pkgdir}/opt/hp/printer/share/ppd/cms/" + + # Integrate the .cts files from the alternative `uld` package + install -Dm644 "${srcdir}/uld-alt/${_pkgcodename}/noarch/share/ppd/cms/"*.cts \ + "${pkgdir}/opt/hp/printer/share/ppd/cms/" + + install -Dm644 "${srcdir}/${_pkgcodename}/noarch/.version-printer-script" \ + "${pkgdir}/opt/hp/printer/.version" + + ln -s '/opt/hp/printer/share/ppd' \ + "${pkgdir}/usr/share/cups/model/uld-hp" + + ln -s '/opt/hp/printer/share/ppd' \ + "${pkgdir}/usr/share/ppd/uld-hp" + + + # Follow the original `/opt/hp/scanner/.files`... + + install -dm755 "${pkgdir}/etc/sane.d" + install -dm755 "${pkgdir}/etc/udev/rules.d" + install -dm755 "${pkgdir}/usr/share/hal/fdi/policy/10osvendor" + + install -Dm644 "${srcdir}/${_pkgcodename}/noarch/oem.conf" \ + "${pkgdir}/opt/hp/scanner/share/oem.conf" + + install -Dm644 "${srcdir}/${_pkgcodename}/noarch/.version-scanner-script" \ + "${pkgdir}/opt/hp/scanner/.version" + + install -Dm644 "${srcdir}/${_pkgcodename}/noarch/etc/smfp.conf" \ + "${pkgdir}/etc/sane.d/smfp-hp.conf" + + ./fulfill_template.sh "${srcdir}/${_pkgcodename}/noarch/etc/smfp.rules.in" \ + "${pkgdir}/etc/udev/rules.d/${_udev_rule_number}-smfp_${_vendor_lc}.rules" \ + "${srcdir}/${_pkgcodename}/noarch/oem.conf" + + ./fulfill_template.sh "${srcdir}/${_pkgcodename}/noarch/etc/smfp.fdi.in" \ + "${pkgdir}/usr/share/hal/fdi/policy/10osvendor/01_smfp_${_vendor_lc}.fdi" \ + "${srcdir}/${_pkgcodename}/noarch/oem.conf" + + + # Follow the original `/opt/smfp-common/legacy_compat/.files`... + + install -dm755 "${pkgdir}/opt/smfp-common/legacy_compat/.usedby" + echo '0.1' > "${pkgdir}/opt/smfp-common/legacy_compat/.version" + + + # Follow the original `/opt/smfp-common/security/.files`... + + install -dm755 "${pkgdir}/opt/smfp-common/security/.usedby" + + touch "${pkgdir}/opt/smfp-common/security/.firewall" + echo '0.1' > "${pkgdir}/opt/smfp-common/security/.version" + + ln -s '/opt/smfp-common/security' \ + "${pkgdir}/opt/smfp-common/legacy_compat/.usedby/security" + + + # Follow the original `/opt/smfp-common/printer/.files`... + + install -dm755 "${pkgdir}/opt/smfp-common/printer/bin" + install -dm755 "${pkgdir}/opt/smfp-common/printer/lib" + install -dm755 "${pkgdir}/opt/smfp-common/printer/.usedby" + install -dm755 "${pkgdir}/usr/lib/cups/backend" + install -dm755 "${pkgdir}/usr/lib/cups/filter" + + install -Dm644 "${srcdir}/${_pkgcodename}/${_platform}/libscmssc.so" \ + "${pkgdir}/opt/smfp-common/printer/lib/libscmssc.so" + + install -Dm755 "${srcdir}/${_pkgcodename}/${_platform}/smfpnetdiscovery" \ + "${pkgdir}/opt/smfp-common/printer/bin/smfpnetdiscovery" + + install -Dm755 "${srcdir}/${_pkgcodename}/${_platform}/rastertospl" \ + "${pkgdir}/opt/smfp-common/printer/bin/rastertospl" + + install -Dm755 "${srcdir}/${_pkgcodename}/${_platform}/pstosecps" \ + "${pkgdir}/opt/smfp-common/printer/bin/pstosecps" + + #install -Dm755 "${srcdir}/${_pkgcodename}/${_platform}/pstospl" \ + #"${pkgdir}/opt/smfp-common/printer/bin/pstospl" + + #install -Dm755 "${srcdir}/${_pkgcodename}/${_platform}/pstosplc" \ + #"${pkgdir}/opt/smfp-common/printer/bin/pstosplc" + + #install -Dm755 "${srcdir}/${_pkgcodename}/${_platform}/rastertosplc" \ + #"${pkgdir}/opt/smfp-common/printer/bin/rastertosplc" + + install -Dm644 "${srcdir}/${_pkgcodename}/noarch/.version-printer" \ + "${pkgdir}/opt/smfp-common/printer/.version" + + ln -s '/opt/smfp-common/printer/bin/smfpnetdiscovery' \ + "${pkgdir}/usr/lib/cups/backend/smfpnetdiscovery" + + ln -s '/opt/smfp-common/printer/bin/rastertospl' \ + "${pkgdir}/usr/lib/cups/filter/rastertospl" + + ln -s '/opt/smfp-common/printer/bin/pstosecps' \ + "${pkgdir}/usr/lib/cups/filter/pstosecps" + + #ln -s '/opt/smfp-common/printer/bin/pstospl' \ + #"${pkgdir}/usr/lib/cups/filter/pstospl" + + #ln -s '/opt/smfp-common/printer/bin/pstosplc' \ + #"${pkgdir}/usr/lib/cups/filter/pstosplc" + + #ln -s '/opt/smfp-common/printer/bin/rastertosplc' \ + #"${pkgdir}/usr/lib/cups/filter/rastertosplc" + + ln -s '/opt/hp/printer' \ + "${pkgdir}/opt/smfp-common/printer/.usedby/hp" + + ln -s '/opt/smfp-common/printer' \ + "${pkgdir}/opt/smfp-common/legacy_compat/.usedby/printer" + + ln -s '/opt/smfp-common/printer' \ + "${pkgdir}/opt/smfp-common/security/.usedby/printer" + + + # Follow the original `/opt/smfp-common/scanner/.files`... + + install -dm755 "${pkgdir}/opt/smfp-common/scanner/lib" + install -dm755 "${pkgdir}/opt/smfp-common/scanner/.usedby" + install -dm755 "${pkgdir}/usr/lib/sane" + + install -Dm644 "${srcdir}/${_pkgcodename}/${_platform}/libsane-smfp.so.1.0.1" \ + "${pkgdir}/opt/smfp-common/scanner/lib/libsane-smfp.so.1.0.1" + + # Use the alternative `uld` package for the locale files... + local _i18ndir="${srcdir}/uld-alt/${_pkgcodename}/noarch/share/locale" + + # Install all the languages present in `${_i18ndir}` + (cd "${_i18ndir}" && find * -maxdepth 0 -type d \ + -exec install -dm755 "${pkgdir}/opt/smfp-common/scanner/share/locale/{}" \; \ + -exec install -Dm644 "${_i18ndir}/{}/LC_MESSAGES/sane-smfp.mo" \ + "${pkgdir}/opt/smfp-common/scanner/share/locale/{}/sane-smfp.mo" \; \ + -exec install -dm755 "${pkgdir}/usr/share/locale/{}/LC_MESSAGES" \; \ + -exec ln -s '/opt/smfp-common/scanner/share/locale/{}/sane-smfp.mo' \ + "${pkgdir}/usr/share/locale/{}/LC_MESSAGES/sane-smfp.mo" \;) + + install -Dm644 "${srcdir}/${_pkgcodename}/noarch/pagesize.xml" \ + "${pkgdir}/opt/smfp-common/scanner/share/pagesize.xml" + + install -Dm644 "${srcdir}/${_pkgcodename}/noarch/libsane-smfp.cfg" \ + "${pkgdir}/opt/smfp-common/scanner/share/libsane-smfp.cfg" + + install -Dm644 "${srcdir}/${_pkgcodename}/noarch/.version-scanner" \ + "${pkgdir}/opt/smfp-common/scanner/.version" + + ln -s '/opt/smfp-common/scanner/lib/libsane-smfp.so.1.0.1' \ + "${pkgdir}/usr/lib/sane/libsane-smfp.so.1.0.1" + + ln -s '/opt/smfp-common/scanner/lib/libsane-smfp.so.1.0.1' \ + "${pkgdir}/usr/lib/sane/libsane-smfp.so.1" + + ln -s '/opt/smfp-common/scanner/lib/libsane-smfp.so.1.0.1' \ + "${pkgdir}/usr/lib/sane/libsane-smfp.so" + + ln -s '/opt/hp/scanner' \ + "${pkgdir}/opt/smfp-common/scanner/.usedby/hp" + + ln -s '/opt/smfp-common/scanner' \ + "${pkgdir}/opt/smfp-common/legacy_compat/.usedby/scanner" + + ln -s '/opt/smfp-common/scanner' \ + "${pkgdir}/opt/smfp-common/security/.usedby/scanner" + + + # license + + install -D -dm755 "${pkgdir}/usr/share/licenses/${pkgname}" + install -Dm644 "${srcdir}/${_pkgcodename}/noarch/license/"* "${pkgdir}/usr/share/licenses/${pkgname}/" + + + # other files + + install -dm755 "${pkgdir}/opt/smfp-common/mfp/uninstall" + touch "${pkgdir}/opt/smfp-common/mfp/uninstall/guiuninstall" + +} + |