As some of you are aware, I've been working on a
project to make it possible to build Flatpaks out of Fedora RPMs within
the Fedora infrastructure. One of the key elements of this is rebuilding
RPMs with prefix=/app. The way that Flatpak works is that at runtime,
two filesystems are mounted:
/usr- the "runtime" - standard Fedora libraries shared by multiple Flatpaks
/app - the application and libraries distributed inside the app container
To
rebuild a package with prefix=/app, it is rebuilt in a module that has
the 'flatpak-rpm-macros' package installed in the buildroot (this is
automatically done when your package depends on the flatpak-runtime
module.) The flatpak-rpm-macros package overrides %{_prefix},
%{_datadir}, etc, and points them to /app.
About 90% of packages just work without any changes at all, but other packages need some (mostly minor) changes.
Generally,
I'd consider most changes that are needed things that make the packages
more compliant with the packaging guidelines - we expect packages to
honor %{_prefix}. But there is one assumption some of the changes make
that Petr Pisar pointed out to me that everybody might not agree with:
%{_prefix} and related macros specify the install location of this package, they
should not be used for paths to tools used as BuildRequires.
So
I wanted to run that idea past the packaging list for comment. In many
cases, that assumption can be fixed inside installed RPM macros (meson,
ninja, and qt5 macros have already been fixed.) But in a few cases a
spec file does make that assumption.
I've made a wiki pages that has all the changes I've needed so far:
Everything
marked with a checkmark is already in Fedora - either because I
committed a fix directly (mostly workstation related packages), or more
commonly, because I've submitted a pull-request that the maintainer
accepted.
Regards,
Owen
_______________________________________________ packaging mailing list -- packaging@xxxxxxxxxxxxxxxxxxxxxxx To unsubscribe send an email to packaging-leave@xxxxxxxxxxxxxxxxxxxxxxx Fedora Code of Conduct: https://getfedora.org/code-of-conduct.html List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines List Archives: https://lists.fedoraproject.org/archives/list/packaging@xxxxxxxxxxxxxxxxxxxxxxx