Усування проблем

Проблеми зі збиранням пакунка

Перезбирання flatpak на основі локального компонента

If you find a build problem with a package in your flatpak, you’ll want to build the flatpak using a local git checkout for the package, so you can put fixes in there:

  • Checkout the package from dist-git using fedpkg clone

  • Use fedpkg switch-branch to switch to the f42 branch (if significantly different from rawhide)

  • Make your changes, and make sure that sources are downloaded with fedpkg sources

  • Зберіть локально за допомогою команди flatpak-module build-rpms-local /шлях/до/копії

  • Якщо потрібно, зберіть усі подальші пакунки за допомогою команди flatpak-module build-rpms-local --auto

  • ПІсля успішного збирання встановіть пакунки локально за допомогою команди flatpak-module build-container-local --install

Швидке відлагодження prefix=/app збірки

If you hit a problem where a package fails to build with prefix=/app and you need to debug in detail,

  • Зберіть локально за допомогою команди flatpak-module build-rpms-local --auto (або вкажіть пакунок із помилкою за назвою SRPM)

  • Якщо зібрати не вдалося, у даних, які виведено до консолі, буде показано файли журналу і включено настанови щодо входу до кореневого каталогу збирання:

виведення до консолі
  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

Файли за межами /app

Найпоширенішою причиною помилок при збиранні пакунків є те, що якийсь з файлів пакунка встановлюється до жорстко визначеного каталогу у /usr, а не з використанням визначення каталогу макросами, зокрема %{_prefix}, `%{_libdir}`тощо. Виправлення помилки може потребувати коригування файла spec, передавання додаткових параметрів команді make і, у рідкісних випадках, виправлення файлів Makefile.

Проблеми зі складанням контейнеру

Збої при встановленні пакету

During installation of packages to build a Flatpak container, the set of packages is restricted to packages in the runtime and packages rebuilt for flatpaks. Other packages in Fedora will be ignored. If you see a message about missing dependencies that you know are in Fedora, this is because they are being ignored because of this restriction.

flatpak-module build-rpms --auto should build all necessary dependencies not in the runtime for the flatpak. However, subsequent packaging changes might add new dependencies, in which case you may need to run this multiple times.

You could also see failures if a package in the runtime grew a new dependency and the runtime hasn’t been updated. If the package with the dependency causing the dnf failure isn’t part of your flatpak, please file an issue in the Fedora Flatpaks issue tracker.