_services="system76.service" _stop_services() { /usr/bin/systemctl stop $_services >/dev/null 2>&1 } _disable_services() { /usr/bin/systemctl disable $_services >/dev/null 2>&1 /usr/bin/systemctl reset-failed $_services >/dev/null 2>&1 } _restore_services() { for service in $_services; do if /usr/bin/systemctl -q is-enabled $service >/dev/null 2>&1; then /usr/bin/systemctl start $service > /dev/null 2>&1 fi done } _remove_symlink() { if [ -L $1 ] && [ "$(readlink -f $1)" = "$2" ]; then rm $1 fi } post_install() { cat << EOF The System76 Driver package provides the following system services: system76.service System76 airplane-mode hotkey and LED support (!) To use system76.service, you must add "ec_sys.write_support=1" to your kernel command line (!) For Clevo W740SU BIOS/Firmware users on Galago UltraPro: your will need to create /etc/system76-daemon.json file with following content: { "vendor": "System76, Inc", "model": "galu1" } (!) If you experience Wifi or Thunderbolt issues after resuming from suspend, consider using the included restart scripts: ln -s /usr/lib/system76-driver/system76-nm-restart /lib/systemd/system-sleep/system76-nm-restart ln -s /usr/lib/system76-driver/system76-thunderbolt-reload /lib/systemd/system-sleep/system76-thunderbolt-reload EOF } pre_upgrade() { _stop_services } post_upgrade() { /usr/bin/systemctl daemon-reload >/dev/null 2>&1 _restore_services post_install } pre_remove() { _stop_services _disable_services # Remove symlinks if target points to package files _remove_symlink /lib/systemd/system-sleep/system76-nm-restart /usr/lib/system76-driver/system76-nm-restart _remove_symlink /lib/systemd/system-sleep/system76-thunderbolt-reload /usr/lib/system76-driver/system76-thunderbolt-reload } post_remove() { /usr/bin/systemctl daemon-reload >/dev/null 2>&1 # Remove leftover file if present rm /etc/xprofile || true }