diff --git a/package-debian-repo.sh b/package-debian-repo.sh new file mode 100755 index 00000000..14e57492 --- /dev/null +++ b/package-debian-repo.sh @@ -0,0 +1,46 @@ +#!/usr/bin/env bash +set -euo pipefail + +# Root directory = the script's location +SCRIPT_DIR="$(cd -- "$(dirname -- "${BASH_SOURCE[0]}")" && pwd)" +cd "$SCRIPT_DIR" + +Version="$1" + +PackagePath="v2rayn-unofficial-repo" +mkdir -p "${PackagePath}/DEBIAN" +mkdir -p "${PackagePath}"/etc/apt/{keyrings,sources.list.d} + +curl -fsSLo "${PackagePath}/etc/apt/keyrings/v2rayn-unofficial.asc" "https://git.vlyaii.ru/api/packages/voronin9032/debian/repository.key" + +# basic +cat >"${PackagePath}/DEBIAN/control" <<-EOF +Package: v2rayn-unofficial-repo +Version: $Version +Maintainer: Vlyaii +Homepage: https://git.vlyaii.ru/voronin9032/v2rayN +Architecture: all +Description: v2rayn-unofficial repository configuration +EOF + +cat >"${PackagePath}/etc/apt/sources.list.d/v2rayn-unofficial.sources" <<-EOF +Types: deb +URIs: https://git.vlyaii.ru/api/packages/voronin9032/debian +Suites: debian +Components: stable +Architectures: amd64 all +Signed-By: /etc/apt/keyrings/v2rayn-unofficial.asc +EOF + +# Patch +# set owner to root:root +sudo chown -R root:root "${PackagePath}" +# set all directories to 755 (readable & traversable by all users) +sudo find "${PackagePath}/etc" -type d -exec chmod 755 {} + +# set all regular files to 644 (readable by all users) +sudo find "${PackagePath}/etc" -type f -exec chmod 644 {} + +# ensure main binaries are 755 (executable by all users) + +# build deb package +sudo dpkg-deb -Zzstd --build "$PackagePath" +sudo mv "${PackagePath}.deb" "v2rayn-unofficial-repo_${Version}_all.deb" diff --git a/package-debian.sh b/package-debian.sh index 58d97482..d3b0f26d 100755 --- a/package-debian.sh +++ b/package-debian.sh @@ -24,7 +24,7 @@ download_xray "$OutputPath/bin/xray" download_singbox "$OutputPath/bin/sing_box" download_geo_assets "$OutputPath" -PackagePath="v2rayN-Package-${Arch}" +PackagePath="v2rayn-unofficial" mkdir -p "${PackagePath}/DEBIAN" mkdir -p "${PackagePath}/opt" cp -rf "$OutputPath" "${PackagePath}/opt/v2rayN" @@ -35,13 +35,13 @@ if [ "$Arch" = "linux-64" ]; then else Arch2="arm64" fi -echo $Arch2 # basic cat >"${PackagePath}/DEBIAN/control" <<-EOF Package: v2rayn-unofficial Version: $Version Maintainer: Vlyaii +Homepage: https://git.vlyaii.ru/voronin9032/v2rayN Architecture: $Arch2 Replaces: v2rayN, v2rayn Depends: desktop-file-utils, xdg-utils @@ -84,5 +84,5 @@ sudo chmod 755 "${PackagePath}/opt/v2rayN/AmazTool" 2>/dev/null || true # build deb package sudo dpkg-deb -Zzstd --build "$PackagePath" -sudo mv "${PackagePath}.deb" "v2rayN-${Arch}.deb" +sudo mv "${PackagePath}.deb" "v2rayn-unofficial_${Version}_${Arch2}.deb" sudo rm -rf "$OutputPath"