#!/bin/bash
# One-time fix when upgrading from CementERP 1.1.0–1.1.2 on Fedora.
# Newer builds (1.1.3+) have a fixed uninstall script.
set -euo pipefail

RPM_FILE="${1:-CementERP-Fedora.rpm}"

if [[ ! -f "$RPM_FILE" ]]; then
  echo "Usage: $0 [path/to/CementERP-Fedora.rpm]" >&2
  echo "Download: curl -kLO https://72.60.237.96/downloads/fedora/CementERP-Fedora.rpm" >&2
  exit 1
fi

if ! rpm -q cement-erp-desktop &>/dev/null; then
  echo "==> Fresh install"
  sudo dnf install "./$RPM_FILE" -y
else
  INSTALLED_VER="$(rpm -q cement-erp-desktop --queryformat '%{VERSION}-%{RELEASE}')"
  echo "==> Installed: cement-erp-desktop $INSTALLED_VER"

  if [[ "$INSTALLED_VER" == 1.1.3-* ]] || [[ "$INSTALLED_VER" > 1.1.3 ]]; then
    echo "==> Normal upgrade"
    sudo dnf upgrade "./$RPM_FILE" -y || sudo dnf reinstall "./$RPM_FILE" -y
  else
    echo "==> Removing old build without broken scriptlet (1.1.2 and earlier)"
    sudo rm -f /usr/bin/cement-erp
    sudo rpm -e --noscripts cement-erp-desktop || true
    sudo dnf install "./$RPM_FILE" -y
  fi
fi

# Ensure launcher symlink exists (dnf skip may leave this missing).
if [[ -x /opt/CementERP/cement-erp ]]; then
  sudo ln -sf /opt/CementERP/cement-erp /usr/bin/cement-erp
  echo "==> Done. Launch: cement-erp --no-sandbox"
else
  echo "ERROR: /opt/CementERP/cement-erp not found — reinstall the .rpm" >&2
  exit 1
fi
