| |
@@ -0,0 +1,35 @@
|
| |
+ ## Lorax template to embed Flatpaks into the installer.iso
|
| |
+
|
| |
+ ## Args:
|
| |
+ ## - root - the root directory of the iso tree
|
| |
+ ## - flatpak_remote_name - the name for the flaptak remote to fetch from
|
| |
+ ## - flatpak_remote_url - the url for the remote
|
| |
+ ## - flatpak_remote_refs - refs to fetch from the remote (whitespace separated)
|
| |
+
|
| |
+ <%page args="root, flatpak_remote_name, flatpak_remote_url, flatpak_remote_refs"/>
|
| |
+ <%
|
| |
+ import os
|
| |
+ import re
|
| |
+ from pylorax.executils import runcmd_output, setenv
|
| |
+ from pylorax.sysutils import joinpaths
|
| |
+
|
| |
+ dest_repo=joinpaths(root, "flatpak/repo")
|
| |
+ refs=re.split(r"\s+", flatpak_remote_refs)
|
| |
+
|
| |
+ # the temporary Flatpak directory is a sibling of the install tree
|
| |
+ flatpak_dir=joinpaths(os.path.dirname(root), "flatpak")
|
| |
+ setenv("FLATPAK_USER_DIR", flatpak_dir)
|
| |
+ flatpak_repo=joinpaths(flatpak_dir, "repo")
|
| |
+ %>
|
| |
+
|
| |
+ runcmd flatpak config --user --set languages "*"
|
| |
+ runcmd flatpak remote-add --user ${flatpak_remote_name} oci+https://registry.fedoraproject.org
|
| |
+ runcmd flatpak install -y --user ${flatpak_remote_name} ${flatpak_remote_refs}
|
| |
+ runcmd mkdir -p ${root}/flatpak
|
| |
+ runcmd ostree init --repo=${dest_repo} --mode=archive-z2
|
| |
+ %for ref in refs:
|
| |
+ runcmd sh -c "ostree --repo=${dest_repo} pull-local ${flatpak_repo} $(ostree --repo=${flatpak_repo} rev-parse ${flatpak_remote_name}/${ref})"
|
| |
+ runcmd sh -c "mkdir -p $(dirname ${dest_repo}/refs/heads/${ref})"
|
| |
+ runcmd sh -c "ostree --repo=${flatpak_repo} rev-parse ${flatpak_remote_name}/${ref} > ${dest_repo}/refs/heads/${ref}"
|
| |
+ %endfor
|
| |
+ runcmd flatpak build-update-repo ${dest_repo}
|
| |
Now that Anaconda supports pre-installing Flatpak, add a template that
downloads Flatpaks and embeds a Flatpak repository in hte installer
image at /flatpak/repo. The source repository and set of flatpaks
are configurable via template variables.
Signed-off-by: Owen W. Taylor otaylor@fishsoup.net
Like #40, but for F31 branch. This doesn't affect any existing templates, so this should be pretty risk free. (Reference would need to be added in pungi-fedora)