flatpak.sh 1.77 KB
Newer Older
1 2 3 4 5 6 7 8 9 10
#!/bin/sh

[ "$1" != "--run" ] && echo "Add flatpak support to system" && exit

. $(dirname $0)/common.sh

assure_root

[ "$(epm print info -s)" = "alt" ] || fatal "Only ALTLinux is supported"

11
# Исправляет ошибку "enabling unprivileged user namespaces" без перезагрузки
12 13
a= sysctl -w kernel.unprivileged_userns_clone=1

14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
install_portals=""

while read -r window_manager package ; do
    if epm installed $window_manager </dev/null ; then
        install_portals+=" $package"
    fi
done <<EOF
    plasma5-kwin        plasma5-xdg-desktop-portal-kde
    deepin-kwin2        xdg-desktop-portal-dde
    gnome-shell         xdg-desktop-portal-gnome
    xfwm4               xdg-desktop-portal-gtk
    mate-window-manager xdg-desktop-portal-gtk
    sway                xdg-desktop-portal-wlr
    hyprland            xdg-desktop-portal-hyprland
    muffin              xdg-desktop-portal-xapp
    liblxqt             xdg-desktop-portal-lxqt
    lxde-common         xdg-desktop-portal-gtk
31
    kwin                xdg-desktop-portal-kde
32 33 34 35
EOF

epm install --skip-installed $install_portals xdg-desktop-portal

36
epm install --skip-installed flatpak flatpak-repo-flathub sysctl-conf-userns
37 38

if epm installed plasma5-discover ; then
39
    epm install --skip-installed plasma5-discover-flatpak
40 41
fi

42 43 44 45
if epm installed plasma-discover ; then
    epm install --skip-installed plasma-discover-flatpak
fi

46
# Без перезагрузки dbus, порталы не заработают
47
serv dbus reload
48

49 50 51 52
# C версии 0.10.0-alt1.1 bubblewrap собирается с опцией priv_mode=none поэтому фикс не нужен
if [ ! $(epm depends bubblewrap | grep sysctl-conf-userns) ]; then
    epm prescription bwrap-fix
fi
53 54

echo "You need to log out of the session for flatpak to work."