brother-hl3140cw
The package downloads official Brother printer drivers from brother.com, a legitimate vendor domain; despite the static analyzer flag for a non-standard host, the sources are verifiable binaries from the manufacturer, and the build process only extracts and relocates files safely for CUPS integration.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The package downloads official Brother printer drivers from brother.com, a legitimate vendor domain; despite the static analyzer flag for a non-standard host, the sources are verifiable binaries from the manufacturer, and the build process only extracts and relocates files safely for CUPS integration.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:14
source=("https://download.brother.com/welcome/dlf007067/hl3140cwlpr-${_lprver}.i386.rpm"
PKGBUILD
1 offending line(s) highlighted# Maintainer: Giorgio Gilestro <giorgio@gilest.ro>
pkgname=brother-hl3140cw
pkgver=1.1.4
pkgrel=1
_lprver=1.1.2-1 # LPR driver release
_cwver=1.1.4-0 # CUPS wrapper release
pkgdesc="LPR and CUPS driver for the Brother HL-3140CW colour LED printer"
arch=('x86_64')
url="https://support.brother.com/g/b/downloadlist.aspx?c=us&lang=en&prod=hl3140cw_us_eu&os=127"
license=('LicenseRef-Brother' 'GPL-2.0-or-later')
depends=('cups' 'ghostscript' 'lib32-glibc')
optdepends=('a2ps: print plain text files')
source=("https://download.brother.com/welcome/dlf007067/hl3140cwlpr-${_lprver}.i386.rpm"
"https://download.brother.com/welcome/dlf007069/hl3140cwcupswrapper-${_cwver}.i386.rpm"
'lpr-license.txt'
'cupswrapper-license.txt')
sha256sums=('60f262ce506ad3ccabf119465d714b15bb67ab7ea3dbacb3b2f03528aa7be5e7'
'baadb99787d28f7ad9f8e3fe06f0fa451b8945abdea4794e305e0e6470df0aaa'
'9e71d8f28a8d9e2cde6b329ac56eac8ef23b53e36531f1b83d7ef4d94b303bf4'
'353433180a29a5dd67b94cbe626362d5a152b85f40b2b920696389e2e100c06c')
prepare() {
local wrapper=opt/brother/Printers/hl3140cw/cupswrapper/cupswrapperhl3140cw
# Brother's cupswrapper script generates the PPD and the CUPS filter, then
# registers the printer on the live system. Point every absolute path at
# $srcdir and drop the live-system steps so it only produces the files.
install -d usr/share/cups/model usr/lib/cups/filter
sed -i -e '/lpadmin/d' -e '/^sleep/d' -e '/^uris=/d' \
-e "s|/usr/|$srcdir/usr/|g" -e "s|/opt/|$srcdir/opt/|g" -e "s|/var/tmp/|$srcdir/|g" \
"$wrapper"
sh "$wrapper"
sed -i "s|$srcdir||g" usr/lib/cups/filter/brother_lpdwrapper_hl3140cw
rm "$wrapper"
# /etc/printcap is managed by CUPS
rm opt/brother/Printers/hl3140cw/inf/setupPrintcapij
chmod 644 opt/brother/Printers/hl3140cw/cupswrapper/brother_hl3140cw_printer_en.ppd
}
package() {
cp -a usr opt "$pkgdir"/
install -Dm644 lpr-license.txt cupswrapper-license.txt -t "$pkgdir/usr/share/licenses/$pkgname"
}
Changes since previous scan
--- PKGBUILD @ 2026-09-03 00:15+++ PKGBUILD @ 2026-09-17 00:27@@ -1,62 +1,46 @@-# Creator: giorgio gilestro <giorgio@gilest.ro>-pkgname="brother-hl3140cw"-pkgver="1.1.2"-pkgrel=2-pkgdesc="LPR and CUPS driver for the Brother HL3040cn"-arch=('i686' 'x86_64')-url="http://support.brother.com/g/b/downloadlist.aspx?c=us&lang=en&prod=hl3140cw_us_eu&os=127"-license=('custom:brother commercial license')-depends=('cups' 'psutils' 'lib32-glibc')-install='brother-hl3140cw.install'-source=(- "http://www.brother.com/pub/bsc/linux/dlf/hl3140cwlpr-$pkgver-1.i386.rpm"- "http://www.brother.com/pub/bsc/linux/dlf/hl3140cwcupswrapper-$pkgver-1.i386.rpm"- 'cupswrapper-license.txt'- 'lpr-license.txt'-)-md5sums=('8cfe8c8802064ff38271d2f35a4a0017'- '6c4e19f17ca87be04de390cb1490ece8'- '9181a7fe7ef4b57d92ac04800c4f5b64'- 'd319bab2a7842f20fd03fe87bedf4eed')-if test "$CARCH" == x86_64; then- depends+=('lib32-glibc')-fi+# Maintainer: Giorgio Gilestro <giorgio@gilest.ro>++pkgname=brother-hl3140cw+pkgver=1.1.4+pkgrel=1+_lprver=1.1.2-1 # LPR driver release+_cwver=1.1.4-0 # CUPS wrapper release+pkgdesc="LPR and CUPS driver for the Brother HL-3140CW colour LED printer"+arch=('x86_64')+url="https://support.brother.com/g/b/downloadlist.aspx?c=us&lang=en&prod=hl3140cw_us_eu&os=127"+license=('LicenseRef-Brother' 'GPL-2.0-or-later')+depends=('cups' 'ghostscript' 'lib32-glibc')+optdepends=('a2ps: print plain text files')+source=("https://download.brother.com/welcome/dlf007067/hl3140cwlpr-${_lprver}.i386.rpm"+ "https://download.brother.com/welcome/dlf007069/hl3140cwcupswrapper-${_cwver}.i386.rpm"+ 'lpr-license.txt'+ 'cupswrapper-license.txt')+sha256sums=('60f262ce506ad3ccabf119465d714b15bb67ab7ea3dbacb3b2f03528aa7be5e7'+ 'baadb99787d28f7ad9f8e3fe06f0fa451b8945abdea4794e305e0e6470df0aaa'+ '9e71d8f28a8d9e2cde6b329ac56eac8ef23b53e36531f1b83d7ef4d94b303bf4'+ '353433180a29a5dd67b94cbe626362d5a152b85f40b2b920696389e2e100c06c')+ prepare() {-# do not install in '/usr/local'- if [ -d $srcdir/usr/local/Brother ]; then- install -d $srcdir/usr/share- mv $srcdir/usr/local/Brother/ $srcdir/usr/share/brother- rm -rf $srcdir/usr/local- sed -i 's|/usr/local/Brother|/usr/share/brother|g' `grep -lr '/usr/local/Brother' ./`- fi-# setup cups-directories- install -d $srcdir/usr/share/cups/model- install -d $srcdir/usr/lib/cups/filter-# go to the cupswrapper directory and find the source file from wich to generate a ppd- and wrapper-file- cd `find . -type d -name 'cupswrapper'`- if [ -f cupswrapper* ]; then- _wrapper_source=`ls cupswrapper*`- sed -i '/^\/etc\/init.d\/cups/d' $_wrapper_source- sed -i '/^sleep/d' $_wrapper_source- sed -i '/^lpadmin/d' $_wrapper_source- sed -i 's|/usr|$srcdir/usr|g' $_wrapper_source- sed -i 's|/opt|$srcdir/opt|g' $_wrapper_source- sed -i 's|/model/Brother|/model|g' $_wrapper_source- sed -i 's|lpinfo|echo|g' $_wrapper_source- export srcdir=$srcdir- ./$_wrapper_source- sed -i 's|$srcdir||' $srcdir/usr/lib/cups/filter/*lpdwrapper*- sed -i "s|$srcdir||" $srcdir/usr/lib/cups/filter/*lpdwrapper*- rm $_wrapper_source- fi-# /etc/printcap is managed by cups- rm `find $srcdir -type f -name 'setupPrintcap*'`-}-package() {- cp -R $srcdir/usr $pkgdir- if [ -d $srcdir/opt ]; then cp -R $srcdir/opt $pkgdir; fi- install -m 644 -D cupswrapper-license.txt $pkgdir/usr/share/licenses/${pkgname}/cupswrapper-licence.txt- install -m 644 -D lpr-license.txt $pkgdir/usr/share/licenses/${pkgname}/lpr-licence.txt+ local wrapper=opt/brother/Printers/hl3140cw/cupswrapper/cupswrapperhl3140cw++ # Brother's cupswrapper script generates the PPD and the CUPS filter, then+ # registers the printer on the live system. Point every absolute path at+ # $srcdir and drop the live-system steps so it only produces the files.+ install -d usr/share/cups/model usr/lib/cups/filter+ sed -i -e '/lpadmin/d' -e '/^sleep/d' -e '/^uris=/d' \+ -e "s|/usr/|$srcdir/usr/|g" -e "s|/opt/|$srcdir/opt/|g" -e "s|/var/tmp/|$srcdir/|g" \+ "$wrapper"+ sh "$wrapper"+ sed -i "s|$srcdir||g" usr/lib/cups/filter/brother_lpdwrapper_hl3140cw+ rm "$wrapper"++ # /etc/printcap is managed by CUPS+ rm opt/brother/Printers/hl3140cw/inf/setupPrintcapij+ chmod 644 opt/brother/Printers/hl3140cw/cupswrapper/brother_hl3140cw_printer_en.ppd } +package() {+ cp -a usr opt "$pkgdir"/+ install -Dm644 lpr-license.txt cupswrapper-license.txt -t "$pkgdir/usr/share/licenses/$pkgname"+} Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Low | 2 |
| 2026-09-16 00:03:17 | Low | 2 |
| 2026-09-15 00:25:31 | Low | 2 |
| 2026-09-14 00:27:57 | Low | 2 |
| 2026-09-13 00:19:54 | Low | 2 |
| 2026-09-12 00:25:17 | Low | 2 |
| 2026-09-11 00:19:22 | Low | 2 |
| 2026-09-10 00:22:44 | Low | 2 |
| 2026-09-09 00:04:09 | Low | 2 |
| 2026-09-08 00:18:08 | Low | 2 |
| 2026-09-07 00:30:15 | Low | 2 |
| 2026-09-06 00:17:06 | Low | 2 |
| 2026-09-05 00:16:27 | Low | 2 |
| 2026-09-04 00:03:13 | Low | 2 |
| 2026-09-03 09:52:42 | Medium | 1 |
| 2026-09-03 00:15:47 | Low | 2 |
| 2026-09-02 00:02:31 | Low | 2 |
| 2026-09-01 00:11:19 | Low | 2 |
| 2026-08-31 00:19:57 | Low | 2 |
| 2026-08-30 00:04:14 | Low | 2 |