Owen W. Taylor 82b22e4
This git repository holds the modulemd file and associated container files
Owen W. Taylor 82b22e4
for the Fedora Flatpak runtimes. It also holds scripts and data files used
Owen W. Taylor 82b22e4
to maintain and update the Fedora Flatpak runtimes.
Owen W. Taylor 37b3e00
Owen W. Taylor 82b22e4
Updating
Owen W. Taylor 82b22e4
========
Owen W. Taylor 37b3e00
Owen W. Taylor 37b3e00
*Prequisites*: you need to have the following "upstream" runtimes installed:
Owen W. Taylor 37b3e00
Owen W. Taylor bffea91
* `org.freedesktop.Platform/x86_64/18.08`
Owen W. Taylor bffea91
* `org.freedesktop.Sdk/x86_64/18.08`
Owen W. Taylor bffea91
* `org.gnome.platform/x86_64/3.32`
Owen W. Taylor bffea91
* `org.gnome.Sdk/x86_64/3.32`
Owen W. Taylor 37b3e00
Owen W. Taylor 82b22e4
You also need `python3-jinja2` and possibly a few other Python
Owen W. Taylor 37b3e00
packages installed.
Owen W. Taylor 37b3e00
Owen W. Taylor adac2c9
And finally, you'll need to have [fedmod](https://pagure.io/modularity/fedmod) installed.
Owen W. Taylor 82b22e4
You should run `fedmod fetch-metadata` initially and whenever you want to download
Owen W. Taylor 82b22e4
a fresh set of metadata from Fedora. `fedmod` never updates metadata on its own.
Owen W. Taylor 82b22e4
Owen W. Taylor 82b22e4
*How it works*: The files in the upstream runtimes are the primary source for the contents
Owen W. Taylor 82b22e4
of the corresponding Fedora runtimes. When you type `make update`, the
Owen W. Taylor 82b22e4
steps are as follows:
Owen W. Taylor 82b22e4
Owen W. Taylor 82b22e4
 * List the contents of selected directories of the upstream runtime
Owen W. Taylor 82b22e4
   (`tools/list-files.py`)
Owen W. Taylor 82b22e4
 * Exclude and rename files, and otherwise tweak the contents of the
Owen W. Taylor 82b22e4
   resulting lists, and find the Fedora packages that contain the
Owen W. Taylor 82b22e4
   corresponding packages. (`tools/resolve-files.py`)
Owen W. Taylor 82b22e4
 * Find all dependencies of the resolved packages using `fedmod resolve-deps`,
Owen W. Taylor 82b22e4
   correlate it all together, figure out the install profiles for each runtime,
Owen W. Taylor 646539e
   and create `report/runtime.html`. (`tools/generate-runtime-report.py`)
Owen W. Taylor 82b22e4
 * Create a `flatpak-runtime.new.yaml` using the profiles. (`tools/generate-modulemd.py`)
Owen W. Taylor 646539e
 * Finds data about applications packaged in Fedora and Flathub
Owen W. Taylor 646539e
   (`tools/download-fedora-appstream.sh`, `tools/download-flathub-appstream.sh`,
Owen W. Taylor 646539e
   `tools/download-reviews.py`)
Owen W. Taylor 646539e
 * Finds out how those applications would build using the *current* build of the
Owen W. Taylor 646539e
   runtime (not the one that we're creating here) , and generates more reports
Owen W. Taylor 646539e
   in `reports/`. (`tools/generate-app-reports.py`). (Improvement would be to use
Owen W. Taylor 646539e
   the candidate next build - requires us to pass the runtime data to fedmod rather
Owen W. Taylor 4d9cabe
   than have fedmod download it from Koji.)
Owen W. Taylor 82b22e4
 * Copy `flatpak-runtime.new.yaml` to `flatpak-runtime.yaml`
Owen W. Taylor 82b22e4
Owen W. Taylor 82b22e4
*Report generation*: if you type `make report` instead then all the above happens
Owen W. Taylor 82b22e4
except the last step.
Owen W. Taylor 82b22e4
Owen W. Taylor 82b22e4
Tweaking the result
Owen W. Taylor 82b22e4
===================
Owen W. Taylor 82b22e4
The main way to tweak the result is to edit and extend the data embedded in
Owen W. Taylor 82b22e4
`tools/resolve-files.py`. Make sure you add comments explaining why you are
Owen W. Taylor 82b22e4
excluding files, and feed back exclusions to the upstream runtime maintainers
Owen W. Taylor 82b22e4
as appropriate.
Owen W. Taylor 82b22e4
Owen W. Taylor 82b22e4
Package notes
Owen W. Taylor 82b22e4
=============
Owen W. Taylor 82b22e4
To aid in keeping track of the status of all the packages in
Owen W. Taylor 82b22e4
`report.html`, notes and "flags" are read from package-notes.txt. The
Owen W. Taylor 82b22e4
notes are added to `report.html` and the flags affect formatting. The
Owen W. Taylor 82b22e4
top of that file has a comment describing the simple format.