brainboxes-serial-pci
maintainer severach
· 0 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads a source file from a non-whitelisted but official project domain (brainboxes.com), which is a normal and expected practice; the file is a script used to configure hardware, not a prebuilt binary or executable from an untrusted source, and the build process is transparent and auditable.
Triggered rules
LOW
AI review downgraded a static finding
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-07-25) reviewed the full PKGBUILD and judged it LOW (confidence 90%): The package downloads a source file from a non-whitelisted but official project domain (brainboxes.com), which is a normal and expected practice; the file is a script used to configure hardware, not a prebuilt binary or executable from an untrusted source, and the build process is transparent and auditable.
1 higher static finding superseded - not the current verdict (shown for transparency)
MEDIUM
source=() URL on a non-standard host
source_untrusted_domain
One or more source=() URLs point to a host outside the trusted allowlist (github.com, gitlab.com, codeberg.org, pypi.org, …).
-
PKGBUILD:33
source=('http://www.brainboxes.com/files/pages/support/faqs/drivers%20and%20firmware/bbportinst.zip' '0000-restore-deprecated-pcie-cards.patch')
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: Chris Severance aur.severach aATt spamgourmet dott com
2
3
# Brainboxes prefix list. Some but not all are supported by this driver.
4
# BL - Bluetooth Serial Adapter
5
# CC - PCI Serial Cards
6
# ES - Ethernet to Serial
7
# ED - Ethernet IO
8
# IS - IntaShield uPCI Serial Cards
9
# IX - IntaShield PCI Express Serial Cards
10
# PM - Serial PC Card (PCMCIA)
11
# PX - PCI Express Serial Cards
12
# UC - uPCI Serial Cards
13
# UP - uPCI Powered Serial Cards
14
# US - USB to Serial
15
# VX - Serial ExpressCard
16
# XC - Serial Parallel ExpressCard
17
18
# Some future supported models are found in $tf/13
19
20
set -u
21
pkgname='brainboxes-serial-pci'
22
pkgver='0.0.20160614'
23
pkgrel='1'
24
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'
25
arch=('any')
26
url='http://www.brainboxes.com/faq/items/where-can-i-find-the-latest-drivers-for-linux'
27
license=('GPL')
28
depends=('perl' 'setserial' 'pciutils')
29
backup=('etc/bbportinst'{.conf,.local} 'etc/modprobe.d/parport_bb.conf')
30
options=('!strip')
31
install="${pkgname}-install.sh"
32
_srcdir='bbportinst'
33
source=('http://www.brainboxes.com/files/pages/support/faqs/drivers%20and%20firmware/bbportinst.zip' '0000-restore-deprecated-pcie-cards.patch')
34
sha256sums=('d5ac2012bae944d398517511b55cd43d920c79de910cae8e60ca05eaa1408b70'
35
'ba1481741952faa9399df8f16a4808e89322c079bf248d664579ae7882bc2726')
36
37
_servicename="${pkgname}.service"
38
39
# We can't modify .install but we can stop and force the user to fix it.
40
_install_check() {
41
local _ckvar
42
local _ckline
43
local _pkgname="${pkgname}"
44
for _ckvar in '_servicename'; do
45
_ckline="${_ckvar}='${!_ckvar}'"
46
if ! grep -q "^${_ckline}"'$' "${startdir}/${install}"; then
47
msg "${install} must be fixed"
48
echo "${_ckline}"
49
set +u
50
false
51
fi
52
done
53
}
54
55
prepare() {
56
set -u
57
_install_check
58
cd "${_srcdir}"
59
60
sed -e 's:\s*\r$::g' -i $(grep -rlFe $'\r')
61
chmod 755 'bbportinst'
62
63
if ! :; then
64
# Pull the commented PCIe cards in from an old version
65
gunzip < '$tf/13/9638928d-f5c9-4b4e-8050-fb2d8fc6aac4.gz' > 'bbportinst.9638928d-f5c9-4b4e-8050-fb2d8fc6aac4'
66
sed -e 's:\s*\r$::g' -i 'bbportinst.9638928d-f5c9-4b4e-8050-fb2d8fc6aac4'
67
68
# Extract table out and insert it into the new file. This gives us a clean diff without the other unwanted code changes.
69
sed -ne '/^my @card_info_table/,/^);$/ p' 'bbportinst.9638928d-f5c9-4b4e-8050-fb2d8fc6aac4' > 'bbportinst.oldtable'
70
rm 'bbportinst.9638928d-f5c9-4b4e-8050-fb2d8fc6aac4'
71
72
sed -e '# Insert marker for new table' \
73
-e '/^my @card_info_table/ i #@TABLE_PLACE@' \
74
-e '# Remove old table leaving only marker' \
75
-e '/^my @card_info_table/,/^);$/ d' 'bbportinst' |
76
sed -e '# Insert old table at marker' \
77
-e '/^#@TABLE_PLACE@$/ r bbportinst.oldtable' |
78
sed -e '# Remove marker' \
79
-e '/^#@TABLE_PLACE@$/ d' > 'bbportinst.new.oldtable'
80
rm 'bbportinst.oldtable'
81
82
diff -pNau5 bbportinst{,.new.oldtable} > '0000-restore-deprecated-pcie-cards.patch' || :
83
rm 'bbportinst.new.oldtable'
84
set +u
85
msg 'Move supplied patch to PKGBUILD'
86
false
87
fi
88
patch -Nup0 -i '../0000-restore-deprecated-pcie-cards.patch'
89
90
# Fix path
91
sed -e 's:/bin/setserial:/usr/bin/setserial:g' -i 'bbportinst'
92
sed -e '# Custom shell script instead of rc.local' \
93
-e '/^boot_local_file =/ s:auto:/etc/bbportinst.local:g' \
94
-e '# This file isnt unique enough' \
95
-e '/^parport_conf_file =/ s:auto:/etc/modprobe.d/parport_bb.conf:g' \
96
-i 'bbportinst.conf'
97
set +u
98
}
99
100
package() {
101
set -u
102
cd "${_srcdir}"
103
install -Dpm744 'bbportinst' -t "${pkgdir}/usr/bin"
104
install -Dpm644 'bbportinst.conf' -t "${pkgdir}/etc"
105
install -Dm644 /dev/null "${pkgdir}/etc/bbportinst.local"
106
install -Dm644 /dev/null "${pkgdir}/etc/modprobe.d/parport_bb.conf"
107
108
# systemd service
109
install -Dm644 <(cat << EOF
110
# Automatically generated by ${pkgname}-${pkgver} PKGBUILD from Arch Linux AUR
111
# https://aur.archlinux.org/
112
113
[Unit]
114
Description=Configure BrainBoxes Serial Parallel Cards bbportinst
115
After=network.target
116
117
[Service]
118
Type=notify
119
ExecStart=/usr/bin/sh -c 'source /etc/bbportinst.local; systemd-notify --ready'
120
RemainAfterExit=yes
121
122
[Install]
123
WantedBy=multi-user.target
124
EOF
125
) "${pkgdir}/usr/lib/systemd/system/${_servicename}"
126
127
set +u
128
}
129
130
set +u
131
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-08-03 00:08:14 | LOW | 2 |
| 2026-08-02 00:16:08 | LOW | 2 |
| 2026-08-01 00:11:18 | LOW | 2 |
| 2026-07-31 00:14:10 | LOW | 2 |
| 2026-07-30 00:17:23 | LOW | 2 |
| 2026-07-29 00:25:53 | LOW | 2 |
| 2026-07-28 00:07:28 | LOW | 2 |
| 2026-07-27 00:24:32 | LOW | 2 |
| 2026-07-26 00:07:32 | LOW | 2 |
| 2026-07-25 00:13:44 | LOW | 2 |
| 2026-07-24 00:02:28 | LOW | 2 |
| 2026-07-23 00:14:47 | LOW | 2 |
| 2026-07-22 00:29:32 | LOW | 2 |
| 2026-07-21 00:24:15 | LOW | 2 |
| 2026-07-20 00:19:49 | LOW | 2 |
| 2026-07-19 00:17:08 | LOW | 2 |
| 2026-07-18 00:14:48 | LOW | 2 |
| 2026-07-17 00:06:16 | LOW | 2 |
| 2026-07-16 00:05:41 | LOW | 2 |
| 2026-07-15 00:09:25 | LOW | 2 |