vmdebootstrap-pureos
The source is a tarball from puri.sm, a non-whitelisted but project-associated host, used to build the package from its own source; this is normal AUR packaging behavior and not inherently dangerous.
Triggered rules
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 source is a tarball from puri.sm, a non-whitelisted but project-associated host, used to build the package from its own source; this is normal AUR packaging behavior and not inherently dangerous.
1 higher static finding superseded - not the current verdict (shown for transparency)
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:35
"${_gitpkgname}-${pkgver}.tar.gz::https://source.puri.sm/Librem5/vmdeboostrap/-/archive/upstream/${pkgver}/vmdeboostrap-upstream-${pkgver}.tar.gz"
PKGBUILD
1 offending line(s) highlighted# Maintainer: Claudia Pellegrino <aur ät cpellegrino.de>
# Contributor: Andreas Grapentin <andreas@grapentin.org>
pkgname=vmdebootstrap-pureos
_gitpkgname="${pkgname%-pureos}"
pkgver=1.11
pkgrel=3
pkgdesc='Bootstrap Debian into a (virtual machine) disk image. Custom version, required to build PureOS.'
arch=('any')
url='http://git.liw.fi/vmdebootstrap/'
license=('GPL-3.0-or-later')
depends=(
'debootstrap-pureos'
'distro-info'
'multipath-tools'
'parted'
'python'
'python-cliapp-fiw'
'qemu'
'syslinux'
)
makedepends=(
'python-build'
'python-installer'
'python-setuptools'
'python-sphinx'
'python-wheel'
)
provides=('vmdebootstrap')
conflicts=('vmdebootstrap')
options=('!debug' '!strip')
source=(
# `vmdeboostrap` with a missing `t` is a legit typo
"${_gitpkgname}-${pkgver}.tar.gz::https://source.puri.sm/Librem5/vmdeboostrap/-/archive/upstream/${pkgver}/vmdeboostrap-upstream-${pkgver}.tar.gz"
'default_arch.patch'
'fix_path.patch'
'0001-Don-t-enforce-U-EFI-on-arm64.patch'
'python_3_syntax.patch'
)
sha512sums=(
'4fe39f6b779167d1d1ae5e02bcb9dd51d6a7e192596fc8b9ea4b737e5f510b33ebd606b38e194cd1451e445a8985f59cdb348f7c553f1c343b38c92b06c87892'
'f4d553b0364275809fd19f1597a149f7f8c6d4b53a654011700b2bb44b12a7bce08370488a36b359d56bfe90329b727f3f018d5670aac8c6aa3635ee26313fe7'
'64e32ecf6ac9089433da632b6406f3ef6da242d2443574af5a6f7d2ecdc4cb2fa3e0e366c47f890123266650dd3ccdafb797f675c96d5035aa4bd40472a7ed3c'
'c023215ca973d198e9067c4126252f9f9402235d22ae9d033df43fe0bc995df033620301b6ab0790964e0cd24d0d3f9bf88b2e806c0c85216dd27cf1b51775d4'
'1458c0c0f915ca31f6e5c4cd4e103c831ee44d82bbecdee6e6116316dd780fef2232d4160478b8f33a14afd9ccf27c36b1a2cfaf6f46da93023f8b6c5973affe'
)
prepare() {
# Fix typo and remove the `upstream` part
mv -v "vmdeboostrap-upstream-${pkgver}" \
"${_gitpkgname}-${pkgver}"
cd "${_gitpkgname}-${pkgver}"
patch -p1 < ../default_arch.patch
patch -p1 < ../fix_path.patch
patch -p1 < ../0001-Don-t-enforce-U-EFI-on-arm64.patch
patch -p1 < ../python_3_syntax.patch
}
build() {
cd "${_gitpkgname}-${pkgver}"
python -m build --wheel --no-isolation
make -C man man
}
package() {
cd "${_gitpkgname}-${pkgver}"
python -I -m installer --destdir="${pkgdir}" dist/*.whl
echo >&2 'Packaging the license'
install -D -m 644 COPYING \
"${pkgdir}"/usr/share/licenses/${pkgname}/LICENSE
echo >&2 'Packaging the README'
install -D -m 644 README \
"${pkgdir}"/usr/share/doc/${pkgname}/README
echo >&2 'Packaging the manual'
install -D -m 644 -t "${pkgdir}/usr/share/man/man8" \
man/_build/man/vmdebootstrap.8
}
Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-17 00:27:14 | Low | 2 |
| 2026-09-16 00:03:17 | Low | 2 |
| 2026-09-15 00:25:31 | Low | 2 |
| 2026-09-14 00:27:57 | Low | 2 |
| 2026-09-13 00:19:54 | Low | 2 |
| 2026-09-12 00:25:17 | Low | 2 |
| 2026-09-11 00:19:22 | Low | 2 |
| 2026-09-10 00:22:44 | Low | 2 |
| 2026-09-09 00:04:09 | Low | 2 |
| 2026-09-08 00:18:08 | Low | 2 |
| 2026-09-07 00:30:15 | Low | 2 |
| 2026-09-06 00:17:06 | Low | 2 |
| 2026-09-05 00:16:27 | Low | 2 |
| 2026-09-04 00:03:13 | Low | 2 |
| 2026-09-03 00:15:47 | Low | 2 |
| 2026-09-02 00:02:31 | Low | 2 |
| 2026-09-01 00:11:19 | Low | 2 |
| 2026-08-31 00:19:57 | Low | 2 |
| 2026-08-30 00:04:14 | Low | 2 |
| 2026-08-29 00:29:17 | Low | 2 |