fix: improve Ubuntu and derivatives support in install scripts
Some checks are pending
Build & Release / Build & test (push) Waiting to run
Build & Release / Build .deb (push) Blocked by required conditions

This commit is contained in:
Khoa Vo 2026-07-01 08:12:47 +07:00
parent d7260917b4
commit d34180537a
2 changed files with 26 additions and 7 deletions

View file

@ -27,6 +27,7 @@ detect_distro() {
if [ -f /etc/os-release ]; then
. /etc/os-release
DISTRO=$ID
DISTRO_LIKE=${ID_LIKE:-""}
else
echo -e "${RED}Error: Cannot detect Linux distribution (/etc/os-release missing).${NC}"
exit 1
@ -40,12 +41,13 @@ install_dependencies() {
echo -e "Installing ${mode} dependencies..."
case "$DISTRO" in
ubuntu|debian|raspbian|pop|mint|linuxmint|neon)
ubuntu|debian|raspbian|pop|mint|linuxmint|neon|zorin|elementary)
export DEBIAN_FRONTEND=noninteractive
apt-get update -y
if [ "$mode" = "build" ]; then
apt-get install -y build-essential pkg-config libx11-dev libxtst-dev libdbus-1-dev libevdev-dev
apt-get install -y build-essential pkg-config libx11-dev libxtst-dev libdbus-1-dev libevdev-dev libwayland-dev curl
fi
apt-get install -y libevdev2 libdbus-1-3 libx11-6 libxtst6 xclip wl-clipboard
apt-get install -y libevdev2 libdbus-1-3 libx11-6 libxtst6 xclip wl-clipboard libwayland-client0 curl
;;
fedora|rhel|centos)
if [ "$mode" = "build" ]; then
@ -60,11 +62,20 @@ install_dependencies() {
pacman -Sy --needed --noconfirm libevdev libx11 libxtst dbus xclip wl-clipboard
;;
*)
if [[ "$DISTRO_LIKE" == *"ubuntu"* || "$DISTRO_LIKE" == *"debian"* ]]; then
export DEBIAN_FRONTEND=noninteractive
apt-get update -y
if [ "$mode" = "build" ]; then
apt-get install -y build-essential pkg-config libx11-dev libxtst-dev libdbus-1-dev libevdev-dev libwayland-dev curl
fi
apt-get install -y libevdev2 libdbus-1-3 libx11-6 libxtst6 xclip wl-clipboard libwayland-client0 curl
else
echo -e "${YELLOW}Warning: Unsupported distribution '${DISTRO}'. Please make sure you have the following packages installed manually:${NC}"
echo -e " - libevdev, libdbus-1, libx11, libxtst, xclip, wl-clipboard"
if [ "$mode" = "build" ]; then
echo -e " - gcc, pkg-config, and development headers for the above libraries."
fi
fi
;;
esac
}
@ -190,6 +201,10 @@ echo "Installing desktop launcher..."
mkdir -p /usr/share/applications
cp "$FILE_DESKTOP" /usr/share/applications/
if command -v update-desktop-database >/dev/null 2>&1; then
update-desktop-database /usr/share/applications >/dev/null 2>&1 || true
fi
# 5. Install Systemd User Service
echo "Installing systemd user service..."
mkdir -p /usr/lib/systemd/user

View file

@ -38,6 +38,10 @@ echo "Removing desktop files and autostart..."
rm -f /usr/share/applications/vietc.desktop
rm -f /etc/xdg/autostart/vietc-tray.desktop
if command -v update-desktop-database >/dev/null 2>&1; then
update-desktop-database /usr/share/applications >/dev/null 2>&1 || true
fi
echo "Removing systemd service..."
rm -f /usr/lib/systemd/user/vietc.service