Поиск и устранение неисправностей
Проблемы со сборкой пакетов
Пересборка flatpak с использованием локального компонента
Если вы обнаружили проблему сборки с пакетом в вашем flatpak, вам потребуется собрать flatpak, используя локальную копию git для этого пакета, чтобы можно было внести исправления:
-
Получите пакет из dist-git с помощью
fedpkg clone -
Используйте
fedpkg switch-branchдля переключения на ветку f44 (если она существенно отличается отrawhide) -
Внесите свои изменения и убедитесь, что исходные файлы загружены с помощью
fedpkg sources -
Соберите локально с помощью
flatpak-module build-rpms-local /path/to/checkout -
При необходимости соберите любые другие пакеты с помощью
flatpak-module build-rpms-local --auto -
После успешной сборки установите локально с помощью
flatpak-module build-container-local --install
Быстрая отладка сборок с prefix=/app
Если вы столкнулись с проблемой, когда пакет не собирается с prefix=/app, и вам необходима подробная отладка,
-
Соберите локально с помощью
flatpak-module build-rpms-local --auto(или укажите проблемный пакет по имени SRPM) -
Если сборка завершится ошибкой, вывод в консоли покажет файлы журналов, а также включат инструкции для входа в buildroot:
python-pyside6: Ошибка сборки
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-f44-x86_64-0/root/
Вход в chroot: mock -r x86_64/work/rpms/mock.cfg --uniqueext 0 --shell
Файлы за пределами /app
Наиболее распространённая причина сбоя сборки пакета заключается в том, что какой-либо файл в пакете устанавливается с жёстко заданным путём /usr вместо использования макросов, таких как %{_prefix}, %{_libdir} и т. д. Это может потребовать корректировки файла спецификации, передачи дополнительных переменных в команду make или, в редких случаях, исправления Makefile.
Проблемы со сборкой контейнера
Сбои при установке пакетов
При установке пакетов для сборки контейнера Flatpak набор пакетов ограничивается пакетами в среде выполнения и пакетами, пересобранными для flatpak. Другие пакеты в Fedora будут игнорироваться. Если вы видите сообщение об отсутствующих зависимостях, которые, как вы знаете, есть в Fedora, это происходит потому, что они игнорируются из-за этого ограничения.
flatpak-module build-rpms --auto должен собрать все необходимые зависимости, отсутствующие в среде выполнения для flatpak. Однако последующие изменения в упаковке могут добавить новые зависимости, и в этом случае вам может потребоваться запустить это несколько раз.
Вы также можете увидеть ошибки, если пакет в среде выполнения получил новую зависимость, а среда выполнения не была обновлена. Если пакет с зависимостью, вызывающей сбой dnf, не является частью вашего flatpak, пожалуйста, создайте задачу в трекере проблем Fedora Flatpaks.
Want to help? Learn how to contribute to Fedora Docs ›