Files
G-Radio-Player/instalar.sh
T
cescobar 03084e2d5a Commit inicial: G Radio Player
Sistema de automatización de radio en Rust (GTK4 + GStreamer): reproductor
principal con crossfade y ducking, scheduler de comerciales, refill de
playlist, y herramientas auxiliares (pautaje, parrilla, botonera, visor,
buscador, playlist, grabador, reportes). Incluye sistema de skins y modos
de Players (paneles de reproducción configurables).
2026-08-23 00:57:40 -05:00

64 lines
2.3 KiB
Bash
Executable File

#!/bin/bash
# instalar.sh — Instala G Radio Player parcheando el prerm roto de versiones anteriores
set -e
cd "$(dirname "$0")"
ARCH="$(dpkg --print-architecture 2>/dev/null || uname -m | sed 's/x86_64/amd64/;s/aarch64/arm64/')"
DEB=""
# Detectar el .deb para esta arquitectura
for candidate in \
"gradio-player_"*"_${ARCH}.deb" \
"gradio-player_"*"_${ARCH}_bookworm.deb"; do
# shellcheck disable=SC2144
if ls $candidate 2>/dev/null | head -1 | grep -q .; then
DEB="$(ls $candidate 2>/dev/null | sort -V | tail -1)"
break
fi
done
if [ -z "$DEB" ]; then
echo "ERROR: No se encontró ningún .deb para arquitectura '$ARCH' en el directorio actual."
echo " Ejecuta este script desde la carpeta que contiene el .deb."
exit 1
fi
echo "==> Instalando: $DEB"
# Parchear prerm y postrm instalados si tienen bugs históricos
PRERM="/var/lib/dpkg/info/gradio-player.prerm"
POSTRM="/var/lib/dpkg/info/gradio-player.postrm"
if [ -f "$PRERM" ] && grep -q "pkill" "$PRERM"; then
echo "==> Parcheando prerm instalado (contiene pkill — bug conocido)..."
printf '#!/bin/bash\nexit 0\n' | sudo tee "$PRERM" > /dev/null
fi
if [ -f "$POSTRM" ] && ! grep -q 'case "\$1"' "$POSTRM"; then
echo "==> Parcheando postrm instalado (borra archivos en upgrade — bug conocido)..."
sudo tee "$POSTRM" > /dev/null << 'POSTRM_FIX'
#!/bin/bash
case "$1" in
remove|purge)
for BIN in radio-player comercial-scheduler playlist-refill \
gradio.sh gr-buscador gr-playlist gr-pautaje gr-parrilla \
gr-botonera gr-visor gr-reportes gr-record; do
rm -f "/usr/local/bin/$BIN"
done
rm -rf /usr/local/share/radio-player
rm -f /usr/share/applications/com.gradio.radio-player.desktop
rm -f /usr/share/applications/gradio-player.desktop
rm -f /usr/share/icons/hicolor/48x48/apps/gradio-player.png
command -v gtk-update-icon-cache &>/dev/null && gtk-update-icon-cache -f -t /usr/share/icons/hicolor 2>/dev/null || true
command -v update-desktop-database &>/dev/null && update-desktop-database /usr/share/applications 2>/dev/null || true
;;
esac
POSTRM_FIX
sudo chmod 755 "$POSTRM"
fi
sudo dpkg -i "$DEB"
echo ""
echo "✅ Instalación completa. Ejecutar: gradio.sh"