openbubbles-app-git

maintainer kanya-approve · 0 votes · scanned 2026-08-03 00:08:14.047287
LOW
View on AUR ↗
Why flagged The package builds from a legitimate project Git repository and uses a standard Flutter SDK from Google's official infrastructure; the non-whitelisted host is a known official source, and the source code is openly reviewable, making the risk low despite SKIP'd checksum on the Git source.

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 builds from a legitimate project Git repository and uses a standard Flutter SDK from Google's official infrastructure; the non-whitelisted host is a known official source, and the source code is openly reviewable, making the risk low despite SKIP'd checksum on the Git source.

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:41 "flutter-${_flutterver}.tar.xz::https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_${_flutterver}-stable.tar.xz"

PKGBUILD

1 offending line(s) highlighted
1# Maintainer: Brian
2
3_gitname=openbubbles-app
4pkgname=openbubbles-app-git
5pkgver=1.15.0.227
6pkgrel=2
7pkgdesc="OpenBubbles messaging app (iMessage client, built from git)"
8arch=('x86_64')
9url="https://github.com/OpenBubbles/openbubbles-app"
10license=('Apache-2.0')
11depends=(
12 'gtk3'
13 'hicolor-icon-theme'
14 'libayatana-appindicator'
15 'libnotify'
16 'libsecret'
17 'mpv'
18 'webkit2gtk-4.1'
19)
20makedepends=(
21 'clang'
22 'cmake'
23 'curl'
24 'git'
25 'ninja'
26 'pkgconf'
27 'protobuf'
28 'rust'
29 'unzip'
30)
31provides=('openbubbles-app')
32conflicts=('openbubbles-app' 'openbubbles-app-bin')
33# !lto: rustpush links vendored openssl/ring, whose CPUID symbols live in asm that LTO drops
34options=('!strip' '!debug' '!lto')
35
36_flutterver=3.24.0
37_fluttersum=d52a5d12f17d8bcf868d1ccc01fe0f7ffb05b53d9628aa21b07a18f9d33621f2
38
39source=(
40 "$_gitname::git+https://github.com/OpenBubbles/openbubbles-app.git#branch=rustpush"
41 "flutter-${_flutterver}.tar.xz::https://storage.googleapis.com/flutter_infra_release/releases/stable/linux/flutter_linux_${_flutterver}-stable.tar.xz"
42 "openbubbles.desktop"
43)
44sha256sums=(
45 'SKIP'
46 "$_fluttersum"
47 '57b3eec669f620ec6259a3e98669b80bd82f8a7a7b1cbf8f53301e0c2f4d457b'
48)
49
50pkgver() {
51 cd "$srcdir/$_gitname"
52 local _ver
53 _ver="$(awk '/^version:/{print $2; exit}' pubspec.yaml | tr '+' '.')"
54 printf '%s.r%s.g%s' "$_ver" "$(git rev-list --count HEAD)" "$(git rev-parse --short=8 HEAD)"
55}
56
57prepare() {
58 cd "$srcdir/$_gitname"
59 export GIT_CONFIG_GLOBAL="$srcdir/.gitconfig"
60 git config --global url."https://github.com/".insteadOf "git@github.com:"
61 git submodule update --init --recursive
62
63 # upstream CI copies the legacy fairplay cert to each numbered key id the source embeds
64 install -d rustpush/certs/fairplay
65 grep -oP 'include_cert!\("\K[^"]+' rustpush/src/activation.rs | while read -r _n; do
66 cp rustpush/certs/legacy-fairplay/fairplay.crt "rustpush/certs/fairplay/$_n.crt"
67 cp rustpush/certs/legacy-fairplay/fairplay.pem "rustpush/certs/fairplay/$_n.pem"
68 done
69
70 # relax the flutter template's -Werror; newer system libs (libayatana-appindicator)
71 # emit deprecation warnings that would otherwise abort the plugin builds
72 sed -i 's/-Wall -Werror/-Wall/' linux/CMakeLists.txt
73}
74
75build() {
76 export RUSTUP_HOME="${RUSTUP_HOME:-$HOME/.rustup}"
77 export HOME="$srcdir/.home"
78 export PUB_CACHE="$srcdir/.pub-cache"
79 export CARGO_HOME="$srcdir/.cargo"
80 export GIT_CONFIG_GLOBAL="$srcdir/.gitconfig"
81 export PATH="$srcdir/flutter/bin:$srcdir/flutter/bin/cache/dart-sdk/bin:$PATH"
82 mkdir -p "$HOME"
83
84 git config --global --add safe.directory '*'
85
86 flutter config --no-analytics --enable-linux-desktop >/dev/null
87 flutter --version
88
89 cd "$srcdir/$_gitname"
90 flutter pub get
91 flutter build linux --release
92}
93
94package() {
95 cd "$srcdir/$_gitname"
96 local _bundle="build/linux/x64/release/bundle"
97
98 install -dm755 "$pkgdir/usr/lib/openbubbles-app"
99 cp -a "$_bundle/." "$pkgdir/usr/lib/openbubbles-app/"
100
101 if [[ ! -e "$pkgdir/usr/lib/openbubbles-app/lib/libmpv.so.1" ]]; then
102 ln -s /usr/lib/libmpv.so.2 "$pkgdir/usr/lib/openbubbles-app/lib/libmpv.so.1"
103 fi
104
105 install -dm755 "$pkgdir/usr/bin"
106 cat > "$pkgdir/usr/bin/openbubbles" <<'EOF'
107#!/bin/bash
108APPDIR="/usr/lib/openbubbles-app"
109export LD_LIBRARY_PATH="$APPDIR/lib:$APPDIR:${LD_LIBRARY_PATH}"
110exec "$APPDIR/bluebubbles" "$@"
111EOF
112 chmod 755 "$pkgdir/usr/bin/openbubbles"
113
114 install -Dm644 "$srcdir/openbubbles.desktop" \
115 "$pkgdir/usr/share/applications/openbubbles.desktop"
116 install -Dm644 "$_bundle/data/flutter_assets/assets/icon/icon.png" \
117 "$pkgdir/usr/share/icons/hicolor/256x256/apps/openbubbles.png"
118}
119

Scan history

Scanned at (UTC)SeverityRules
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

Report a package

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

0 / 4000
Your suggestion