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_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 <voronin9032n3@gmail.com>
|
||||
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"
|
||||
|
||||
Reference in New Issue
Block a user