Tutorial Pengemasan
Membuat Flatpak dari aplikasi yang sudah dikemas di Fedora melibatkan dua langkah. Pertama, Anda perlu membangun ulang RPM aplikasi beserta dependensi apa pun yang tidak termasuk dalam runtime. Lalu, Anda harus membuat container dari aplikasi tersebut. Dalam konteks Fedora, flatpak hanyalah bentuk lain dari container, dan diperlakukan dengan cara yang sangat mirip dengan container Docker yang digunakan untuk aplikasi server.
Seperti halnya paket, instruksi untuk membangun flatpak RPM dan container disimpan di git pada https://src.fedoraproject.org dan proses pembangunannya dikoordinasikan melalui https://koji.fedoraproject.org. Flatpak untuk sebuah aplikasi dapat ditemukan di https://src.fedoraproject.org dalam repositori flatpaks/<application>; repositori git ini berisi berkas container.yaml, yang menentukan bagaimana paket diubah menjadi container Flatpak.
Penyiapan
Instal alat yang diperlukan:
$ sudo dnf install flatpak-module-tools
Pastikan pengguna Anda termasuk dalam grup mock (baik pembangunan RPM lokal maupun pembuatan container lokal menggunakan mock).
$ sudo usermod -a -G mock $USER
(Anda mungkin perlu keluar dan masuk kembali.)
Tambahkan remote flatpak Fedora testing:
$ flatpak remote-add fedora-testing oci+https://registry.fedoraproject.org#testing
|
Di Fedora, remote testing seharusnya sudah terpasang tetapi dalam keadaan nonaktif. Untuk mengaktifkannya, jalankan perintah berikut: $ flatpak remote-modify --enable fedora-testing Dan instal Fedora Flatpak Runtime jika belum terpasang: $ flatpak install fedora-testing org.fedoraproject.Platform/x86_64/f42 |
Membuat container.yaml
$ mkdir lagrange && cd lagrange $ flatpak-module init --flathub=lagrange lagrange
Perintah ini menghasilkan versi awal dari container.yaml. Opsi --flathub=lagrange akan mencari aplikasi di Flathub yang namanya atau ID aplikasinya cocok dengan lagrange, lalu menggunakan manifest Flathub sebagai dasar untuk menginisialisasi container.yaml. Jika ditemukan beberapa kecocokan, semuanya akan ditampilkan dan Anda perlu menjalankan kembali flatpak-module init dengan string pencarian yang lebih spesifik.
Mari kita lihat isi berkas container.yaml.
flatpak:
id: fi.skyjake.Lagrange
branch: stable
runtime-name: flatpak-runtime
runtime-version: f42
packages:
- lagrange
command: lagrange
finish-args: |-
--socket=wayland
--socket=fallback-x11
--socket=pulseaudio
--share=ipc
--share=network
--device=dri
--filesystem=xdg-download
--filesystem=home:ro
Berkas container.yaml ini bisa digunakan apa adanya, tetapi sering kali diperlukan beberapa modifikasi.
Jika belum ada build aplikasi di Flathub, Anda dapat menghapus opsi --flathub dari flatpak-module init. Dalam hal ini, Anda perlu memilih ID aplikasi dan mengedit container.yaml.
Melakukan build lokal
$ flatpak-module build-rpms-local --auto $ flatpak-module build-container-local --install
Jika pembangunan RPM berhasil tetapi pembangunan container gagal, dan Anda perlu mengubah container.yaml untuk mencoba lagi, Anda dapat mengulangi hanya langkah terakhir.
Pengujian
Jika instalasi berhasil, Anda sekarang dapat menjalankan perintah berikut:
$ flatpak run fi.skyjake.Lagrange
Untuk mencobanya.
Permintaan src.fedoraproject.org
Silakan ajukan permintaan repositori Git baru sebagai berikut:
$ fedpkg request-repo --namespace=flatpaks <application>
Mengimpor konten flatpak Anda
Setelah repositori dibuat:
$ mv <application> <application>.old $ fedpkg clone flatpaks/<application> $ cd <application> $ cp ../application.old/container.yaml . $ git add container.yaml $ git commit -m "Initial import" $ git push origin stable
Membangun di Koji
Pertama, bangun paketnya:
$ flatpak-module build-rpms --auto
Jika proses tersebut berhasil diselesaikan, Anda dapat melanjutkannya dengan:
$ flatpak-module build-container
Menguji hasil build
Untuk menginstal build terbaru yang berhasil dari Koji, jalankan perintah:
$ flatpak-module install --koji <application>-flatpak
Membuat pembaruan
Temukan NVR dari build Flatpak Anda — jika tidak terlihat pada riwayat terminal, buka https://koji.fedoraproject.org/ dan cari di bagian "Packages" menggunakan nama <application>-flatpak.
Buka https://bodhi.fedoraproject.org/updates/new dan masukkan NVR flatpak di bawah Candidate Builds (abaikan “Packages”). Masukkan teks di bawah “Update notes” seperti “Flatpak awal untuk <application>”, lalu tekan <Submit>.
Want to help? Learn how to contribute to Fedora Docs ›