katiecad-git
LOW
maintainer 9M2PJU
0 votes
scanned 2026-10-22 03:33:54.949562
Why flagged
The package builds from a legitimate git source with a SKIP'd checksum, but it is a Python/Tkinter application that installs source files and a simple launcher, posing no remote code execution or malicious payload risk.
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 90%): The package builds from a legitimate git source with a SKIP'd checksum, but it is a Python/Tkinter application that installs source files and a simple launcher, posing no remote code execution or malicious payload risk.
PKGBUILD
1
# Maintainer: 9M2PJU <9m2pju@gmail.com>
2
pkgname=katiecad-git
3
_pkgname=katiecad
4
pkgver=0.2.2.r0.g0000000
5
pkgrel=1
6
pkgdesc="Lightweight CAD drawing tool (Python/Tkinter) with DXF/DWG support"
7
arch=('any')
8
url="https://github.com/Merecete/KatieCAD"
9
license=('MIT')
10
depends=('python' 'tk' 'python-pillow' 'python-ezdxf')
11
optdepends=(
12
'python-ezdwg: extended DWG import (pip: python -m pip install ezdwg)'
13
'oda-file-converter: DWG conversion via ODA File Converter'
14
'libredwg: DWG conversion via dwg2dxf'
15
)
16
makedepends=('git' 'python')
17
provides=('katiecad')
18
conflicts=('katiecad')
19
source=("git+https://github.com/Merecete/KatieCAD.git")
20
sha256sums=('SKIP')
21
22
pkgver() {
23
cd "$srcdir/KatieCAD"
24
ver=$(python -c 'from katiecad_manifest import VERSION; print(VERSION)' 2>/dev/null || echo "0.2.2")
25
printf "%s.r%s.g%s" "$ver" "$(git rev-list --count HEAD)" "$(git rev-parse --short HEAD)"
26
}
27
28
package() {
29
cd "$srcdir/KatieCAD"
30
install -d "$pkgdir/usr/share/katiecad"
31
install -d "$pkgdir/usr/bin"
32
install -d "$pkgdir/usr/share/applications"
33
install -d "$pkgdir/usr/share/pixmaps"
34
install -d "$pkgdir/usr/share/icons/hicolor/512x512/apps"
35
install -d "$pkgdir/usr/share/metainfo"
36
37
install -m644 KatieCAD.py katiecad_*.py requirements.txt README.md "$pkgdir/usr/share/katiecad/"
38
39
# Launcher: prefer the wrapper shipped in packaging/ (after upstream
40
# merges the installers PR), otherwise generate an equivalent one.
41
if [[ -f packaging/katiecad ]]; then
42
install -m755 packaging/katiecad "$pkgdir/usr/bin/katiecad"
43
else
44
cat > "$pkgdir/usr/bin/katiecad" <<'EOF'
45
#!/bin/sh
46
set -e
47
exec python3 /usr/share/katiecad/KatieCAD.py "$@"
48
EOF
49
chmod 0755 "$pkgdir/usr/bin/katiecad"
50
fi
51
52
# Desktop entry: same fallback logic.
53
if [[ -f packaging/katiecad.desktop ]]; then
54
install -m644 packaging/katiecad.desktop "$pkgdir/usr/share/applications/katiecad.desktop"
55
else
56
cat > "$pkgdir/usr/share/applications/katiecad.desktop" <<'EOF'
57
[Desktop Entry]
58
Version=1.0
59
Type=Application
60
Name=KatieCAD
61
GenericName=CAD Drawing Tool
62
Comment=Lightweight CAD drawing tool with DXF/DWG support
63
Exec=katiecad %F
64
Icon=katiecad
65
Terminal=false
66
Categories=Graphics;Engineering;2DGraphics;
67
StartupWMClass=KatieCAD
68
EOF
69
chmod 0644 "$pkgdir/usr/share/applications/katiecad.desktop"
70
fi
71
72
install -m644 KatieCAD.png "$pkgdir/usr/share/pixmaps/katiecad.png"
73
install -m644 KatieCAD.png "$pkgdir/usr/share/icons/hicolor/512x512/apps/katiecad.png"
74
if [[ -f packaging/katiecad.appdata.xml ]]; then
75
install -m644 packaging/katiecad.appdata.xml "$pkgdir/usr/share/metainfo/katiecad.appdata.xml"
76
fi
77
install -Dm644 LICENSE "$pkgdir/usr/share/licenses/$pkgname/LICENSE"
78
79
python -m compileall -q "$pkgdir/usr/share/katiecad" || true
80
find "$pkgdir" -name '__pycache__' -type d -prune -exec rm -rf {} + 2>/dev/null || true
81
}
82
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-10-22 03:33:54 | Low | 2 |