brother-mfc-9970cdw
maintainer abdulhakeem
· 4 votes
· scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged
The package downloads official Brother driver RPMs from brother.com, a legitimate vendor domain, for installation; despite the static analyzer flagging the host as non-standard, the source is trustworthy and the build process is transparent, with only minor local path adjustments and removal of conflicting commands.
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 95%): The package downloads official Brother driver RPMs from brother.com, a legitimate vendor domain, for installation; despite the static analyzer flagging the host as non-standard, the source is trustworthy and the build process is transparent, with only minor local path adjustments and removal of conflicting commands.
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:12
"http://www.brother.com/pub/bsc/linux/dlf/mfc9970cdwlpr-$pkgver-$pkgrel.i386.rpm"
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: libernux <dutchman55@gmx.com>
2
pkgname="brother-mfc-9970cdw"
3
pkgver="1.1.1"
4
pkgrel=5
5
pkgdesc="LPR and CUPS driver for the Brother MFC-9970CDW"
6
url="http://solutions.brother.com/linux/en_us/"
7
arch=("i686" "x86_64")
8
license=('custom:brother commercial license')
9
depends=("cups")
10
install="$pkgname.install"
11
source=(
12
"http://www.brother.com/pub/bsc/linux/dlf/mfc9970cdwlpr-$pkgver-$pkgrel.i386.rpm"
13
"http://www.brother.com/pub/bsc/linux/dlf/mfc9970cdwcupswrapper-$pkgver-$pkgrel.i386.rpm"
14
'cupswrapper-license.txt'
15
'lpr-license.txt'
16
)
17
md5sums=(
18
'5ccc0299d0d5f2a25bf4aaa77829c5d3'
19
'a349dba7a65b5cd8fbf5ec7fc01a5fe7'
20
'97ad0cffd216059e9d1d3121899d8646'
21
'5e87a3dc0f3e3438c088eda0f3565f0d'
22
)
23
if test "$CARCH" == x86_64; then
24
depends+=('lib32-glibc')
25
fi
26
prepare() {
27
# do not install in '/usr/local'
28
if [ -d $srcdir/usr/local/Brother ]; then
29
install -d $srcdir/usr/share
30
mv $srcdir/usr/local/Brother/ $srcdir/usr/share/brother
31
rm -rf $srcdir/usr/local
32
sed -i 's|/usr/local/Brother|/usr/share/brother|g' `grep -lr '/usr/local/Brother' ./`
33
fi
34
# setup cups-directories
35
install -d $srcdir/usr/share/cups/model
36
install -d $srcdir/usr/lib/cups/filter
37
# go to the cupswrapper directory and find the source file from wich to generate a ppd- and wrapper-file
38
cd `find . -type d -name 'cupswrapper'`
39
if [ -f cupswrapper* ]; then
40
_wrapper_source=`ls cupswrapper*`
41
sed -i '/^\/etc\/init.d\/cups/d' $_wrapper_source
42
sed -i '/^sleep/d' $_wrapper_source
43
sed -i '/^lpadmin/d' $_wrapper_source
44
sed -i 's|/usr|$srcdir/usr|g' $_wrapper_source
45
sed -i 's|/opt|$srcdir/opt|g' $_wrapper_source
46
sed -i 's|/model/Brother|/model|g' $_wrapper_source
47
sed -i 's|lpinfo|echo|g' $_wrapper_source
48
export srcdir=$srcdir
49
./$_wrapper_source
50
sed -i 's|$srcdir||' $srcdir/usr/lib/cups/filter/*lpdwrapper*
51
sed -i "s|$srcdir||" $srcdir/usr/lib/cups/filter/*lpdwrapper*
52
rm $_wrapper_source
53
fi
54
# /etc/printcap is managed by cups
55
rm `find $srcdir -type f -name 'setupPrintcap*'`
56
}
57
package() {
58
cp -R $srcdir/usr $pkgdir
59
if [ -d $srcdir/opt ]; then cp -R $srcdir/opt $pkgdir; fi
60
install -m 644 -D cupswrapper-license.txt $pkgdir/usr/share/licenses/${pkgname}/cupswrapper-licence.txt
61
install -m 644 -D lpr-license.txt $pkgdir/usr/share/licenses/${pkgname}/lpr-licence.txt
62
}
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 |