Compare commits

..

7 commits

Author SHA1 Message Date
JieXu
e971c77d41
Merge 4812b388e4 into eb0ef90ed2 2026-03-17 17:01:16 +00:00
JieXu
4812b388e4
Update package-debian.sh 2026-03-18 01:01:13 +08:00
JieXu
d32a1e559c
Update package-rhel.sh 2026-03-18 00:27:44 +08:00
JieXu
de4fb23450
Update package-debian.sh 2026-03-18 00:22:50 +08:00
JieXu
3b1d1cc984
Update package-debian.sh 2026-03-18 00:02:07 +08:00
JieXu
89e0fc20eb
Update package-rhel.sh 2026-03-17 23:42:39 +08:00
JieXu
2010187fde
Update package-debian.sh 2026-03-17 23:38:03 +08:00
2 changed files with 20 additions and 28 deletions

View file

@ -248,7 +248,7 @@ download_xray() {
tmp="$(mktemp -d)"
curl -fL "$url" -o "$tmp/$zipname"
unzip -q "$tmp/$zipname" -d "$tmp"
install -Dm755 "$tmp/xray" "$outdir/xray"
install -m 755 "$tmp/xray" "$outdir/xray"
rm -rf "$tmp"
}
@ -271,7 +271,7 @@ download_singbox() {
tar -C "$tmp" -xzf "$tmp/$tarname"
bin="$(find "$tmp" -type f -name 'sing-box' | head -n1 || true)"
[[ -n "$bin" ]] || { echo "[!] sing-box unpack failed"; rm -rf "$tmp"; return 1; }
install -Dm755 "$bin" "$outdir/sing-box"
install -m 755 "$bin" "$outdir/sing-box"
rm -rf "$tmp"
}
@ -444,7 +444,7 @@ build_for_arch() {
fi
# Wrapper
cat > "$STAGE/usr/bin/v2rayn" <<'EOF'
install -m 755 /dev/stdin "$STAGE/usr/bin/v2rayn" <<'EOF'
#!/usr/bin/env bash
set -euo pipefail
DIR="/opt/v2rayN"
@ -464,7 +464,6 @@ echo "v2rayN launcher: no executable found in $DIR" >&2
ls -l "$DIR" >&2 || true
exit 1
EOF
chmod 0755 "$STAGE/usr/bin/v2rayn"
SHLIBS_DEPENDS=""
EXTRA_DEPENDS="libc6 (>= 2.34), fontconfig (>= 2.13.1), desktop-file-utils (>= 0.26), xdg-utils (>= 1.1.3), coreutils (>= 8.32), bash (>= 5.1), libfreetype6 (>= 2.11)"
@ -484,16 +483,10 @@ EOF
local SYS_LIBDIR=""
local SYS_USRLIBDIR=""
case "$deb_arch" in
amd64)
SYS_LIBDIR="/lib/x86_64-linux-gnu"
SYS_USRLIBDIR="/usr/lib/x86_64-linux-gnu"
;;
arm64)
SYS_LIBDIR="/lib/aarch64-linux-gnu"
SYS_USRLIBDIR="/usr/lib/aarch64-linux-gnu"
;;
esac
multiarch="$(dpkg-architecture -a"$deb_arch" -qDEB_HOST_MULTIARCH)"
SYS_LIBDIR="/lib/$multiarch"
SYS_USRLIBDIR="/usr/lib/$multiarch"
: > "$DEBIAN_DIR/substvars"
mapfile -t ELF_FILES < <(
@ -524,7 +517,7 @@ EOF
fi
# Desktop file
cat > "$STAGE/usr/share/applications/v2rayn.desktop" <<'EOF'
install -m 644 /dev/stdin "$STAGE/usr/share/applications/v2rayn.desktop" <<'EOF'
[Desktop Entry]
Type=Application
Name=v2rayN
@ -534,7 +527,6 @@ Icon=v2rayn
Terminal=false
Categories=Network;
EOF
chmod 0644 "$STAGE/usr/share/applications/v2rayn.desktop"
# Control file
cat > "$DEBIAN_DIR/control" <<EOF
@ -552,7 +544,7 @@ Description: v2rayN (Avalonia) GUI client for Linux
EOF
# postinst
cat > "$DEBIAN_DIR/postinst" <<'EOF'
install -m 755 /dev/stdin "$DEBIAN_DIR/postinst" <<'EOF'
#!/bin/sh
set -e
update-desktop-database /usr/share/applications >/dev/null 2>&1 || true
@ -561,10 +553,9 @@ if command -v gtk-update-icon-cache >/dev/null 2>&1; then
fi
exit 0
EOF
chmod 0755 "$DEBIAN_DIR/postinst"
# postrm
cat > "$DEBIAN_DIR/postrm" <<'EOF'
install -m 755 /dev/stdin "$DEBIAN_DIR/postrm" <<'EOF'
#!/bin/sh
set -e
update-desktop-database /usr/share/applications >/dev/null 2>&1 || true
@ -573,15 +564,12 @@ if command -v gtk-update-icon-cache >/dev/null 2>&1; then
fi
exit 0
EOF
chmod 0755 "$DEBIAN_DIR/postrm"
# Normalize permissions
find "$STAGE/opt/v2rayN" -type d -exec chmod 0755 {} +
find "$STAGE/opt/v2rayN" -type f -exec chmod 0644 {} +
[[ -f "$STAGE/opt/v2rayN/v2rayN" ]] && chmod 0755 "$STAGE/opt/v2rayN/v2rayN" || true
[[ -f "$STAGE/opt/v2rayN/bin/xray/xray" ]] && chmod 0755 "$STAGE/opt/v2rayN/bin/xray/xray" || true
[[ -f "$STAGE/opt/v2rayN/bin/sing_box/sing-box" ]] && chmod 0755 "$STAGE/opt/v2rayN/bin/sing_box/sing-box" || true
local deb_out
deb_out="$OUTPUT_DIR/v2rayn_${VERSION}_${deb_arch}.deb"

View file

@ -226,7 +226,7 @@ download_xray() {
tmp="$(mktemp -d)"; trap '[[ -n "${tmp:-}" ]] && rm -rf "$tmp"' RETURN
curl -fL "$url" -o "$tmp/$zipname"
unzip -q "$tmp/$zipname" -d "$tmp"
install -Dm755 "$tmp/xray" "$outdir/xray"
install -m 755 "$tmp/xray" "$outdir/xray"
}
download_singbox() {
@ -249,7 +249,7 @@ download_singbox() {
tar -C "$tmp" -xzf "$tmp/$tarname"
bin="$(find "$tmp" -type f -name 'sing-box' | head -n1 || true)"
[[ -n "$bin" ]] || { echo "[!] sing-box unpack failed"; return 1; }
install -Dm755 "$bin" "$outdir/sing-box"
install -m 755 "$bin" "$outdir/sing-box"
}
# Move geo files to outroot/bin
@ -484,9 +484,14 @@ https://github.com/2dust/v2rayN
install -dm0755 %{buildroot}/opt/v2rayN
cp -a * %{buildroot}/opt/v2rayN/
# Normalize permissions
find %{buildroot}/opt/v2rayN -type d -exec chmod 0755 {} +
find %{buildroot}/opt/v2rayN -type f -exec chmod 0644 {} +
[ -f %{buildroot}/opt/v2rayN/v2rayN ] && chmod 0755 %{buildroot}/opt/v2rayN/v2rayN || :
# Launcher (prefer native ELF first, then DLL fallback)
install -dm0755 %{buildroot}%{_bindir}
cat > %{buildroot}%{_bindir}/v2rayn << 'EOF'
install -m0755 /dev/stdin %{buildroot}%{_bindir}/v2rayn << 'EOF'
#!/usr/bin/bash
set -euo pipefail
DIR="/opt/v2rayN"
@ -503,11 +508,10 @@ echo "v2rayN launcher: no executable found in $DIR" >&2
ls -l "$DIR" >&2 || true
exit 1
EOF
chmod 0755 %{buildroot}%{_bindir}/v2rayn
# Desktop file
install -dm0755 %{buildroot}%{_datadir}/applications
cat > %{buildroot}%{_datadir}/applications/v2rayn.desktop << 'EOF'
install -m0644 /dev/stdin %{buildroot}%{_datadir}/applications/v2rayn.desktop << 'EOF'
[Desktop Entry]
Type=Application
Name=v2rayN