From 3a2f96d5e9d2482d1a11ab9a1e35006673310f4d Mon Sep 17 00:00:00 2001 From: Nicolas Arenas Date: Tue, 25 Feb 2025 15:11:21 +0100 Subject: [PATCH] First debian version --- DEBIAN/changelog | 5 +++++ DEBIAN/control | 9 +++++++++ DEBIAN/copyright | 21 +++++++++++++++++++++ DEBIAN/postinst | 35 +++++++++++++++++++++++++++++++++++ DEBIAN/postrm | 32 ++++++++++++++++++++++++++++++++ DEBIAN/preinst | 15 +++++++++++++++ 6 files changed, 117 insertions(+) create mode 100644 DEBIAN/changelog create mode 100644 DEBIAN/control create mode 100644 DEBIAN/copyright create mode 100755 DEBIAN/postinst create mode 100755 DEBIAN/postrm create mode 100755 DEBIAN/preinst diff --git a/DEBIAN/changelog b/DEBIAN/changelog new file mode 100644 index 0000000..5042793 --- /dev/null +++ b/DEBIAN/changelog @@ -0,0 +1,5 @@ +ogrepository (1.0) unstable; urgency=low + + * Initial release. + + -- Your Name Thu, 01 Jan 1970 00:00:00 +0000 diff --git a/DEBIAN/control b/DEBIAN/control new file mode 100644 index 0000000..fae4ad3 --- /dev/null +++ b/DEBIAN/control @@ -0,0 +1,9 @@ +Package: ogrepository +Version: %%VERSION%% +Section: base +Priority: optional +Architecture: all +Depends: git, python3, python3-pip, python3-flask, python3-paramiko, python3-psutil, python3-flasgger, debian-archive-keyring ,samba, gunicorn, wakeonlan +Maintainer: Nicolas Arenas +Description: Description of the ogcore package + This is a longer description of the ogcore package. diff --git a/DEBIAN/copyright b/DEBIAN/copyright new file mode 100644 index 0000000..0dad68a --- /dev/null +++ b/DEBIAN/copyright @@ -0,0 +1,21 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: ogrepository +Source: + +Files: * +Copyright: 2023 Your Name +License: GPL-3+ + This package is free software; you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation; either version 3 of the License, or + (at your option) any later version. + . + This package is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + . + You should have received a copy of the GNU General Public License + along with this package; if not, write to the Free Software + Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, + MA 02110-1301 USA. diff --git a/DEBIAN/postinst b/DEBIAN/postinst new file mode 100755 index 0000000..269a6ad --- /dev/null +++ b/DEBIAN/postinst @@ -0,0 +1,35 @@ +#!/bin/bash + +set -e + +# Asegurarse de que el usuario exista +USER="opengnsys" + + +# 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 + systemd-run --no-block /bin/bash -c "sleep 10; apt update -y && apt install -y bittorrent bittornado ctorrent" + sed -i "s/%%OGREPOSITORY_USER%%/$USER/g" /etc/systemd/system/ogrepo-api.service + sed -i "s/%%OGREPOSITORY_USER%%/$USER/g" /etc/samba/smb.conf.ogrepository + echo "include = /etc/samba/smb.conf.ogrepository" >> /etc/samba/smb.conf + systemctl enable ogrepo-api + systemctl restart smbd +elif [ "$1" = "configure" ] && [ -n "$2" ]; then + 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/ogrepository + +# Install http server stuff +# Reiniciar servicios si es necesario +# systemctl restart nombre_del_servicio + +systemctl daemon-reload +systemctl restart ogrepo-api + +exit 0 diff --git a/DEBIAN/postrm b/DEBIAN/postrm new file mode 100755 index 0000000..6581225 --- /dev/null +++ b/DEBIAN/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/preinst b/DEBIAN/preinst new file mode 100755 index 0000000..dc60472 --- /dev/null +++ b/DEBIAN/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