Para Flatpak
Similar a Snap, hay una versión Flatpak de Jami que se distribuye en [Flathub] (https://flathub.org/apps/net.jami.Jami).
¿Qué es Flatpak y cómo funciona?
Se recomienda leer la Introducción a Flatpak y Conceptos básicos para tener una comprensión básica de Flatpaks.
Importante
Antes de continuar, instalar el paquete flatpak.
Código fuente
El código fuente de la versión Flatpak es exactamente el mismo que el del cliente de escritorio. Sin embargo, el manifiesto, las dependencias y los parches específicos de Flatpak están alojados en el repositorio oficial de GitHub (según lo requiere Flathub), que se puede encontrar [aquí] (https://github.com/flathub/net.jami.Jami).
Requisitos Previos
Instalar flatpak-builder:
flatpak install flathub org.flatpak.Builder
Luego, agregar el repositorio de Flathub para el usuario:
flatpak remote-add --if-not-exists --user flathub https://dl.flathub.org/repo/flathub.flatpakrepo
Construyendo el Flatpak localmente
Clonar el repositorio de GitHub
git clone git@github.com:flathub/net.jami.Jami.git
Construir Jami
flatpak-builder --force-clean --user --install-deps-from=flathub --repo=DIR builddir net.jami.Jami.yml
“DIR—- el nombre del repositorio. Por defecto, el nombre del repositorio debería ser repo
. Si el nombre del repositorio es cualquier otra cosa, el nombre del repositorio debe usarse al [instalar Jami] (#install-jami), [depurar Flatpak] (#debugging) y [enviar actualizaciones a Flathub] (#submitting-updates-to-flathub).
Instalar Jami
flatpak install DIR -y net.jami.Jami
Ejecutar Jami
flatpak run net.jami.Jami
Nota
Si hay varias instalaciones Flatpak de Jami, se debe especificar el --branch=BRANCH
después del comando run
para ejecutar el Flatpak que se acaba de compilar.
Las instalaciones de Flatpak y sus correspondientes ramas se pueden consultar mediante el comando “flatpak list”Para ejecutar el Flatpak que se acaba de compilar e instalar, establezca
BRANCH en la rama que corresponde a 'Origin' como 'repo'
Depurado
Es posible depurar Flatpaks dentro del sandbox en una máquina local.
Advertencia
Debido a la forma en que Jami está construido para Flatpak, la depuración puede llevar mucho tiempo ya que jami-core está construido como una biblioteca compartida. Esto significa que cada vez que se reinicia el depurador, es necesario esperar a que se carguen los símbolos. A menos que sea seguro que el problema que se está depurando es específico de la versión Flatpak de Jami, generalmente es más rápido compilar y depurar el cliente de escritorio localmente. Para obtener instrucciones, consulte [aquí](dependencies. md#jami-client-qt).
Descargando la versión de depuración
Las instrucciones para construir el Jami Flatpak como se describe en la sección anterior deben estar completas antes de continuar. Una vez hecho esto, instale la versión de depuración:
flatpak install --include-sdk --include-debug repo -y net.jami.Jami
Inicio del entorno de depuración
El siguiente comando ejecutará un shell dentro del sandbox:
flatpak run --command=sh --devel --filesystem=$(pwd) net.jami.Jami
Una vez ejecutado, el shell debería tener un aspecto similar al siguiente:
[📦 net.jami.Jami net.jami.Jami]$
Ahora hay dos métodos para depurar. Independientemente de cuál se elija, los comandos descritos en cualquiera de las secciones deben ejecutarse within the sandbox shell.
Depurar con el Depurador del Proyecto GNU (GDB)
gdb --args /app/bin/jami --debug
La depuración ahora se puede hacer como de costumbre.
Depurar con Visual Studio Code (VS Code)
Iniciar gdbserver.
gdbserver :1234 /app/bin/jami --debug
Nota
El número de puerto se puede cambiar si es necesario. Asegúrese de que el número de puerto para miDebuggerServerAddress in
.vscode/launch.json
refleje el nuevo número de puerto.Iniciar VS Code en la raíz del proyecto.
Entra en la sección Ejecutar y Depurar (Ctrl+Shift+D).
Seleccionar «Adjuntar a GDB remoto».
Ejecutar Jami (F5).
Establecer puntos de interrupción
Los archivos fuente se encuentran en builddir/files/lib/debug/source
en la raíz del proyecto y son donde se deben establecer los puntos de interrupción.
Enviando actualizaciones a Flathub
Si aún no lo ha hecho, instale flatpak-builder y agregue el repositorio de Flathub para todo el usuario como se describe en la sección Prerrequisitos.
Construye la lista
flatpak run --command=flathub-build org.flatpak.Builder --install net.jami.Jami.yml
Ejecutar y probar Jami
flatpak run net.jami.Jami
Ejecutar el linter
Los siguientes comandos deben ejecutarse cuando se realizan cambios en los archivos YAML. Si hay errores, deben resolverse antes de abrir una solicitud de extracción. De lo contrario, la prueba Flathub también will fail en las compilaciones_.
flatpak run --command=flatpak-builder-lint org.flatpak.Builder manifest net.jami.Jami.yml
flatpak run --command=flatpak-builder-lint org.flatpak.Builder repo repo
La lista de errores de linter se puede encontrar aquí.
Impulsar cambios y abrir una solicitud de extracción
Si la compilación tuvo éxito y pasó las comprobaciones de linter, los cambios se pueden enviar al repositorio de GitHub y se puede abrir una solicitud de extracción. Una vez que se abra la solicitud de extracción, el sistema de compilación automática Flathub creará compilaciones de prueba para las arquitecturas “x86_64” y “aarch64”` Si las compilaciones de prueba tienen éxito, la solicitud de extracción se podrá fusionar en master, activando las compilaciones oficiales.
Nota
Cualquier cambio en “finish-args” en “ net.jami.Jami.yml”, así como cambios en `net.jami.Jami.metainfo.xml “ requerirá la aprobación de los mantenedores de Flathub. Dependiendo de los cambios, la compilación se puede rechazar o requerir una explicación o justificación. Para estos últimos, se abrirá un issue en el repositorio de GitHub para explicar o justificar los cambios.
Para ver el estado de la aprobación, iniciar sesión en Flathub y navegar hasta Portal del desarrollador → Jami.