fotoluks-manager-git
MEDIUM
maintainer zxp19821005
0 votes
scanned 2026-09-21 11:34:50.247705
Why flagged
`npx`/`bunx`/`pnpm dlx`/`deno run <url>` downloads AND runs a remote package at build time — the moral equivalent of piping a download into a shell. Severity downgraded: Node.js consumer context.
Triggered rules
Medium
npx/bunx/deno executes a remote package
remote_code_tool
`npx`/`bunx`/`pnpm dlx`/`deno run <url>` downloads AND runs a remote package at build time — the moral equivalent of piping a download into a shell. Severity downgraded: Node.js consumer context.
-
PKGBUILD:103
npx ts-node ./.erb/scripts/clean.js dist
PKGBUILD
1 offending line(s) highlighted
1
# Maintainer: zxp19821005 <zxp19821005 at 163 dot com>
2
pkgname=fotoluks-manager-git
3
_pkgname='Fotoluks Manager'
4
pkgver=2.4.0.r0.g5573b36
5
_electronversion=22
6
_nodeversion=18
7
pkgrel=1
8
pkgdesc="Application for managing orders, setting tasks and mini-applications for working with MoySklad."
9
arch=('any')
10
url="https://github.com/Evernayt/fotoluks-manager"
11
license=('MIT')
12
conflicts=("${pkgname%-git}")
13
provides=("${pkgname%-git}=${pkgver%.r*}")
14
depends=(
15
"electron${_electronversion}"
16
)
17
makedepends=(
18
'gendesk'
19
'git'
20
'nvm'
21
'npm'
22
'curl'
23
'jq'
24
)
25
source=(
26
"${pkgname%-git}.git::git+${url}.git"
27
"${pkgname%-git}.sh"
28
)
29
sha256sums=('SKIP'
30
'a774c2f54fbbeeaac3cefc0f7250796d30c86d27f0fd40b7eaf9c0fdb021623d')
31
pkgver() {
32
cd "${srcdir}/${pkgname%-git}.git"
33
set -o pipefail
34
git describe --long --tags --abbrev=7 | sed 's/\([^-]*-g\)/r\1/;s/-/./g;s/v//g' ||
35
printf "r%s.%s" "$(git rev-list --count HEAD)" "$(git rev-parse --short=7 HEAD)"
36
}
37
_ensure_local_nvm() {
38
local NVM_DIR="${srcdir}/.nvm"
39
source /usr/share/nvm/init-nvm.sh || [[ $? != 1 ]]
40
nvm install "${_nodeversion}"
41
nvm use "${_nodeversion}"
42
}
43
_get_app_dir() {
44
find "${srcdir}" -type d -name "node_modules" -prune -o -type f -name "resources.pak" -print0 | xargs -0 dirname | head -n 1
45
}
46
_get_electron_version() {
47
_elec_ver=$(find "${srcdir}" -maxdepth 5 -name "package.json" ! -path "*/node_modules/*" \
48
-exec grep -l '"electron"' {} + | xargs -I{} jq -r '(.devDependencies.electron // .dependencies.electron) // empty' {} 2>/dev/null | head -1)
49
[[ -z "${_elec_ver}" ]] && return 1
50
echo -e "The electron version is: \033[1;31m${_elec_ver%%.*}\033[0m"
51
}
52
_set_build_env() {
53
export ELECTRON_DIST="/usr/lib/electron${_electronversion}"
54
export ELECTRON_OVERRIDE_DIST_PATH="${ELECTRON_DIST}"
55
export ELECTRON_SKIP_BINARY_DOWNLOAD=1
56
export SYSTEM_ELECTRON_VERSION="$(electron${_electronversion} -v | sed 's/^v//')"
57
export HOME="${srcdir}/.home"
58
export XDG_CACHE_HOME="${HOME}/.cache"
59
export XDG_CONFIG_HOME="${HOME}/.config"
60
export XDG_DATA_HOME="${HOME}/.local/share"
61
export npm_config_cache="${HOME}/.npm_cache"
62
export COREPACK_NPM_REGISTRY="${COREPACK_NPM_REGISTRY:-${NPM_CONFIG_REGISTRY:-https://registry.npmjs.org}}"
63
export COREPACK_HOME="${HOME}/.corepack"
64
export npm_config_audit=false
65
mkdir -p "${HOME}" "${npm_config_cache}" "${COREPACK_HOME}"
66
}
67
prepare() {
68
cd "${srcdir}/${pkgname%-git}.git"
69
_get_electron_version
70
sed -i -e "
71
s/@electronversion@/${_electronversion}/g
72
s/@appname@/${pkgname%-git}/g
73
s/@runname@/app.asar/g
74
s/@cfgdirname@/${pkgname%-git}/g
75
s/@options@//g
76
" "${srcdir}/${pkgname%-git}.sh"
77
78
gendesk -q -f -n \
79
--pkgname="${pkgname%-git}" \
80
--pkgdesc="${pkgdesc}" \
81
--categories="Development" \
82
--name="${_pkgname}" \
83
--exec="${pkgname%-git} %U"
84
_ensure_local_nvm
85
_set_build_env
86
cp assets/logo-small.png assets/icon.png
87
mv src/components/UI src/components/ui
88
mv src/components/Toolbar src/components/toolbar
89
mv src/components/Updater src/components/updater
90
mv src/components/ui/Table src/components/ui/table
91
mv src/components/ui/Search src/components/ui/search
92
mv src/components/ui/Pagination src/components/ui/pagination
93
find src -type f -exec sed -i "s/process.resourcesPath/\'\/usr\/lib\/${pkgname%-git}\'/g" {} +
94
sed -i "s/\"electron\": \"[^\"]*\"/\"electron\": \"${SYSTEM_ELECTRON_VERSION}\"/g" package.json
95
export NODE_ENV=development
96
npm install
97
}
98
build() {
99
cd "${srcdir}/${pkgname%-git}.git"
100
_ensure_local_nvm
101
_set_build_env
102
export NODE_ENV=production
103
npx ts-node ./.erb/scripts/clean.js dist
104
npm run build
105
npm exec -c "electron-builder --linux dir -c.electronDist=${ELECTRON_DIST}"
106
}
107
package() {
108
install -Dm755 "${srcdir}/${pkgname%-git}.sh" "${pkgdir}/usr/bin/${pkgname%-git}"
109
install -Dm755 -d "${pkgdir}/usr/lib/${pkgname%-git}"
110
local _app_dir=$(_get_app_dir)
111
cp -a "${_app_dir}/resources/." "${pkgdir}/usr/lib/${pkgname%-git}/"
112
install -Dm644 "${srcdir}/${pkgname%-git}.git/assets/logo-small.png" "${pkgdir}/usr/share/pixmaps/${pkgname%-git}.png"
113
install -Dm644 "${srcdir}/${pkgname%-git}.git/${pkgname%-git}.desktop" -t "${pkgdir}/usr/share/applications"
114
}
115
Changes since previous scan
--- PKGBUILD @ 2026-06-20 16:03+++ PKGBUILD @ 2026-09-21 11:34@@ -1,11 +1,11 @@ # Maintainer: zxp19821005 <zxp19821005 at 163 dot com> pkgname=fotoluks-manager-git _pkgname='Fotoluks Manager'-pkgver=2.2.0.r0.g7fb2005+pkgver=2.4.0.r0.g5573b36 _electronversion=22 _nodeversion=18 pkgrel=1-pkgdesc="Application for managing orders, setting tasks and mini-applications for working with MoySklad.(Use system-wide electron)"+pkgdesc="Application for managing orders, setting tasks and mini-applications for working with MoySklad." arch=('any') url="https://github.com/Evernayt/fotoluks-manager" license=('MIT')@@ -20,13 +20,14 @@ 'nvm' 'npm' 'curl'+ 'jq' ) source=( "${pkgname%-git}.git::git+${url}.git" "${pkgname%-git}.sh" ) sha256sums=('SKIP'- '291f50480f5a61bc9c68db7d44cd0412071128706baa868a9cb854f8779a1980')+ 'a774c2f54fbbeeaac3cefc0f7250796d30c86d27f0fd40b7eaf9c0fdb021623d') pkgver() { cd "${srcdir}/${pkgname%-git}.git" set -o pipefail@@ -39,7 +40,33 @@ nvm install "${_nodeversion}" nvm use "${_nodeversion}" }+_get_app_dir() {+ find "${srcdir}" -type d -name "node_modules" -prune -o -type f -name "resources.pak" -print0 | xargs -0 dirname | head -n 1+}+_get_electron_version() {+ _elec_ver=$(find "${srcdir}" -maxdepth 5 -name "package.json" ! -path "*/node_modules/*" \+ -exec grep -l '"electron"' {} + | xargs -I{} jq -r '(.devDependencies.electron // .dependencies.electron) // empty' {} 2>/dev/null | head -1)+ [[ -z "${_elec_ver}" ]] && return 1+ echo -e "The electron version is: \033[1;31m${_elec_ver%%.*}\033[0m"+}+_set_build_env() {+ export ELECTRON_DIST="/usr/lib/electron${_electronversion}"+ export ELECTRON_OVERRIDE_DIST_PATH="${ELECTRON_DIST}"+ export ELECTRON_SKIP_BINARY_DOWNLOAD=1+ export SYSTEM_ELECTRON_VERSION="$(electron${_electronversion} -v | sed 's/^v//')"+ export HOME="${srcdir}/.home"+ export XDG_CACHE_HOME="${HOME}/.cache"+ export XDG_CONFIG_HOME="${HOME}/.config"+ export XDG_DATA_HOME="${HOME}/.local/share"+ export npm_config_cache="${HOME}/.npm_cache"+ export COREPACK_NPM_REGISTRY="${COREPACK_NPM_REGISTRY:-${NPM_CONFIG_REGISTRY:-https://registry.npmjs.org}}"+ export COREPACK_HOME="${HOME}/.corepack"+ export npm_config_audit=false+ mkdir -p "${HOME}" "${npm_config_cache}" "${COREPACK_HOME}"+} prepare() {+ cd "${srcdir}/${pkgname%-git}.git"+ _get_electron_version sed -i -e " s/@electronversion@/${_electronversion}/g s/@appname@/${pkgname%-git}/g@@ -47,25 +74,15 @@ s/@cfgdirname@/${pkgname%-git}/g s/@options@//g " "${srcdir}/${pkgname%-git}.sh"+ + gendesk -q -f -n \+ --pkgname="${pkgname%-git}" \+ --pkgdesc="${pkgdesc}" \+ --categories="Development" \+ --name="${_pkgname}" \+ --exec="${pkgname%-git} %U" _ensure_local_nvm- gendesk -q -f -n --pkgname="${pkgname%-git}" --pkgdesc="${pkgdesc}" --categories="Development" --name="${_pkgname}" --exec="${pkgname%-git} %U"- cd "${srcdir}/${pkgname%-git}.git"- export ELECTRON_SKIP_BINARY_DOWNLOAD=1- export SYSTEM_ELECTRON_VERSION="$(electron${_electronversion} -v | sed 's/v//g')"- HOME="${srcdir}/.electron-gyp"- {- echo -e '\n'- #echo 'build_from_source=true'- echo "cache=${srcdir}/.npm_cache"- } >> .npmrc- if [[ "$(curl -s ipinfo.io/country)" == *"CN"* ]]; then- {- echo 'registry=https://registry.npmmirror.com'- echo 'electron_mirror=https://registry.npmmirror.com/-/binary/electron/'- echo 'electron_builder_binaries_mirror=https://registry.npmmirror.com/-/binary/electron-builder-binaries/'- } >> .npmrc- find ./ -type f -name "package-lock.json" -exec sed -i "s/registry.npmjs.org/registry.npmmirror.com/g" {} +- fi+ _set_build_env cp assets/logo-small.png assets/icon.png mv src/components/UI src/components/ui mv src/components/Toolbar src/components/toolbar@@ -75,20 +92,24 @@ mv src/components/ui/Pagination src/components/ui/pagination find src -type f -exec sed -i "s/process.resourcesPath/\'\/usr\/lib\/${pkgname%-git}\'/g" {} + sed -i "s/\"electron\": \"[^\"]*\"/\"electron\": \"${SYSTEM_ELECTRON_VERSION}\"/g" package.json- NODE_ENV=development npm install+ export NODE_ENV=development+ npm install } build() { cd "${srcdir}/${pkgname%-git}.git"- local electronDist="/usr/lib/electron${_electronversion}"- NODE_ENV=production npx ts-node ./.erb/scripts/clean.js dist- NODE_ENV=production npm run build- NODE_ENV=production npm exec -c "electron-builder --linux dir -c.electronDist=${electronDist}"+ _ensure_local_nvm+ _set_build_env+ export NODE_ENV=production+ npx ts-node ./.erb/scripts/clean.js dist+ npm run build+ npm exec -c "electron-builder --linux dir -c.electronDist=${ELECTRON_DIST}" } package() { install -Dm755 "${srcdir}/${pkgname%-git}.sh" "${pkgdir}/usr/bin/${pkgname%-git}"- install -Dm644 "${srcdir}/${pkgname%-git}.git/release/build/linux-"*/resources/app.asar -t "${pkgdir}/usr/lib/${pkgname%-git}"- cp -Pr --no-preserve=ownership "${srcdir}/${pkgname%-git}.git/release/build/linux-"*/resources/assets "${pkgdir}/usr/lib/${pkgname%-git}"+ install -Dm755 -d "${pkgdir}/usr/lib/${pkgname%-git}"+ local _app_dir=$(_get_app_dir)+ cp -a "${_app_dir}/resources/." "${pkgdir}/usr/lib/${pkgname%-git}/" install -Dm644 "${srcdir}/${pkgname%-git}.git/assets/logo-small.png" "${pkgdir}/usr/share/pixmaps/${pkgname%-git}.png"- install -Dm644 "${srcdir}/${pkgname%-git}.desktop" -t "${pkgdir}/usr/share/applications"+ install -Dm644 "${srcdir}/${pkgname%-git}.git/${pkgname%-git}.desktop" -t "${pkgdir}/usr/share/applications" } Scan history
| Scanned at (UTC) | Severity | Rules |
|---|---|---|
| 2026-09-21 11:34:50 | Medium | 1 |
| 2026-06-20 16:03:41 | Clean | 2 |
| 2026-06-20 00:50:07 | Medium | 2 |
| 2026-06-20 00:18:46 | Medium | 1 |
| 2026-06-19 23:51:18 | Medium | 2 |
| 2026-06-19 19:07:35 | Low | 2 |
| 2026-06-18 16:11:54 | Medium | 1 |