# Maintainer: Chris Severance aur.severach aATt spamgourmet dott com # Brainboxes prefix list. Some but not all are supported by this driver. # BL - Bluetooth Serial Adapter # CC - PCI Serial Cards # ES - Ethernet to Serial # ED - Ethernet IO # IS - IntaShield uPCI Serial Cards # IX - IntaShield PCI Express Serial Cards # PM - Serial PC Card (PCMCIA) # PX - PCI Express Serial Cards # UC - uPCI Serial Cards # UP - uPCI Powered Serial Cards # US - USB to Serial # VX - Serial ExpressCard # XC - Serial Parallel ExpressCard # Some future supported models are found in $tf/13 set -u pkgname='brainboxes-serial-pci' pkgver='0.0.20160614' pkgrel='1' pkgdesc='script to enable Brainboxes serial and parallel ports PCI PCIe Express PCMCIA PM UC CC-525 CC-530 PX-275 PX-279 PX-263 PX-295 PX-272 PX-306' arch=('any') url='http://www.brainboxes.com/faq/items/where-can-i-find-the-latest-drivers-for-linux' license=('GPL') depends=('perl' 'setserial' 'pciutils') backup=('etc/bbportinst'{.conf,.local} 'etc/modprobe.d/parport_bb.conf') options=('!strip') install="${pkgname}-install.sh" _srcdir='bbportinst' source=('http://www.brainboxes.com/files/pages/support/faqs/drivers%20and%20firmware/bbportinst.zip') sha256sums=('d5ac2012bae944d398517511b55cd43d920c79de910cae8e60ca05eaa1408b70') _servicename="${pkgname}.service" # We can't modify .install but we can stop and force the user to fix it. _install_check() { local _ckvar local _ckline local _pkgname="${pkgname}" for _ckvar in '_servicename'; do _ckline="${_ckvar}='${!_ckvar}'" if ! grep -q "^${_ckline}"'$' "${startdir}/${install}"; then msg "${install} must be fixed" echo "${_ckline}" set +u false fi done } prepare() { set -u _install_check cd "${_srcdir}" sed -e 's:\s*\r$::g' -i $(grep -rlFe $'\r') chmod 755 'bbportinst' # Fix path sed -e 's:/bin/setserial:/usr/bin/setserial:g' -i 'bbportinst' sed -e '# Custom shell script instead of rc.local' \ -e '/^boot_local_file =/ s:auto:/etc/bbportinst.local:g' \ -e '# This file isnt unique enough' \ -e '/^parport_conf_file =/ s:auto:/etc/modprobe.d/parport_bb.conf:g' \ -i 'bbportinst.conf' set +u } package() { set -u cd "${_srcdir}" install -Dpm744 'bbportinst' -t "${pkgdir}/usr/bin" install -Dpm644 'bbportinst.conf' -t "${pkgdir}/etc" install -Dm644 /dev/null "${pkgdir}/etc/bbportinst.local" install -Dm644 /dev/null "${pkgdir}/etc/modprobe.d/parport_bb.conf" # systemd service install -Dm644 <(cat << EOF # Automatically generated by ${pkgname}-${pkgver} PKGBUILD from Arch Linux AUR # https://aur.archlinux.org/ [Unit] Description=Configure BrainBoxes Serial Parallel Cards bbportinst After=network.target [Service] Type=notify ExecStart=/usr/bin/sh -c 'source /etc/bbportinst.local; systemd-notify --ready' RemainAfterExit=yes [Install] WantedBy=multi-user.target EOF ) "${pkgdir}/usr/lib/systemd/system/${_servicename}" set +u } set +u