rancher-desktop
The flagged 'undeclared external package' install via yarn is part of the standard build process for the project's own source code from the official GitHub repository, not an unauthorized or hidden dependency injection.
Triggered rules
llm_review
The static rules flagged this MEDIUM, but an AI model (qwen/qwen3-235b-a22b-2507) reviewed the full PKGBUILD and judged it LOW (confidence 95%): The flagged 'undeclared external package' install via yarn is part of the standard build process for the project's own source code from the official GitHub repository, not an unauthorized or hidden dependency injection.
1 higher static finding superseded - not the current verdict (shown for transparency)
npm_install_external
Runs `npm/yarn/pnpm install <package>` for a package not in source=(), pulling unpinned, unreviewed code at build time. Severity downgraded: the package declares/looks like a Node.js consumer, where build-time installs are expected.
-
PKGBUILD:52
npm install --global yarn
PKGBUILD
1 offending line(s) highlighted# Maintainer: Dominic Giebert <dominic.giebert@gmail.com>
# Contributor: Parker Johansen <johansen.parker@gmail.com>
pkgname=rancher-desktop
pkgdesc='Rancher Desktop is an open-source project to bring Kubernetes and container management to the desktop'
pkgver=1.24.0
pkgrel=1
arch=('x86_64')
license=('Apache')
url='https://rancherdesktop.io/'
makedepends=('npm' 'nvm' 'nodejs' 'imagemagick' 'go')
provides=('rancher-desktop' 'docker' 'helm' 'kubectl' 'nerdctl' 'limactl')
depends=('qemu')
source=("https://github.com/rancher-sandbox/rancher-desktop/archive/refs/tags/v${pkgver}.tar.gz")
sha256sums=('300b80a958cff00515229b5de58724fb63523f06c335f949139befd1fd7317f4')
options=(!debug)
# https://wiki.archlinux.org/title/Node.js_package_guidelines#Using_nvm
_ensure_local_nvm() {
which nvm >/dev/null 2>&1 && nvm deactivate && nvm unload
export NVM_DIR="${srcdir}/.nvm"
source /usr/share/nvm/init-nvm.sh || [[ $? != 1 ]]
}
prepare() {
_ensure_local_nvm
nvm install 22
yarn set version stable
cd "${pkgname}-${pkgver}"
sed -i "s|childProcess.execFileSync('git', \['describe', '--tags'\]).toString().trim()|'v${pkgver}'|g" scripts/package.ts
}
build() {
_ensure_local_nvm
cd "${pkgname}-${pkgver}"
# Generate icons
icon="resources/icons/logo-square-512.png"
for size in 512x512 256x256 128x128 96x96 64x64 48x48 32x32 24x24 16x16; do
mkdir "share/icons/hicolor/${size}/apps" -p
magick "${icon}" -resize "${size}" "share/icons/hicolor/${size}/apps/${pkgname}.png"
done
sed -i "s|target: \[ zip \]|target: [ dir ]|g" packaging/electron-builder.yml
# Remove Flatpak and appimage as they are not needed
rm packaging/linux/appimage.yml
rm packaging/linux/flatpak.yaml
# https://github.com/rancher-sandbox/rancher-desktop#how-to-run
npm install --global yarn
yarn
yarn build
yarn package --publish=never
}
package() {
cd "${pkgname%-bin}-$pkgver"
# Copy over the data
install -d "$pkgdir/opt/${pkgname}"
install -d "$pkgdir/usr/share/icons/hicolor/"
cp -r dist/linux-unpacked/* "$pkgdir/opt/${pkgname}/"
cp -r share/icons/hicolor/* "$pkgdir/usr/share/icons/hicolor/"
install -Dm644 LICENSE -t "${pkgdir}/usr/share/licenses/${pkgname}"
# Some weird fix
# Add integration for desktop env
install -Dm644 dist/linux-unpacked/resources/resources/linux/rancher-desktop.desktop -t "$pkgdir/usr/share/applications"
install -Dm644 dist/linux-unpacked/resources/resources/linux/rancher-desktop.appdata.xml -t "$pkgdir/usr/share/metainfo"
# Creating the symlink for better usage
install -d "$pkgdir"/usr/bin/
ln -sf /opt/${pkgname}/${pkgname} ${pkgdir}/usr/bin/${pkgname}
}
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 |