tidra-git
The package builds from source via git (plausibly the project's own repository), disables upstream update mechanisms, and installs only the resulting binary, icons, and metadata; the low severity is due to few votes and recent upload, not malicious behavior.
Triggered rules
zero_votes_recent
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
llm_review
An AI model (qwen/qwen3-235b-a22b-2507) reviewed this and agrees it is LOW (confidence 95%): The package builds from source via git (plausibly the project's own repository), disables upstream update mechanisms, and installs only the resulting binary, icons, and metadata; the low severity is due to few votes and recent upload, not malicious behavior.
PKGBUILD
# Maintainer: Agil Mammadov <mammadovagil@proton.me>
_pkgname=tidra
pkgname=tidra-git
pkgver=0.1.6.r0.g606f55d
pkgrel=1
pkgdesc="Keep every project you maintain up to date from one desktop app (development)"
arch=('x86_64' 'aarch64')
url="https://github.com/yusifaliyevpro/tidra-app"
license=('AGPL-3.0-or-later')
depends=(
cairo
dbus
gdk-pixbuf2
git
glib2
glibc
gtk3
hicolor-icon-theme
libappindicator
libgcc
libsoup3
libx11
libxi
sh
util-linux
'webkit2gtk-4.1'
)
makedepends=(cargo nodejs pnpm)
optdepends=(
'org.freedesktop.secrets: store tokens in the desktop keyring'
'nodejs: manage Node.js projects'
'npm: manage npm projects'
'pnpm: manage pnpm projects'
'yarn: manage Yarn projects'
'bun: manage Bun projects'
'github-cli: import an existing GitHub CLI authentication token'
)
provides=("tidra=$pkgver")
conflicts=('tidra')
source=("$_pkgname::git+$url.git#branch=main")
sha256sums=('SKIP')
# Use upstream's Rust LTO settings instead of makepkg's compiler flags.
options=('!lto')
pkgver() {
cd "$_pkgname"
git describe --long --tags --match 'v[0-9]*' | \
sed 's/^v//;s/\([^-]*-g\)/r\1/;s/-/./g'
}
prepare() {
cd "$_pkgname"
# Updates are managed by pacman rather than upstream's installer.
node --input-type=module <<'EOF'
import fs from 'node:fs';
const file = 'src-tauri/tauri.conf.json';
const config = JSON.parse(fs.readFileSync(file, 'utf8'));
config.bundle.createUpdaterArtifacts = false;
config.plugins.updater.endpoints = [];
fs.writeFileSync(file, JSON.stringify(config, null, 2) + '\n');
EOF
pnpm install --frozen-lockfile
cargo fetch --locked --manifest-path src-tauri/Cargo.toml \
--target "$(rustc -vV | sed -n 's/host: //p')"
}
build() {
cd "$_pkgname"
export CARGO_TARGET_DIR="$srcdir/target"
export CARGO_PROFILE_RELEASE_STRIP=false
# Invoke Tauri directly: upstream's build script requires a signing .env.local.
pnpm exec tauri build --no-bundle -- --frozen
}
package() {
cd "$_pkgname"
install -Dm755 "$srcdir/target/release/$_pkgname" "$pkgdir/usr/bin/$_pkgname"
install -Dm644 README.md -t "$pkgdir/usr/share/doc/$pkgname/"
local size
for size in 32 64 128; do
install -Dm644 "src-tauri/icons/${size}x${size}.png" \
"$pkgdir/usr/share/icons/hicolor/${size}x${size}/apps/$_pkgname.png"
done
install -Dm644 src-tauri/icons/128x128@2x.png \
"$pkgdir/usr/share/icons/hicolor/256x256/apps/$_pkgname.png"
install -dm755 "$pkgdir/usr/share/applications"
cat > "$pkgdir/usr/share/applications/$_pkgname.desktop" <<'EOF'
[Desktop Entry]
Type=Application
Name=Tidra
Comment=Keep every project you maintain up to date
Exec=tidra
Icon=tidra
Terminal=false
Categories=Development;
StartupWMClass=tidra
EOF
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-11-06 12:12:41 | Low | 2 |