Pemecahan Masalah
Masalah pembuatan paket
Membangun ulang flatpak terhadap komponen lokal
Jika Anda menemukan masalah build dengan suatu paket di flatpak Anda, Anda perlu membangun flatpak menggunakan checkout git lokal untuk paket tersebut agar dapat menerapkan perbaikan di sana:
-
Lakukan checkout paket dari dist-git menggunakan
fedpkg clone -
Gunakan
fedpkg switch-branchuntuk berpindah ke cabang f42 (jika berbeda secara signifikan darirawhide) -
Lakukan perubahan Anda, dan pastikan sumber telah diunduh dengan
fedpkg sources -
Bangun secara lokal dengan
flatpak-module build-rpms-local /path/to/checkout -
Jika diperlukan, bangun paket tambahan dengan
flatpak-module build-rpms-local --auto -
Setelah berhasil, instal secara lokal dengan
flatpak-module build-container-local --install
Debug cepat untuk build prefix=/app
Jika Anda menemui masalah di mana suatu paket gagal dibangun dengan prefix=/app dan perlu melakukan debug secara mendetail,
-
Bangun secara lokal dengan
flatpak-module build-rpms-local --auto(atau tentukan paket yang gagal berdasarkan nama SRPM) -
Jika build gagal, output konsol akan menampilkan berkas log dan juga menyertakan petunjuk untuk masuk ke buildroot:
python-pyside6: Build failed
x86_64/work/rpms/python-pyside6/build.log
x86_64/work/rpms/python-pyside6/hw_info.log
x86_64/work/rpms/python-pyside6/installed_pkgs.log
x86_64/work/rpms/python-pyside6/mock_output.log
x86_64/work/rpms/python-pyside6/root.log
x86_64/work/rpms/python-pyside6/state.log
chroot: /var/lib/mock/flatpak-module-f42-x86_64-0/root/
Enter chroot: mock -r x86_64/work/rpms/mock.cfg --uniqueext 0 --shell
Berkas di luar /app
Alasan paling umum untuk kegagalan pembuatan paket adalah karena ada berkas dalam paket yang diinstal dengan jalur tetap /usr alih-alih menggunakan makro seperti %{_prefix}, %{_libdir}, dan sebagainya. Hal ini mungkin memerlukan penyesuaian berkas spesifikasi, penambahan variabel tambahan pada perintah make, atau dalam beberapa kasus langka, melakukan patch pada berkas Makefile.
Masalah pembuatan container
Kegagalan instalasi paket
Saat instalasi paket untuk membangun container Flatpak, kumpulan paket dibatasi hanya untuk paket di runtime dan paket yang sudah dibangun ulang untuk flatpak. Paket lainnya di Fedora akan diabaikan. Jika Anda melihat pesan tentang dependensi yang hilang padahal Anda tahu bahwa dependensi tersebut ada di Fedora, hal ini terjadi karena dependensi tersebut diabaikan akibat pembatasan ini.
flatpak-module build-rpms --auto seharusnya membangun semua dependensi yang diperlukan dan tidak ada dalam runtime untuk flatpak. Namun, perubahan pengemasan selanjutnya dapat menambahkan dependensi baru, yang berarti Anda mungkin perlu menjalankannya beberapa kali.
Anda juga dapat melihat kegagalan jika suatu paket dalam runtime mendapatkan dependensi baru dan runtime belum diperbarui. Jika paket dengan dependensi yang menyebabkan kegagalan dnf bukan bagian dari flatpak Anda, harap buat laporan masalah di Pelacak masalah Fedora Flatpaks.
Want to help? Learn how to contribute to Fedora Docs ›