refact fix: Flatpak (#705)

* Fix flatpak paths

* Refact office suites flatpak

* Merge flatpak_app_exists and command_exists

* Fix binary path bug

* Add apk pgm

---------

Co-authored-by: Chris Titus <contact@christitus.com>
This commit is contained in:
JEEVITHA KANNAN K S 2024-11-01 22:55:11 +05:30 committed by GitHub
parent 5987d0d808
commit d4eacaeab3
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
9 changed files with 54 additions and 62 deletions

View File

@ -3,7 +3,7 @@
. ../../common-script.sh
installMeld() {
if ! command_exists meld; then
if ! command_exists org.gnome.meld && ! command_exists meld; then
printf "%b\n" "${YELLOW}Installing Meld...${RC}"
case "$PACKAGER" in
pacman)
@ -13,7 +13,7 @@ installMeld() {
"$ESCALATION_TOOL" "$PACKAGER" -y install meld
;;
*)
. ../setup-flatpak.sh
checkFlatpak
flatpak install -y flathub org.gnome.meld
;;
esac

View File

@ -3,14 +3,9 @@
. ../common-script.sh
installBottles() {
if ! command_exists flatpak; then
printf "%b\n" "${YELLOW}Installing Bottles...${RC}"
case "$PACKAGER" in
*)
. ./setup-flatpak.sh
flatpak install -y flathub com.usebottles.bottles
;;
esac
if ! command_exists com.usebottles.bottles; then
printf "%b\n" "${YELLOW}Installing Bottles...${RC}"
flatpak install -y flathub com.usebottles.bottles
else
printf "%b\n" "${GREEN}Bottles is already installed.${RC}"
fi
@ -18,4 +13,5 @@ installBottles() {
checkEnv
checkEscalationTool
checkFlatpak
installBottles

View File

@ -3,14 +3,14 @@
. ../../common-script.sh
installSlack() {
if ! command_exists slack; then
if ! command_exists com.slack.Slack && ! command_exists slack; then
printf "%b\n" "${YELLOW}Installing Slack...${RC}"
case "$PACKAGER" in
pacman)
"$AUR_HELPER" -S --needed --noconfirm slack-desktop
;;
*)
. ../setup-flatpak.sh
checkFlatpak
flatpak install -y flathub com.slack.Slack
;;
esac

View File

@ -3,14 +3,14 @@
. ../../common-script.sh
installZoom() {
if ! command_exists zoom; then
if ! command_exists us.zoom.Zoom && ! command_exists zoom; then
printf "%b\n" "${YELLOW}Installing Zoom...${RC}"
case "$PACKAGER" in
pacman)
"$AUR_HELPER" -S --needed --noconfirm zoom
;;
*)
. ../setup-flatpak.sh
checkFlatpak
flatpak install -y flathub us.zoom.Zoom
;;
esac

View File

@ -3,14 +3,14 @@
. ../../common-script.sh
installLibreOffice() {
if ! command_exists libreoffice; then
if ! command_exists org.libreoffice.LibreOffice && ! command_exists libreoffice; then
printf "%b\n" "${YELLOW}Installing Libre Office...${RC}"
case "$PACKAGER" in
apt-get|nala)
"$ESCALATION_TOOL" "$PACKAGER" install -y libreoffice-core
;;
zypper|dnf)
. ./setup-flatpak.sh
checkFlatpak
flatpak install -y flathub org.libreoffice.LibreOffice
;;
pacman)

View File

@ -3,7 +3,7 @@
. ../../common-script.sh
installOnlyOffice() {
if ! command_exists onlyoffice-desktopeditors; then
if ! command_exists org.onlyoffice.desktopeditors && ! command_exists onlyoffice-desktopeditors; then
printf "%b\n" "${YELLOW}Installing Only Office..${RC}."
case "$PACKAGER" in
apt-get|nala)
@ -11,7 +11,7 @@ installOnlyOffice() {
"$ESCALATION_TOOL" "$PACKAGER" install -y ./onlyoffice-desktopeditors_amd64.deb
;;
zypper|dnf)
. ./setup-flatpak.sh
checkFlatpak
flatpak install -y flathub org.onlyoffice.desktopeditors
;;
pacman)

View File

@ -3,14 +3,14 @@
. ../../common-script.sh
installWpsOffice() {
if ! command_exists com.wps.Office; then
if ! command_exists com.wps.Office && ! command_exists wps; then
printf "%b\n" "${YELLOW}Installing WPS Office...${RC}"
case "$PACKAGER" in
pacman)
"$AUR_HELPER" -S --needed --noconfirm wps-office
;;
*)
. ./setup-flatpak.sh
checkFlatpak
flatpak install flathub com.wps.Office
;;
esac

View File

@ -2,9 +2,7 @@
. ../common-script.sh
# Used to detect the desktop environment, Only used for the If statement in the setup_flatpak function.
# Perhaps this should be moved to common-script.sh later on?
detect_de() {
checkDE() {
if [ -n "$XDG_CURRENT_DESKTOP" ]; then
case "$XDG_CURRENT_DESKTOP" in
*GNOME*)
@ -17,42 +15,11 @@ detect_de() {
fi
}
# Install Flatpak if not already installed.
setup_flatpak() {
if ! command_exists flatpak; then
printf "%b\n" "${YELLOW}Installing Flatpak...${RC}"
case "$PACKAGER" in
pacman)
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm flatpak
;;
*)
"$ESCALATION_TOOL" "$PACKAGER" install -y flatpak
;;
esac
printf "%b\n" "Adding Flathub remote..."
"$ESCALATION_TOOL" flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
else
if command_exists flatpak; then
if ! flatpak remotes | grep -q "flathub"; then
printf "%b" "${YELLOW}Detected Flatpak package manager but Flathub remote is not added. Would you like to add it? (y/N): ${RC}"
read -r add_remote
case "$add_remote" in
[Yy]*)
printf "%b\n" "Adding Flathub remote..."
"$ESCALATION_TOOL" flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
;;
esac
else
# Needed mostly for systems without a polkit agent running (Error: updating: Unable to connect to system bus)
printf "%b\n" "${GREEN}Flathub already setup. You can quit.${RC}"
fi
fi
fi
installExtra() {
if [ "$PACKAGER" = "apt-get" ] || [ "$PACKAGER" = "nala" ]; then
detect_de
checkDE
# Only used for Ubuntu GNOME. Ubuntu GNOME doesnt allow flathub to be added as a remote to their store.
# So in case the user wants to use a GUI siftware manager they can setup it here
# So in case the user wants to use a GUI software manager they can setup it here
if [ "$DE" = "GNOME" ]; then
printf "%b" "${YELLOW}Detected GNOME desktop environment. Would you like to install GNOME Software plugin for Flatpak? (y/N): ${RC}"
read -r install_gnome
@ -72,4 +39,5 @@ setup_flatpak() {
checkEnv
checkEscalationTool
setup_flatpak
checkFlatpak
installExtra

View File

@ -9,10 +9,38 @@ CYAN='\033[36m'
GREEN='\033[32m'
command_exists() {
for cmd in "$@"; do
command -v "$cmd" >/dev/null 2>&1 || return 1
done
return 0
for cmd in "$@"; do
export PATH=/home/jeeva/.local/share/flatpak/exports/bin:/var/lib/flatpak/exports/bin:$PATH
command -v "$cmd" >/dev/null 2>&1 || return 1
done
return 0
}
checkFlatpak() {
if ! command_exists flatpak; then
printf "%b\n" "${YELLOW}Installing Flatpak...${RC}"
case "$PACKAGER" in
pacman)
"$ESCALATION_TOOL" "$PACKAGER" -S --needed --noconfirm flatpak
;;
apk)
"$ESCALATION_TOOL" "$PACKAGER" add flatpak
;;
*)
"$ESCALATION_TOOL" "$PACKAGER" install -y flatpak
;;
esac
printf "%b\n" "${YELLOW}Adding Flathub remote...${RC}"
"$ESCALATION_TOOL" flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
printf "%b\n" "${YELLOW}Applications installed by Flatpak may not appear on your desktop until the user session is restarted...${RC}"
else
if ! flatpak remotes | grep -q "flathub"; then
printf "%b\n" "${YELLOW}Adding Flathub remote...${RC}"
"$ESCALATION_TOOL" flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
else
printf "%b\n" "${CYAN}Flatpak is installed${RC}"
fi
fi
}
checkAURHelper() {