voidscout scans the Void Linux srcpkgs tree, stores package metadata in SQLite, and checks upstream sources for newer versions. The project has two parts:
- worker — indexes templates and checks upstream versions
- web — Flask frontend to browse packages and download distfiles
- Worker:
bash,awk,sqlite3,curl,jq - Web: Python 3.10+ and Flask
- A local checkout of void-packages
Clone void-packages next to voidscout (or point VOIDSCOUT_REPO to your checkout):
OpenSource/
├── voidscout/
└── void-packages/
./worker/worker.sh scanThis reads all srcpkgs/*/template files and writes to data/voidscout.db.
./worker/worker.sh checkUse --limit N to test with a small number of packages:
./worker/worker.sh check --limit 10cd web
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
VOIDSCOUT_DB=../data/voidscout.db flask --app app runOpen http://127.0.0.1:5000 in your browser.
Alternatively:
VOIDSCOUT_DB=../data/voidscout.db python3 app.py| Variable | Description | Default |
|---|---|---|
VOIDSCOUT_REPO |
Path to void-packages checkout | ./void-packages |
VOIDSCOUT_DB |
SQLite database path | data/voidscout.db |
VOIDSCOUT_GITHUB_TOKEN |
GitHub token for higher API rate limits | — |
VOIDSCOUT_CHECK_SLEEP |
Delay between upstream HTTP requests (seconds) | 0.1 |
- GitHub, GitLab, Codeberg
- GNU and Non-GNU (Savannah) mirrors
- kernel.org
- SourceForge
- Generic FTP/HTTP directory listings
See LICENSE.