sudoforge
LOW
maintainer jetomev
0 votes
scanned 2026-10-07 06:05:09.924014
Why flagged
Uploaded within the last 14 days with 2 or fewer community votes — little peer review so far.
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.
PKGBUILD
1
# Maintainer: jetomev <jetomev@gmail.com>
2
# Co-developer: Claude (Anthropic)
3
4
pkgname=sudoforge
5
pkgver=1.0.0
6
pkgrel=1
7
pkgdesc="One password box for every admin request on the Sway desktop: polkit's admin pop-up and sudo -A, saying who is asking and what for (KognogOS, Forge Suite)"
8
arch=('any')
9
# sudoForge lives in the Forge Suite repository (D-60); releases are tagged sudoforge-vX.Y.Z there
10
_repo="https://github.com/jetomev/forge-suite"
11
url="${_repo}/tree/main/sudoforge"
12
license=('GPL3')
13
# forgekit 0.8.0: the centred password field and the box's layout (#34).
14
# python-gobject + polkit: the session's admin pop-up. alacritty: the box's window.
15
depends=('python' 'python-textual' 'python-forgekit>=0.8.0' 'python-gobject' 'polkit' 'sudo' 'alacritty')
16
optdepends=('sway: the desktop sudoForge is made for (the service checks it at start)')
17
install=sudoforge.install
18
source=("${pkgname}-${pkgver}.tar.gz::${_repo}/releases/download/${pkgname}-v${pkgver}/${pkgname}-${pkgver}.tar.gz"
19
"${pkgname}-${pkgver}.tar.gz.asc::${_repo}/releases/download/${pkgname}-v${pkgver}/${pkgname}-${pkgver}.tar.gz.asc")
20
sha256sums=('f1d7d68167e6bc4cacefc4cc46644ab4a2d9d91de2dcdcbc9364d90cb89956db'
21
'SKIP')
22
# Javier (jetomev) release-signing key — import via:
23
# curl -s https://github.com/jetomev.gpg | gpg --import
24
validpgpkeys=('32E1D2AB9380BFD6BFE3BC1EAC2A3407CC070F9E')
25
26
check() {
27
cd "${srcdir}/${pkgname}-${pkgver}"
28
# A stand-in sudo and a stand-in box, plus the real box headless: nothing
29
# asks the builder's system for a password. The live polkit check is
30
# skipped unless SUDOFORGE_LIVE_POLKIT=1.
31
PYTHONDONTWRITEBYTECODE=1 python -m unittest discover -s tests -t .
32
}
33
34
package() {
35
cd "${srcdir}/${pkgname}-${pkgver}"
36
find . -type d -name __pycache__ -exec rm -rf {} + 2>/dev/null || true
37
38
install -dm755 "${pkgdir}/usr/lib/${pkgname}"
39
cp -r sudoforge "${pkgdir}/usr/lib/${pkgname}/"
40
install -m755 main.py "${pkgdir}/usr/lib/${pkgname}/main.py"
41
# the helper /etc/sudo.conf names after `sudoforge setup` (D-3)
42
install -m755 sudoforge-askpass "${pkgdir}/usr/lib/${pkgname}/sudoforge-askpass"
43
44
install -dm755 "${pkgdir}/usr/bin"
45
cat > "${pkgdir}/usr/bin/${pkgname}" << 'LAUNCH'
46
#!/bin/sh
47
exec python3 /usr/lib/sudoforge/main.py "$@"
48
LAUNCH
49
chmod 755 "${pkgdir}/usr/bin/${pkgname}"
50
51
install -Dm644 README.md "${pkgdir}/usr/share/doc/${pkgname}/README.md"
52
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
53
}
54
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-07 06:05:09 | Low | 1 |