Benachrichtigungen
Alles entfernen

Flatpak

11 Beiträge
3 Benutzer
0 Reactions
422 Aufrufe
(@derwalter)
Active Member
Beigetreten: vor 1 Jahr
Beiträge: 12
Topic starter   [#4602]

Zur Info: Flatpak bringt alle Dateien und Abhängigkeiten mit, welche es zum Laufen braucht (genauso wie snap und appimage).
Es benötigt keine Installation, da es alles in einer Datei mitbringt was es benötigt und dadurch alle Abhängigkeits- und Konfigurationsprobleme verhindert.

Theoretisch erlischt damit auch die Notwendigkeit für rpm, deb und gz Installationsmethoden und deren Pflege.

 

Ich versuche seit Tagen Fakturama auf Fedora immutable (Auroa) zum Laufen zu bringen und wünschte es gäbe ein Flatpak. Runterladen, läuft. Aber leider.

 

Ich habe im Forum mehrere Anfragen und Diskussionen zum Thema Flatpak gefunden, daher möchte ich jetzt neu im Jahr 2026 und für das Release von 2.2.0 fragen:
Wäre es möglich ein flatpak zu bekommen?

Danke und LG
Walter


Dieses Thema wurde geändert vor 8 Monaten von derWalter

   
Zitat
(@derwalter)
Active Member
Beigetreten: vor 1 Jahr
Beiträge: 12
Topic starter  

Nachtrag: damit einhergehend auch die Frage aus dem viel gelesenem Thread zum Thema
Interaktion mit LibreOffice in der flatpak Version für den Rechnungsexport.

 

Hatte bis jetzt noch keine Probleme mit der flatpak Version von LibreOffice, allerdings habe ich noch keine Anleitung gefunden wie es mit dem Rechnungsexport funktioniert.

Fakturama greift auf die UNO Services zu und dazu müssen die entsprechenden Sockets exposed werden, aber was und wie genau konnte ich bis jetzt noch nicht herausfinden.

Als last resort könnte ich mit ostree die rpm von libreoffice und fakturama direkt installieren, aber das wäre ein Schritt rückwärts und widerspricht ja dem grundlegenden Konzept von read only containerized Betriebssystemen.



   
AntwortZitat
(@rheydenr)
Forum-Admin Registered
Beigetreten: vor 14 Jahren
Beiträge: 4911
 

Ich habe leider keine Erfahrung mit flatpak. Aktuell werden die Installer mit install4J erzeugt, das geht ziemlich gut. Für flatpak muß ich mir erst mal eine Lösung überlegen.


Viele Grüße
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?


   
AntwortZitat
(@derwalter)
Active Member
Beigetreten: vor 1 Jahr
Beiträge: 12
Topic starter  

wäre echt super, immer mehr distros gehen richtung immutable, weils einfach angenehm und sicher ist.

Ich habe extra einen alten Laptop am laufen, nur wegen Fakturama.

Bin nicht so fix mit KI, aber evtl. kann claude o.ä. ein flatpak zusammenstöpseln :)?



   
AntwortZitat
(@derwalter)
Active Member
Beigetreten: vor 1 Jahr
Beiträge: 12
Topic starter  

Hab mal google AI gefragt, wenn es nur halb so einfach ist, .... vielleicht probieren wir das mal 🙂

Ein eigenes Flatpak zu erstellen, erfordert das Schreiben einer Manifest-Datei (im JSON- oder YAML-Format) und die Ausführung des Tools flatpak-builder.
Da Fakturama eine Java-basierte Eclipse-RCP-Anwendung ist, nutzen wir als Basis die GNOME-Runtime, die eine integrierte Java-Laufzeitumgebung (JRE) mitbringt, und konfigurieren den Netzwerk- sowie Dateisystemzugriff für LibreOffice direkt im Manifest.
Schritt 1: Benötigte Werkzeuge installieren
Installieren Sie flatpak-builder über die Paketverwaltung Ihrer Linux-Distribution:
bash
# Für Ubuntu / Debian / Linux Mint
sudo apt install flatpak-builder

# Für Fedora
sudo dnf install flatpak-builder
Use code with caution.
 
 
 
Laden Sie zudem die offizielle GNOME-Runtime und das SDK von Flathub herunter:
bash
flatpak install flathub org.gnome.Platform//45 org.gnome.Sdk//45
Use code with caution.
 
 
 
Schritt 2: Das Flatpak-Manifest erstellen
Erstellen Sie in einem leeren Ordner eine Datei mit dem Namen de.fakturama.Fakturama.json. Fügen Sie den folgenden Inhalt ein:
json
{
  "app-id": "de.fakturama.Fakturama",
  "runtime": "org.gnome.Platform",
  "runtime-version": "45",
  "sdk": "org.gnome.Sdk",
  "command": "fakturama",
  "finish-args": [
    "--share=ipc",
    "--share=network",
    "--socket=x11",
    "--socket=wayland",
    "--filesystem=host",
    "--talk-name=org.libreoffice.LibreOffice"
  ],
  "modules": [
    {
      "name": "fakturama",
      "buildsystem": "simple",
      "build-commands": [
        "mkdir -p /app/bin /app/fakturama",
        "cp -r * /app/fakturama/",
        "ln -s /app/fakturama/Fakturama /app/bin/fakturama"
      ],
      "sources": [
        {
          "type": "archive",
          "url": "https://fakturama.info",
          "sha256": "HIER_DIE_AKTULLE_SHA256_PRÜFSUMME_EINTRAGEN"
        }
      ]
    }
  ]
}
Use code with caution.
 
 
 
Hinweis zur Sandbox-Öffnung: Das Argument "--talk-name=org.libreoffice.LibreOffice" erlaubt dem Fakturama-Flatpak explizit, via D-Bus-Protokoll mit einem als Flatpak installierten LibreOffice zu kommunizieren. "--filesystem=host" stellt sicher, dass Dokumente ausgetauscht werden können.
Schritt 3: Das Flatpak bauen
Führen Sie im Terminal innerhalb des Ordners den Build-Prozess aus:
bash
flatpak-builder --force-clean build-dir de.fakturama.Fakturama.json
Use code with caution.
 
 
 
flatpak-builder lädt nun das Fakturama-Archiv herunter, entpackt es und installiert es isoliert in das Verzeichnis build-dir.
Schritt 4: Lokal installieren und testen
Nach einem erfolgreichen Build installieren Sie das Paket testweise auf Ihrem System:
bash
flatpak-builder --user --install --force-clean build-dir de.fakturama.Fakturama.json
Use code with caution.
 
 
 
Sie können Ihre selbst erstellte Fakturama-App nun wie folgt starten:
bash
flatpak run de.fakturama.Fakturama
Use code with caution.
 
 
 
Schritt 5: LibreOffice-Pfad in Fakturama anpassen
Da Sie im Manifest die D-Bus- und Host-Berechtigungen gesetzt haben, steuern Sie das LibreOffice-Flatpak am besten über ein Mini-Skript an.
Tragen Sie in den Fakturama-Einstellungen unter Pfad zu LibreOffice den systemweiten Flatpak-Pfad ein:
bash
/usr/bin/flatpak run org.libreoffice.LibreOffice
Use code with caution.
 
 
 
das wichtigste ist aber flatpak fakturama zu flatpak libreoffice zu verbinden, damit der Export funktioniert.


Diese r Beitrag wurde geändert vor 3 Monaten 2 mal von derWalter

   
AntwortZitat
(@rheydenr)
Forum-Admin Registered
Beigetreten: vor 14 Jahren
Beiträge: 4911
 

Moin, ich seh es mir mal an, muß mir aber erst mal eine Linux-Umgebung einrichten.


Viele Grüße
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?


   
AntwortZitat
(@derwalter)
Active Member
Beigetreten: vor 1 Jahr
Beiträge: 12
Topic starter  

anbei ein lauffähiges flatpak: https://nextcloud.walterzimmermann.at/s/ybXQA4ekjCp77QF

 

konnte es nur starten und noch nicht mit libre office lokal oder auch im flatpak installiert, testen.

 

ich wollte vor 2 stunden, vorm einschlafen "nur noch schnell schauen ob das geht"... und muss früh raus...

 

 

hier ist das manual das ich in zwei stunden kampf mit google search ki geschaffen habe:

 

This is the complete, single-source manual for repackaging Fakturama 2.2.0 into a portable Flatpak bundle on MX Linux / Debian 13, with embedded cross-sandbox support for both system and Flatpak installations of LibreOffice.

