mirror of
https://github.com/kasmtech/KasmVNC.git
synced 2025-07-21 00:03:24 +02:00
87 lines
2.1 KiB
Bash
Executable File
87 lines
2.1 KiB
Bash
Executable File
#!/bin/bash
|
|
|
|
set -e
|
|
|
|
if [[ -n "$1" ]]; then
|
|
tag="$1"
|
|
fi
|
|
|
|
is_debian() {
|
|
[[ -f /etc/debian_version ]]
|
|
}
|
|
|
|
is_alpine() {
|
|
[[ -f /etc/alpine-release ]]
|
|
}
|
|
|
|
check_package_version_exists() {
|
|
if ! stat /tmp/kasmvncserver_"$package_version"*.deb; then
|
|
>&2 echo "No package found for version $package_version"
|
|
exit 1
|
|
fi
|
|
}
|
|
|
|
remove_tagged_debs_unless_tag_used() {
|
|
if [[ -n "$tag" ]]; then
|
|
return
|
|
fi
|
|
|
|
rm -f /tmp/kasmvncserver_*+*.deb
|
|
}
|
|
|
|
detect_rpm_package_manager() {
|
|
if command -v dnf >/dev/null; then
|
|
rpm_package_manager=dnf
|
|
else
|
|
rpm_package_manager=yum
|
|
fi
|
|
}
|
|
|
|
install_package_built_for_current_branch_package_version_deb() {
|
|
remove_tagged_debs_unless_tag_used
|
|
|
|
apt-get update
|
|
apt-get install -y dpkg-dev
|
|
package_version=$(dpkg-parsechangelog --show-field Version \
|
|
--file /tmp/changelog)
|
|
|
|
check_package_version_exists
|
|
dpkg_arch=$(dpkg-architecture -q DEB_BUILD_ARCH)
|
|
apt-get install -y /tmp/kasmvncserver_"$package_version"*"$tag"*_${dpkg_arch}.deb
|
|
}
|
|
|
|
detect_dnf_command() {
|
|
if command -v dnf5 >/dev/null; then
|
|
echo dnf install -y --allowerasing
|
|
else
|
|
echo dnf localinstall -y --allowerasing
|
|
fi
|
|
}
|
|
|
|
install_package_built_for_current_branch_package_version_rpm() {
|
|
detect_rpm_package_manager
|
|
$rpm_package_manager install -y rpmdevtools
|
|
|
|
package_version=$(rpmspec -q --qf '%{version}\n' /tmp/kasmvncserver.spec 2>/dev/null)
|
|
package_name=/tmp/kasmvncserver-"$package_version"*.$(arch).rpm
|
|
if [[ $rpm_package_manager = "dnf" ]]; then
|
|
local dnf_cmd=$(detect_dnf_command)
|
|
$dnf_cmd $package_name
|
|
else
|
|
yum install -y $package_name
|
|
fi
|
|
}
|
|
|
|
install_package_built_for_current_branch_package_version_apk() {
|
|
package_version=$(sed -n 's/pkgver=\(.\+\)/\1/p' /tmp/APKBUILD )
|
|
apk add /tmp/kasmvncserver-"$package_version"*.apk /tmp/kasmvncserver-doc-"$package_version"*.apk --allow-untrusted
|
|
}
|
|
|
|
if is_debian ; then
|
|
install_package_built_for_current_branch_package_version_deb
|
|
elif is_alpine; then
|
|
install_package_built_for_current_branch_package_version_apk
|
|
else
|
|
install_package_built_for_current_branch_package_version_rpm
|
|
fi
|