falconsdr

LOW
maintainer 9M2PJU 0 votes scanned 2026-10-24 00:14:55.209548
View on AUR
Why flagged

The package re-packages an official upstream .deb release from the project's GitHub, which is a common and acceptable practice for AUR; the source is verifiable, checksummed, and consists of static files (no remote code execution or obfuscation), though the low vote count and recent upload are minor trust concerns.

Triggered rules

Low Few votes, recently uploaded zero_votes_recent

Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.

Low AI review llm_review

An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is LOW (confidence 95%): The package re-packages an official upstream .deb release from the project's GitHub, which is a common and acceptable practice for AUR; the source is verifiable, checksummed, and consists of static files (no remote code execution or obfuscation), though the low vote count and recent upload are minor trust concerns.

PKGBUILD

1# Maintainer: 9M2PJU <9m2pju@gmail.com>
2# Repackages the official self-contained build (PyInstaller bundle:
3# its own Python + numpy/scipy/pyrtlsdrlib + web UI in /opt/falconsdr),
4# so no Python packaging is involved on the Arch side. RTL-SDR only;
5# SoapySDR hardware needs a source install (see upstream README).
6pkgname=falconsdr
7pkgver=0.9.0
8pkgrel=1
9pkgdesc="Wideband SDR ATC/radio scanner - records only the transmissions it stops on"
10arch=('x86_64')
11url="https://github.com/rafafunt/FalconSDR"
12license=('GPL-3.0-or-later')
13depends=('libusb' 'hicolor-icon-theme' 'systemd')
14optdepends=('ffmpeg: MP3 recording output (system binary preferred, bundled fallback otherwise)')
15conflicts=('smartscanatc')
16provides=('falconsdr')
17source=("https://github.com/rafafunt/FalconSDR/releases/download/v${pkgver}/falconsdr_${pkgver}_amd64.deb")
18sha256sums=('36842975a8de0835b69753b0030bc63397692f0d8bd762ec7c966c639d63d0a5')
19
20package() {
21 # .deb = ar archive (debian-binary, control.tar.*, data.tar.*); bsdtar
22 # (libarchive, base-devel) extracts the data payload directly.
23 bsdtar -xf "$srcdir/data.tar."* -C "$pkgdir"
24 # The .deb wraps the binary as /usr/bin/falconsdr -> /opt/falconsdr,
25 # ships the desktop entry, icon, udev rule, modprobe blacklist, docs and
26 # licenses already in their FHS locations - nothing to rearrange. Fix up
27 # Debian-isms for Arch:
28 # - udev rules belong in /usr/lib/udev/rules.d on Arch, not /etc.
29 if [ -f "$pkgdir/etc/udev/rules.d/60-rtl-sdr.rules" ]; then
30 install -d "$pkgdir/usr/lib/udev/rules.d"
31 mv "$pkgdir/etc/udev/rules.d/60-rtl-sdr.rules" "$pkgdir/usr/lib/udev/rules.d/60-rtl-sdr.rules"
32 rmdir -p "$pkgdir/etc/udev/rules.d" 2>/dev/null || true
33 fi
34 # - modprobe blacklist is location-independent (/etc/modprobe.d is correct).
35 # - udev file trigger so the RTL-SDR rule takes effect on install/remove.
36 install -d "$pkgdir/usr/share/libalpm/hooks"
37 cat > "$pkgdir/usr/share/libalpm/hooks/60-rtl-sdr-udev.hook" <<'HOOK'
38[Trigger]
39Type = File
40Operation = Install
41Operation = Remove
42Target = usr/lib/udev/rules.d/60-rtl-sdr.rules
43
44[Action]
45Description = Reloading udev rules for RTL-SDR...
46When = PostTransaction
47Exec = /bin/sh -c 'udevadm control --reload-rules 2>/dev/null; udevadm trigger --subsystem-match=usb 2>/dev/null; true'
48HOOK
49}
50

Scan history

Scanned at (UTC)SeverityRules
2026-10-24 00:14:55 Low 2
2026-10-23 19:38:15 Low 2

Report a package

Reports go to the AURWatch maintainer (one person) and are read by hand. No login required.

0 / 4000
Your suggestion