alex-git

LOW
maintainer 9M2PJU 0 votes scanned 2026-11-05 04:08:19.306895
View on AUR
Why flagged

The package is a VCS build from the project's official GitHub, installs source code and data, and vendors Python dependencies via pip for self-containment; the flagged low votes and recent upload are mitigated by the transparent, auditable build from upstream source.

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 is a VCS build from the project's official GitHub, installs source code and data, and vendors Python dependencies via pip for self-containment; the flagged low votes and recent upload are mitigated by the transparent, auditable build from upstream source.

PKGBUILD

1# Maintainer: 9M2PJU <9m2pju@gmail.com>
2# Contributor: Christian Peter <prosch88 AT github>
3# AUR package for ALEX. This is a -git (VCS) package on purpose:
4# pkgver() derives the version from git, so every rebuild tracks
5# upstream main and users always get the latest version
6# (e.g. with `yay -Syu --devel`).
7pkgname=alex-git
8_pkgname=ALEX
9pkgver=0.7.r0.g0000000
10pkgrel=1
11pkgdesc="Android Logical Extractor - ADB-based mobile acquisition tool (git)"
12arch=('any')
13url="https://github.com/prosch88/ALEX"
14license=('GPL-3.0-or-later')
15depends=(
16 'python'
17 'tk'
18 'android-tools'
19 'python-pillow'
20 'python-numpy'
21)
22makedepends=('git' 'python-pip')
23optdepends=(
24 'python-zeroconf: wireless ADB pairing discovery (else vendored via pip)'
25 'python-qrcode: wireless ADB pairing QR codes (else vendored via pip)'
26)
27provides=('alex')
28conflicts=('alex' 'alex-bin')
29source=("git+https://github.com/prosch88/ALEX.git")
30sha256sums=('SKIP')
31
32pkgver() {
33 cd "$srcdir/$_pkgname"
34 ver=$(grep -Po '^a_version\s*=\s*\K[0-9][0-9.]*' alex.py | head -n1)
35 [ -n "$ver" ] || ver="0.7"
36 printf "%s.r%s.g%s" "$ver" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
37}
38
39package() {
40 cd "$srcdir/$_pkgname"
41
42 # Application tree
43 install -dm755 "$pkgdir/usr/share/alex"
44 install -m644 alex.py "$pkgdir/usr/share/alex/"
45 cp -a alex "$pkgdir/usr/share/alex/"
46 cp -a ressources "$pkgdir/usr/share/alex/"
47 cp -a assets "$pkgdir/usr/share/alex/"
48
49 # Vendor PyPI deps into a relocatable dir (no venv absolute paths).
50 # Arch-native python-pillow / python-numpy satisfy part of
51 # requirements.txt; the rest (adbutils, customtkinter, uiautomator2,
52 # pdfme, imagehash, crossfiledialog, ...) are vendored here so the
53 # package works without extra AUR python-* packages.
54 pip install --no-compile --target="$pkgdir/usr/share/alex/lib" \
55 -r requirements.txt
56
57 # Launcher, desktop entry, icon, license
58 install -Dm755 packaging/alex "$pkgdir/usr/bin/alex"
59 install -Dm644 packaging/alex.desktop "$pkgdir/usr/share/applications/alex.desktop"
60 install -Dm644 assets/alex.png "$pkgdir/usr/share/pixmaps/alex.png"
61 install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
62
63 # Drop bundled __pycache__ if pip created any inside lib
64 find "$pkgdir/usr/share/alex/lib" -name '__pycache__' -type d -prune -exec rm -rf {} + 2>/dev/null || true
65 rm -rf "$pkgdir/usr/share/alex/lib/bin" 2>/dev/null || true
66 chmod 755 "$pkgdir/usr/share/alex/ressources/cve/2016-5195/"*/dirtycow \
67 "$pkgdir/usr/share/alex/ressources/cve/2016-5195/"*/run-as \
68 "$pkgdir/usr/share/alex/ressources/cve/2020-0069/"*/mtk-su \
69 "$pkgdir/usr/share/alex/ressources/tar/"*/* 2>/dev/null || true
70}
71

Scan history

Scanned at (UTC)SeverityRules
2026-11-05 04:08:19 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