Step 1: Install System Building Dependencies

Open your host terminal and install the required container packaging utilities:
sudo apt update
sudo apt install flatpak-builder binutils

# Add the Flathub remote and pull down the standard runtime SDK environment
flatpak remote-add --user --if-not-exists flathub  https://flathub.org 
flatpak install flathub org.freedesktop.Platform//24.08 org.freedesktop.Sdk//24.08


Step 2: Extract the Application Assets Natively

Download your Fakturama 2.2.0 .deb package file. Assuming it is saved in ~/Downloads, run these commands to establish a clean working environment and extract the Bzip2 data stream:
# Set up a fresh project workspace folder
mkdir -p ~/fakturama-flatpak/app-files
cd ~/fakturama-flatpak

# Copy your downloaded installer into place and extract the package layers
cp ~/Downloads/*fakturama*.deb ./fakturama.deb
ar x fakturama.deb

# Decompress the binary contents straight into the app-files staging folder
tar -xf data.tar.bz2 -C app-files/

# Clean loose extraction file debris from the workspace root
rm -f control.tar.gz data.tar.bz2 debian-binary


Step 3: Inject the LibreOffice Wrapper Hooks

Inject the smart wrapper files directly into your staging structure to intercept UNO socket commands and automatically route them to whichever LibreOffice instance is installed on the host:
# 1. Create the persistent internal office-bridge proxy
mkdir -p app-files/libexec/fakturama-office-bridge
cat << 'EOF' > app-files/libexec/fakturama-office-bridge/soffice
#!/bin/sh
if flatpak-spawn --host flatpak list | grep -q "org.libreoffice.LibreOffice"; then
    exec flatpak-spawn --host flatpak run org.libreoffice.LibreOffice "$@"
else
    exec flatpak-spawn --host soffice "$@"
fi
EOF

# 2. Create the main app execution bootstrapper wrapper
mkdir -p app-files/bin
cat << 'EOF' > app-files/bin/fakturama-wrapper
#!/bin/sh
export PATH="/app/libexec/fakturama-office-bridge:$PATH"

TRUE_EXE=$(find /app/usr/bin/ /app/usr/share/ /app/opt/ -type f \( -name "Fakturama" -o -name "fakturama" \) 2>/dev/null | head -n 1)
if [ -n "$TRUE_EXE" ] && [ -f "$TRUE_EXE" ]; then
    exec "$TRUE_EXE" "$@"
else
    exec /app/usr/bin/fakturama "$@"
fi
EOF

# 3. Apply explicit execution privileges to both scripts on the host side
chmod +x app-files/libexec/fakturama-office-bridge/soffice
chmod +x app-files/bin/fakturama-wrapper


Step 4: Write the Final Flatpak Manifest

Create a file exactly named fakturama.yaml inside ~/fakturama-flatpak and paste the following content:
id: info.fakturama.Fakturama
runtime: org.freedesktop.Platform
runtime-version: '24.08'
sdk: org.freedesktop.Sdk
command: fakturama-wrapper
build-options:
  strip: false
  no-debuginfo: true
finish-args:
  - --socket=x11
  - --socket=wayland
  - --share=ipc
  - --share=network
  - --filesystem=host
  - --device=dri
  - --talk-name=org.freedesktop.Flatpak
modules:
  - name: fakturama
    buildsystem: simple
    sources:
      - type: dir
        path: app-files
    build-commands:
      - cp -r . /app/
      - chmod -R +rX /app/


Step 5: Compile and Install Local Sandboxes

Execute the local deployment build run:
flatpak-builder build-dir fakturama.yaml --force-clean --user --install


Step 6: One-Time Connection Configurations

A. Inside your Fakturama Application Interface

 
  1. Launch the new Flatpak: flatpak run info.fakturama.Fakturama
  2. Go to PreferencesOffice Integration.
  3. Clear the field and type this exact internal container path: /app/libexec/fakturama-office-bridge
  4. Click Apply and Close.

B. To Enable XRechnung XML Attachments inside LibreOffice

 
  1. Open LibreOffice Writer on your computer.
  2. Go to FileExport AsExport as PDF...
  3. On the General tab, check the box for PDF/A Archive (ISO 19005).
  4. Select PDF/A-3b from the structural version dropdown, click Export, and save a sample blank document once to lock this setting into your user profile cache.
  5. (Optional) If you run the Flatpak flavor of LibreOffice, give it broad storage visibility in your host terminal:
    flatpak override org.libreoffice.LibreOffice --filesystem=host
    


Step 7: Export into a Shareable Single File Bundle

To bundle your verified, working container into a single .flatpak package that you can back up, share with colleagues, or install onto other Linux systems, export it with this command:
flatpak build-bundle ~/.local/share/flatpak/repo ~/fakturama-2.2.0.flatpak info.fakturama.Fakturama

Your ready-to-distribute file will now be sitting directly inside your Home directory under the filename fakturama-2.2.0.flatpak [INDEX].
To turn this into a production-grade release, would you like me to supply a template for a matching custom Application Menu icon launcher or custom metadata files?

 



   
AntwortZitat
(@rheydenr)
Forum-Admin Registered
Beigetreten: vor 14 Jahren
Beiträge: 4911
 

Besten Dank. Ich bin auch gerade dabei, das für flathub vorzubereiten. Dauert aber noch, weil ich einige Bugs noch beheben wollte. 


Viele Grüße
Ralf.
Wichtige Infos zum Posten im Forum.
Fehler gefunden?


   
AntwortZitat
(@derwalter)
Active Member
Beigetreten: vor 1 Jahr
Beiträge: 12
Topic starter  

Danke dir!

 

War eigentlich ziemlich einfach muss ich sagen. Vl wird das ja noch die präferierte installationsmethode unter linux für dich 😛

 

Kommt es dann mit 2.2.1? Was ist ungefähre eta?

 

MfG aus Österreich

Walter



   
AntwortZitat
(@joe66)
Eminent Member
Beigetreten: vor 4 Jahren
Beiträge: 33
 

Ich finde die Ide das Setup als Flatpak anzubieten grundsätzlich begrüssenswert.

Flatpak hat viele Vorteile, es hat aber auch Nachteile (z.B. wenn man zwei unterschiedliche Versionen testen will, die Installationsgröße, Interaktionen mit anderen Anwendungen, ...)

Meine Wunsch aber daher (wenn man sich den Aufwand der ja nicht allzu hoch zu sein scheint machen möchte)  bitte AUCH aber nicht NUR als Faltpak anbieten.

Gruß - Jochen



   
AntwortZitat
(@derwalter)
Active Member
Beigetreten: vor 1 Jahr
Beiträge: 12
Topic starter  

Eben habe ich bemerkt, dass dies keine PM mit @rheydenr ist, sondern ein public thread 😛

zum thema:

Installationsgröße stimmt, nervt mich auch, dass alles immer größer wird,... bleibt nur zu hoffen dass Ki irgendwann so gut ist, den ganzen overhead zu beseitigen und echt winzige programmdateien kompiliert.

was sandboxing und Interaktion mit anderen Programmen angeht (zb. LibreOffice), ja, da braucht es definetiv noch einfachere und bessere Benutzbarkeit für die Anwender. So wie auf den Telefonen, wo die apps nach diversen Berechtigungen fragen (können und müssen) und man diese recht unkompliziert erteilen, oder nur unter Bedingungen erteilen kann.

Was verschiedene Versionen des selben Programms als Flatpak nebeneinander installieren und gleichzeitig laufen lassen anbelangt:

Step 1: Install the Target Versions
You can install different versions (often referred to as branches) of the same Flatpak. For example, to install the beta and stable branches of an app: [1, 2]
bash
flatpak install flathub --user org.example.AppName//beta
flatpak install flathub --user org.example.AppName//stable
Use code with caution.

(Replace org.example.AppName with your exact Flatpak ID, and use flatpak list if you need to find the ID). [1, 2]

Step 2: Create a Separate Configuration Folder
To prevent the two versions from sharing data or profile corruptions, you can force the second instance to use a custom HOME environment variable. [1, 2]
bash
mkdir -p ~/flatpak_configs/app_version_2
Use code with caution.

Step 3: Launch the Apps

Because only one version's .desktop file can be exported to your desktop application menu at a time, launch the first version as normal, and use the terminal to launch the second version with the custom environment variable: [1, 2]
Launch Version 1 (or use your desktop application menu):
bash
flatpak run org.example.AppName//stable


   
AntwortZitat
Teilen: