Skip to content

NEWS Debian 13.x support - #83

Open
EA7JRS wants to merge 11 commits into
PhirePhly:masterfrom
EA7JRS:master
Open

NEWS Debian 13.x support#83
EA7JRS wants to merge 11 commits into
PhirePhly:masterfrom
EA7JRS:master

Conversation

@EA7JRS

@EA7JRS EA7JRS commented Jul 5, 2026

Copy link
Copy Markdown
  1. Modernización del Código para Debian 13.xDebian 13 introduce versiones muy recientes de GCC (GCC 13/14), las cuales son estrictas con las advertencias (warnings) y errores de tipos de datos en C.Corregir prototipos y tipos implícitos: El código original de aprx abusa de declaraciones antiguas. Debes revisar y actualizar las cabeceras (.h) para que coincidan exactamente con las firmas de función en los archivos .c, evitando errores de compilación habituales en Debian 13 como -Wimplicit-function-declaration.Actualizar el manejo de sockets e IPv6: Modifica el archivo aprsis.c y netresolver.c para que prioricen por defecto getaddrinfo() sobre las funciones obsoletas como gethostbyname(). Esto asegura la plena compatibilidad con las redes IPv6 nativas de los servidores modernos de APRS-IS.Parches de tiempo (Year 2038): Asegúrate de que las variables que gestionan marcas de tiempo utilicen tipos time_t de 64 bits para evitar problemas futuros en sistemas operativos modernos de 32 y 64 bits.
  2. Integración y Optimización de la Tecnología LoRaDado que LoRa APRS utiliza un formato de paquetes ligeramente distinto en RF (compresión extrema para optimizar el tiempo de emisión), puedes mejorar el repositorio añadiendo soporte nativo en el código para procesar estas particularidades de manera inteligente.Crear un filtro específico para tramas LoRa (filter.c): Añade lógica en el sistema de filtros de aprx para identificar paquetes provenientes de pasarelas LoRa. Los rastreadores LoRa suelen emitir balizas con comentarios compactos o extensiones de datos que no necesitan procesamiento de retransmisión (digipeating) tradicional en VHF, por lo que discriminar estas interfaces evitará saturar la CPU.Soporte nativo para tramas de "D-PRS" a LoRa: Modifica dprsgw.c o añade un módulo homólogo para traducir tramas complejas de voz digital a formatos de texto plano ultra-compresibles aptos para ser inyectados hacia módems de radio LoRa.Suavizado de telemetría de Erlang para LoRa: El monitor de Erlang integrado en aprx mide los bytes por intervalo. Las redes LoRa operan a velocidades muy bajas (ej. 1200 bps o menos con modulaciones específicas). Puedes modificar erlang.c para que los contadores de tráfico calculen de forma diferenciada la saturación del canal cuando se trata de una interfaz identificada como LoRa, adaptando los intervalos de reporte de telemetría a 30 o 60 minutos en lugar de los 20 fijos por defecto.
    Automatización y Empaquetado ModernoPara facilitar el despliegue en Debian 13 y mantener el código limpio, es conveniente reestructurar los scripts de instalación del repositorio.Migrar a CMake: Reemplaza los archivos configure.in y Makefile.in por un único CMakeLists.txt. Esto te permitirá gestionar de forma automática las dependencias críticas (como libssl-dev) y configurar flags de optimización modernos (-O2, -Wall, -Wextra) con solo un par de líneas de código.Actualizar el script de Systemd: El repositorio original cuenta con configuraciones antiguas de inicio (estilo SystemV/init.d).

Añade un archivo de servicio nativo de Systemd (aprx.service) moderno que aproveche las directivas de seguridad de Debian 13 (como ProtectSystem=full y PrivateTmp=true) para aislar el proceso del demonio:
ini
[Unit]
Description=APRS Digipeater and Internet Gateway Daemon
After=network.target

[Service]
Type=forking
PIDFile=/var/run/aprx.pid
ExecStart=/usr/local/sbin/aprx -f /etc/aprx.conf
Restart=on-failure
ProtectSystem=full

[Install]
WantedBy=multi-user.target

EA7JRS added 11 commits July 5, 2026 10:28
Set up CMake configuration for the aprx project with C11 standard, required dependencies, and installation rules.
Added instructions for compiling from source on Debian 13.x.
Added LORA stream sanitization and KISS frame processing improvements.
Updated the installation instructions to clone a new repository for aprx.
Removed 'hlog.c' from the list of source files.
Updated installation instructions for APRS-LoRa, including new clone command and build steps.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant