From c4e110c23ed2bf57edd3ddf1406eb03ef4c62ab1 Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Mon, 10 Mar 2025 15:22:55 +0100 Subject: [PATCH] Add debian files --- debian/changelog | 14 ++++++++++ debian/compat | 1 + debian/control | 13 +++++++++ debian/debhelper-build-stamp | 1 + debian/files | 2 ++ debian/oggui.config | 10 +++++++ debian/oggui.install | 9 +++++++ debian/oggui.postinst | 51 +++++++++++++++++++++++++++++++++++ debian/oggui.postrm | 32 ++++++++++++++++++++++ debian/oggui.postrm.debhelper | 6 +++++ debian/oggui.preinst | 15 +++++++++++ debian/oggui.templates | 5 ++++ debian/rules | 20 ++++++++++++++ 13 files changed, 179 insertions(+) create mode 100644 debian/changelog create mode 100644 debian/compat create mode 100644 debian/control create mode 100644 debian/debhelper-build-stamp create mode 100644 debian/files create mode 100644 debian/oggui.config create mode 100644 debian/oggui.install create mode 100644 debian/oggui.postinst create mode 100755 debian/oggui.postrm create mode 100644 debian/oggui.postrm.debhelper create mode 100644 debian/oggui.preinst create mode 100644 debian/oggui.templates create mode 100755 debian/rules diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..661a555 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,14 @@ +oggui (1.0.0+develop20250304-1) unstable; urgency=medium + + * refs #1637 refactor: remove unused client edit and create components; add manage client component + * refs #1619. Style: enhance cards view layout and paginator integration in groups component + * refactor: update paginator settings and improve page change handling in groups component + * Merge branch 'develop' of ssh://ognproject.evlt.uma.es:21987/opengnsys/oggui into develop + * style: clean up and optimize CSS for groups component; enhance HTML structure and improve responsiveness + * Updated groups paginator + * Merge branch 'develop' of ssh://ognproject.evlt.uma.es:21987/opengnsys/oggui into develop + * refs #1567. New subnet field: 'dns' + * test: update mock HTTP response in login component tests + * refs #1563. New field groupsView in user + + -- Tu Nombre Tue, 04 Mar 2025 13:53:09 +0100 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..48082f7 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +12 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..629ce11 --- /dev/null +++ b/debian/control @@ -0,0 +1,13 @@ +Source: oggui +Section: web +Priority: optional +Maintainer: Nicolas Arenas +Build-Depends: debhelper (>= 12), nodejs, npm +Standards-Version: 4.5.0 + +Package: oggui +Architecture: any +Maintainer: Nicolas Arenas +Depends: ${shlibs:Depends}, ${misc:Depends}, nginx, nodejs, npm +Description: OpenGnsys GUI + Una interfaz gráfica para OpenGnsys. diff --git a/debian/debhelper-build-stamp b/debian/debhelper-build-stamp new file mode 100644 index 0000000..f1164bb --- /dev/null +++ b/debian/debhelper-build-stamp @@ -0,0 +1 @@ +oggui diff --git a/debian/files b/debian/files new file mode 100644 index 0000000..fabccc0 --- /dev/null +++ b/debian/files @@ -0,0 +1,2 @@ +oggui_1.0.0+develop20250304-1_amd64.buildinfo web optional +oggui_1.0.0+develop20250304-1_amd64.deb web optional diff --git a/debian/oggui.config b/debian/oggui.config new file mode 100644 index 0000000..f0fa9f6 --- /dev/null +++ b/debian/oggui.config @@ -0,0 +1,10 @@ +#!/bin/sh + +set -e + +. /usr/share/debconf/confmodule + +db_input high opengnsys/oggui_ogcoreUrl || true + + +db_go diff --git a/debian/oggui.install b/debian/oggui.install new file mode 100644 index 0000000..a14cbae --- /dev/null +++ b/debian/oggui.install @@ -0,0 +1,9 @@ +ogWebconsole/dist/oggui/browser /opt/opengnsys/oggui/browser/ +etc /opt/opengnsys/oggui/ +bin /opt/opengnsys/oggui/ +var /opt/opengnsys/oggui/ +ogWebconsole/*.json /opt/opengnsys/oggui/src/ +ogWebconsole/*.js /opt/opengnsys/oggui/src/ +ogWebconsole/src /opt/opengnsys/oggui/src/ +ogWebconsole/ssl/* /opt/opengnsys/oggui/etc/nginx/certs/ + diff --git a/debian/oggui.postinst b/debian/oggui.postinst new file mode 100644 index 0000000..651dcb6 --- /dev/null +++ b/debian/oggui.postinst @@ -0,0 +1,51 @@ +#!/bin/bash + +set -e + +. /usr/share/debconf/confmodule + +db_get opengnsys/oggui_ogcoreUrl +OGCORE_URL="$RET" +# Asegurarse de que el usuario exista +USER="opengnsys" +HASH_FILE="/opt/opengnsys/oggui/var/lib/oggui/oggui.config.hash" +CONFIG_FILE="/opt/opengnsys/oggui/src/.env" + + + +# Provisionar base de datos si es necesario en caso de instalación. + + +# Detectar si es una instalación nueva o una actualización +if [ "$1" = "configure" ] && [ -z "$2" ]; then + cd /opt/opengnsys/oggui/src/ + echo NG_APP_BASE_API_URL=$OGCORE_URL > "$CONFIG_FILE" + npm install -g @angular/cli + npm install + /usr/local/bin/ng build --base-href=/ --output-path=dist/oggui --optimization=true --configuration=production --localize=false + cp -pr /opt/opengnsys/oggui/src/dist/oggui/browser/* /opt/opengnsys/oggui/browser/ + md5sum "$CONFIG_FILE" > "$HASH_FILE" + ln -s /opt/opengnsys/oggui/etc/systemd/system/oggui.service /etc/systemd/system/oggui.service + systemctl daemon-reload + systemctl enable oggui +elif [ "$1" = "configure" ] && [ -n "$2" ]; then + cd /opt/opengnsys/oggui + echo "Actualización desde la versión $2" +fi + +# Cambiar la propiedad de los archivos al usuario especificado +chown opengnsys:www-data /opt/opengnsys/ +chown -R opengnsys:www-data /opt/opengnsys/oggui +chmod 755 /opt/opengnsys/oggui/bin/start-oggui.sh +# Install http server stuff +ln -s /opt/opengnsys/oggui/etc/nginx/oggui.conf /etc/nginx/sites-enabled/oggui.conf +mkdir -p /etc/nginx/certs/ +cp -p /opt/opengnsys/oggui/etc/nginx/certs/* /etc/nginx/certs/ +chown -R www-data:www-data /etc/nginx/certs +# Reiniciar servicios si es necesario +# systemctl restart nombre_del_servicio + +systemctl daemon-reload +systemctl restart nginx + +exit 0 diff --git a/debian/oggui.postrm b/debian/oggui.postrm new file mode 100755 index 0000000..6581225 --- /dev/null +++ b/debian/oggui.postrm @@ -0,0 +1,32 @@ +#!/bin/sh + +set -e + + +NGINX_FILE="/etc/nginx/sites-enabled/oggui.conf" +UNIT_FILE="/etc/systemd/system/oggui.service" + + +case "$1" in + remove) + echo "El paquete se está desinstalando..." + # Aquí puedes hacer limpieza de archivos o servicios + if [ -L "$NGINX_FILE" ]; then + rm -f "$NGINX_FILE" + systemctl restart nginx + fi + if [ -L "$UNIT_FILE" ]; then + rm -f "$UNIT_FILE" + systemctl daemon-reload + fi + ;; + purge) + echo "Eliminando configuración residual..." + ;; + + upgrade) + echo "Actualizando paquete..." + ;; +esac + +exit 0 diff --git a/debian/oggui.postrm.debhelper b/debian/oggui.postrm.debhelper new file mode 100644 index 0000000..9535d85 --- /dev/null +++ b/debian/oggui.postrm.debhelper @@ -0,0 +1,6 @@ +# Automatically added by dh_installdebconf/13.14.1ubuntu5 +if [ "$1" = purge ] && [ -e /usr/share/debconf/confmodule ]; then + . /usr/share/debconf/confmodule + db_purge +fi +# End automatically added section diff --git a/debian/oggui.preinst b/debian/oggui.preinst new file mode 100644 index 0000000..dc60472 --- /dev/null +++ b/debian/oggui.preinst @@ -0,0 +1,15 @@ +#!/bin/bash + +set -e + +# Asegurarse de que el usuario exista +USER="opengnsys" +HOME_DIR="/opt/opengnsys" +if id "$USER" &>/dev/null; then + echo "El usuario $USER ya existe." +else + echo "Creando el usuario $USER con home en $HOME_DIR." + useradd -m -d "$HOME_DIR" -s /bin/bash "$USER" +fi + +exit 0 \ No newline at end of file diff --git a/debian/oggui.templates b/debian/oggui.templates new file mode 100644 index 0000000..b4e5863 --- /dev/null +++ b/debian/oggui.templates @@ -0,0 +1,5 @@ +Template: opengnsys/oggui_ogcoreUrl +Type: string +Default: https://127.0.0.1:8443 +Description: Introduzca la URL delAPI de OgCore + diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..e98db95 --- /dev/null +++ b/debian/rules @@ -0,0 +1,20 @@ +#!/usr/bin/make -f + +%: + dh $@ + +override_dh_auto_build: + cd ogWebconsole && npm install + cd ogWebconsole && /usr/local/bin/ng build --base-href=/ --output-path=dist/oggui --optimization=true --configuration=production --localize=false + +override_dh_auto_install: + dh_auto_install + mkdir -p debian/oggui/opt/opengnsys/oggui/browser + mkdir -p debian/oggui/opt/opengnsys/oggui/src/ + cp -pr ogWebconsole/dist/oggui/browser/* debian/oggui/opt/opengnsys/oggui/browser/ + rm -rf debian/oggui/opt/opengnsys/oggui/browser/node_modules + cp -pr etc debian/oggui/opt/opengnsys/oggui/ + cp -pr bin debian/oggui/opt/opengnsys/oggui/ + cp -pr var debian/oggui/opt/opengnsys/oggui/ + cp -p ogWebconsole/.env debian/oggui/opt/opengnsys/oggui/src/ + md5sum debian/oggui/opt/opengnsys/oggui/src/.env > debian/oggui/opt/opengnsys/oggui/var/lib/oggui/oggui.config.hash