Package repository configuration as a package
This commit is contained in:
46
package-debian-repo.sh
Executable file
46
package-debian-repo.sh
Executable file
@@ -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 <voronin9032n3@gmail.com>
|
||||||
|
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"
|
||||||
@@ -24,7 +24,7 @@ download_xray "$OutputPath/bin/xray"
|
|||||||
download_singbox "$OutputPath/bin/sing_box"
|
download_singbox "$OutputPath/bin/sing_box"
|
||||||
download_geo_assets "$OutputPath"
|
download_geo_assets "$OutputPath"
|
||||||
|
|
||||||
PackagePath="v2rayN-Package-${Arch}"
|
PackagePath="v2rayn-unofficial"
|
||||||
mkdir -p "${PackagePath}/DEBIAN"
|
mkdir -p "${PackagePath}/DEBIAN"
|
||||||
mkdir -p "${PackagePath}/opt"
|
mkdir -p "${PackagePath}/opt"
|
||||||
cp -rf "$OutputPath" "${PackagePath}/opt/v2rayN"
|
cp -rf "$OutputPath" "${PackagePath}/opt/v2rayN"
|
||||||
@@ -35,13 +35,13 @@ if [ "$Arch" = "linux-64" ]; then
|
|||||||
else
|
else
|
||||||
Arch2="arm64"
|
Arch2="arm64"
|
||||||
fi
|
fi
|
||||||
echo $Arch2
|
|
||||||
|
|
||||||
# basic
|
# basic
|
||||||
cat >"${PackagePath}/DEBIAN/control" <<-EOF
|
cat >"${PackagePath}/DEBIAN/control" <<-EOF
|
||||||
Package: v2rayn-unofficial
|
Package: v2rayn-unofficial
|
||||||
Version: $Version
|
Version: $Version
|
||||||
Maintainer: Vlyaii <voronin9032n3@gmail.com>
|
Maintainer: Vlyaii <voronin9032n3@gmail.com>
|
||||||
|
Homepage: https://git.vlyaii.ru/voronin9032/v2rayN
|
||||||
Architecture: $Arch2
|
Architecture: $Arch2
|
||||||
Replaces: v2rayN, v2rayn
|
Replaces: v2rayN, v2rayn
|
||||||
Depends: desktop-file-utils, xdg-utils
|
Depends: desktop-file-utils, xdg-utils
|
||||||
@@ -84,5 +84,5 @@ sudo chmod 755 "${PackagePath}/opt/v2rayN/AmazTool" 2>/dev/null || true
|
|||||||
|
|
||||||
# build deb package
|
# build deb package
|
||||||
sudo dpkg-deb -Zzstd --build "$PackagePath"
|
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"
|
sudo rm -rf "$OutputPath"
|
||||||
|
|||||||
Reference in New Issue
Block a user