|
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.
|