# com.github.igorsuzart.snx_connect.yml app-id: com.github.igorsuzart.snx_connect runtime: org.gnome.Platform runtime-version: '47' # Versão estável do GNOME runtime com GTK4 sdk: org.gnome.Sdk add-extensions: org.freedesktop.Platform.Compat.i386: directory: lib/i386-linux-gnu version: '24.08' command: snx-connect.sh finish-args: # Permissões da Sandbox - --allow=multiarch - --share=network - --share=ipc - --socket=fallback-x11 - --socket=wayland - --device=all - --talk-name=org.freedesktop.PolicyKit1 - --env=LD_LIBRARY_PATH=/app/lib/i386-linux-gnu:/app/lib - --socket=session-bus modules: # <<< MÓDULO ATUALIZADO: Dependências Python baixadas pelo flatpak-builder >>> - python3-requirements.json # <<< MÓDULO ATUALIZADO: Instala a libstdc++5 a partir do .deb local >>> - name: libstdc++5 buildsystem: simple build-commands: - ar x libstdc++5*.deb - tar -xvf data.tar.xz ./usr/lib/i386-linux-gnu/libstdc++.so.5.0.7 ./usr/lib/i386-linux-gnu/libstdc++.so.5 - install -D -m 0755 usr/lib/i386-linux-gnu/libstdc++.so.5.0.7 /app/lib/i386-linux-gnu/libstdc++.so.5.0.7 - install -D -m 0644 usr/lib/i386-linux-gnu/libstdc++.so.5 /app/lib/i386-linux-gnu/libstdc++.so.5 sources: - type: file path: bin/libstdc++5_3.3.6-28ubuntu1_i386.deb # <<< MÓDULO ATUALIZADO: Instala o nslookup a partir do .deb local >>> - name: nslookup buildsystem: simple build-commands: - ar x bind9*.deb - tar -xvf data.tar.xz ./usr/bin/nslookup - install -D -m 0755 usr/bin/nslookup /app/bin/nslookup sources: - type: file path: bin/bind9-dnsutils_9.20.11-1_amd64.deb # 2. O código da sua aplicação - name: snx-connect buildsystem: simple build-commands: - mkdir -p /app/src/snx-connect - install -D -m 0755 snx-connect.sh /app/bin/snx-connect.sh - install -D -m 0755 main.py /app/src/snx-connect/main.py - cp -r ui back_end.py controller.py style.css /app/src/snx-connect/ - cp -r assets /app/src/snx-connect/ - cp -r i18n /app/src/snx-connect/ - cp -r bin /app/src/snx-connect/ - install -D -m 0644 snx-connect.desktop /app/src/applications/com.github.igorsuzart.snx_connect.desktop - install -D -m 0644 assets/snx-icon.png /app/src/icons/hicolor/128x128/apps/com.github.igorsuzart.snx_connect.png sources: - type: dir path: . #3. O binário SNX - name: snx-binary buildsystem: simple build-commands: # 1. Extrai os binários que estão escondidos dentro do script .sh - tail -n +80 ./bin/snx_install_linux30.sh | bunzip2 -c - | tar xf - # 2. Instala os ficheiros manualmente com as permissões corretas # Nota: Dentro do Flatpak, /usr/bin é mapeado para /app/bin - install --mode=u=rxs,g=x,o=x snx /app/bin/snx - install --mode=u=rx,g=rx,o=rx snx_uninstall.sh /app/bin/snx_uninstall # Nota: Dentro do Flatpak, /etc é mapeado para /app/etc - install --directory --mode=u=rwx /app/etc/snx - install --directory --mode=u=rwx /app/etc/snx/tmp sources: - type: dir path: .