#!/bin/bash

chmod +x /usr/lib/portmaster/portmaster-core

#
# Fix selinux permissions for portmaster-core if we have semanage
# available.
#
if command -V semanage >/dev/null 2>&1; then
    semanage fcontext -a -t bin_t -s system_u $(realpath /usr/lib)'/portmaster/portmaster-core' || :
    restorecon -R /usr/lib/portmaster/portmaster-core 2>/dev/null >&2 || :
fi

# Migration from v1
OLD_INSTALLATION_DIR="/opt/safing/portmaster"
MIGRATED_FILE_FLAG="$OLD_INSTALLATION_DIR/migrated.txt"

if [ -d "$OLD_INSTALLATION_DIR" ]; then
    if [ ! -e "$MIGRATED_FILE_FLAG" ]; then
        echo "Starting migration form v1"

        # Becoause the service file need to change path, first the links to the old service needs to be removed.
        systemctl stop portmaster.service
        systemctl disable portmaster.service

        # Migrate config
        cp -r $OLD_INSTALLATION_DIR/databases /var/lib/portmaster
        cp -r $OLD_INSTALLATION_DIR/config.json /var/lib/portmaster/config.json

        # Remove shortcut
        rm /etc/xdg/autostart/portmaster_notifier.desktop
        rm /usr/share/applications/portmaster_notifier.desktop

        touch $MIGRATED_FILE_FLAG
        echo "Migration complete"
    fi
fi

mv /usr/bin/portmaster /usr/lib/portmaster/portmaster
ln -s /usr/lib/portmaster/portmaster /usr/bin/portmaster 

systemctl daemon-reload
systemctl enable portmaster.service

echo "Please reboot your system"
