blob: d50e6e938a083e6715125302d91bb5aefbc89510 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
|
# 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
|