mirror of
https://github.com/JasonN3/build-container-installer.git
synced 2025-12-25 10:57:55 +01:00
add flatpaks to iso
This commit is contained in:
parent
13d4cbfd04
commit
e99ecbb068
4 changed files with 31 additions and 6 deletions
13
Makefile
13
Makefile
|
|
@ -17,6 +17,7 @@ FLATPAK_REMOTE_NAME = flathub
|
||||||
FLATPAK_REMOTE_URL = https://flathub.org/repo/flathub.flatpakrepo
|
FLATPAK_REMOTE_URL = https://flathub.org/repo/flathub.flatpakrepo
|
||||||
FLATPAK_REMOTE_REFS =
|
FLATPAK_REMOTE_REFS =
|
||||||
FLATPAK_REMOTE_REFS_DIR =
|
FLATPAK_REMOTE_REFS_DIR =
|
||||||
|
FLATPAK_DIR =
|
||||||
# Secure boot
|
# Secure boot
|
||||||
ENROLLMENT_PASSWORD =
|
ENROLLMENT_PASSWORD =
|
||||||
SECURE_BOOT_KEY_URL =
|
SECURE_BOOT_KEY_URL =
|
||||||
|
|
@ -133,9 +134,17 @@ _LORAX_ARGS += -i flatpak-libs
|
||||||
_LORAX_TEMPLATES += $(call get_templates,flatpak) \
|
_LORAX_TEMPLATES += $(call get_templates,flatpak) \
|
||||||
external/fedora-lorax-templates/ostree-based-installer/lorax-embed-flatpaks.tmpl
|
external/fedora-lorax-templates/ostree-based-installer/lorax-embed-flatpaks.tmpl
|
||||||
_TEMPLATE_VARS += FLATPAK_REMOTE_NAME FLATPAK_REMOTE_REFS FLATPAK_REMOTE_URL _FLATPAK_REPO_GPG _FLATPAK_REPO_URL
|
_TEMPLATE_VARS += FLATPAK_REMOTE_NAME FLATPAK_REMOTE_REFS FLATPAK_REMOTE_URL _FLATPAK_REPO_GPG _FLATPAK_REPO_URL
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
ifneq ($(FLATPAK_DIR),)
|
||||||
|
_FLATPAK_REPO_GPG = $(shell curl -L $(FLATPAK_REMOTE_URL) | grep -i '^GPGKey=' | cut -d= -f2)
|
||||||
|
_FLATPAK_REPO_URL = $(shell curl -L $(FLATPAK_REMOTE_URL) | grep -i '^URL=' | cut -d= -f2)
|
||||||
|
_LORAX_ARGS += -i flatpak-libs
|
||||||
|
_LORAX_TEMPLATES += $(call get_templates,flatpak)
|
||||||
|
_TEMPLATE_VARS += FLATPAK_REMOTE_NAME FLATPAK_REMOTE_REFS FLATPAK_REMOTE_URL _FLATPAK_REPO_GPG _FLATPAK_REPO_URL
|
||||||
|
endif
|
||||||
|
|
||||||
|
|
||||||
ifneq ($(SECURE_BOOT_KEY_URL),)
|
ifneq ($(SECURE_BOOT_KEY_URL),)
|
||||||
_LORAX_TEMPLATES += $(call get_templates,secureboot)
|
_LORAX_TEMPLATES += $(call get_templates,secureboot)
|
||||||
_TEMPLATE_VARS += ENROLLMENT_PASSWORD
|
_TEMPLATE_VARS += ENROLLMENT_PASSWORD
|
||||||
|
|
@ -200,7 +209,7 @@ container/$(IMAGE_NAME)-$(IMAGE_TAG):
|
||||||
xorriso/%.sh: xorriso/%.sh.in
|
xorriso/%.sh: xorriso/%.sh.in
|
||||||
sed -i 's/quiet/quiet $(EXTRA_BOOT_PARAMS)/g' results/boot/grub2/grub.cfg
|
sed -i 's/quiet/quiet $(EXTRA_BOOT_PARAMS)/g' results/boot/grub2/grub.cfg
|
||||||
sed -i 's/quiet/quiet $(EXTRA_BOOT_PARAMS)/g' results/EFI/BOOT/grub.cfg
|
sed -i 's/quiet/quiet $(EXTRA_BOOT_PARAMS)/g' results/EFI/BOOT/grub.cfg
|
||||||
$(eval _VARS = IMAGE_NAME IMAGE_TAG ARCH VERSION)
|
$(eval _VARS = FLATPAK_DIR IMAGE_NAME IMAGE_TAG ARCH VERSION)
|
||||||
$(foreach var,$(_VARS),$(var)=$($(var))) envsubst '$(foreach var,$(_VARS),$$$(var))' < $(_BASE_DIR)/xorriso/$*.sh.in > $(_BASE_DIR)/xorriso/$*.sh
|
$(foreach var,$(_VARS),$(var)=$($(var))) envsubst '$(foreach var,$(_VARS),$$$(var))' < $(_BASE_DIR)/xorriso/$*.sh.in > $(_BASE_DIR)/xorriso/$*.sh
|
||||||
|
|
||||||
# Step 6: Generate xorriso input
|
# Step 6: Generate xorriso input
|
||||||
|
|
|
||||||
|
|
@ -141,13 +141,13 @@ runs:
|
||||||
run: |
|
run: |
|
||||||
image="${{ inputs.image_repo }}/${{ inputs.image_name }}:${{ inputs.image_tag }}"
|
image="${{ inputs.image_repo }}/${{ inputs.image_name }}:${{ inputs.image_tag }}"
|
||||||
# Make temp space
|
# Make temp space
|
||||||
FLATPAK_DIR=$(mktemp -d -p ${{ github.workspace }} flatpak.XXX)
|
FLATPAK_DIR=$(basename $(mktemp -d -p ${{ github.workspace }} flatpak.XXX))
|
||||||
# Get list of refs from directory
|
# Get list of refs from directory
|
||||||
sudo mkdir /github || true
|
sudo mkdir /github || true
|
||||||
sudo ln -s ${{ github.workspace }} /github/workspace
|
sudo ln -s ${{ github.workspace }} /github/workspace
|
||||||
DIR_REFS=$(cat ${{ inputs.flatpak_remote_refs_dir }}/* | tr '\n' ' ' )
|
DIR_REFS=$(cat ${{ inputs.flatpak_remote_refs_dir }}/* | tr '\n' ' ' )
|
||||||
# Generate install script
|
# Generate install script
|
||||||
cat << EOF > ${FLATPAK_DIR}/script.sh
|
cat << EOF > ${{ github.workspace }}/${FLATPAK_DIR}/script.sh
|
||||||
mkdir -p /flatpak/flatpak /flatpak/triggers
|
mkdir -p /flatpak/flatpak /flatpak/triggers
|
||||||
mkdir /var/tmp || true
|
mkdir /var/tmp || true
|
||||||
chmod -R 1777 /var/tmp
|
chmod -R 1777 /var/tmp
|
||||||
|
|
@ -159,7 +159,7 @@ runs:
|
||||||
cp -R /flatpak/flatpak /flatpak_dir/
|
cp -R /flatpak/flatpak /flatpak_dir/
|
||||||
ostree refs --repo=/flatpak_dir/flatpak/repo
|
ostree refs --repo=/flatpak_dir/flatpak/repo
|
||||||
EOF
|
EOF
|
||||||
docker run --rm --privileged --entrypoint bash -e FLATPAK_SYSTEM_DIR=/flatpak/flatpak -e FLATPAK_TRIGGERSDIR=/flatpak/triggers --volume ${FLATPAK_DIR}:/flatpak_dir ${image} /flatpak_dir/script.sh
|
docker run --rm --privileged --entrypoint bash -e FLATPAK_SYSTEM_DIR=/flatpak/flatpak -e FLATPAK_TRIGGERSDIR=/flatpak/triggers --volume ${{ github.workspace }}/${FLATPAK_DIR}:/flatpak_dir ${image} /flatpak_dir/script.sh
|
||||||
echo "flatpak_dir=${FLATPAK_DIR}" >> $GITHUB_OUTPUT
|
echo "flatpak_dir=${FLATPAK_DIR}" >> $GITHUB_OUTPUT
|
||||||
docker rmi ${image}
|
docker rmi ${image}
|
||||||
|
|
||||||
|
|
@ -216,7 +216,7 @@ runs:
|
||||||
FLATPAK_REMOTE_NAME="${{ inputs.flatpak_remote_name }}" \
|
FLATPAK_REMOTE_NAME="${{ inputs.flatpak_remote_name }}" \
|
||||||
${vars} \
|
${vars} \
|
||||||
FLATPAK_REMOTE_URL="${{ inputs.flatpak_remote_url }}" \
|
FLATPAK_REMOTE_URL="${{ inputs.flatpak_remote_url }}" \
|
||||||
FLATPAK_DIR="${{ steps.flatpak_dependencies.outputs.flatpak_dir }}" \
|
FLATPAK_DIR="${{ steps.flatpak_dependencies.outputs.flatpak_dir && format('/github/workspace/{0}', steps.flatpak_dependencies.outputs.flatpak_dir) || '' }}" \
|
||||||
IMAGE_NAME="${{ inputs.image_name }}" \
|
IMAGE_NAME="${{ inputs.image_name }}" \
|
||||||
IMAGE_REPO="${{ inputs.image_repo }}" \
|
IMAGE_REPO="${{ inputs.image_repo }}" \
|
||||||
IMAGE_TAG="${{ inputs.image_tag || inputs.version }}" \
|
IMAGE_TAG="${{ inputs.image_tag || inputs.version }}" \
|
||||||
|
|
|
||||||
5
lorax_templates/flatpak_link.tmpl
Normal file
5
lorax_templates/flatpak_link.tmpl
Normal file
|
|
@ -0,0 +1,5 @@
|
||||||
|
<%page args="flatpak_dir"/>
|
||||||
|
|
||||||
|
%if flatpak_dir != ""
|
||||||
|
symlink /run/install/repo/flatpak /flatpak
|
||||||
|
%endif
|
||||||
|
|
@ -10,6 +10,17 @@ echo "-chmod 0444 boot/grub2/grub.cfg"
|
||||||
echo "-map $(pwd)/results/EFI/BOOT/grub.cfg EFI/BOOT/grub.cfg"
|
echo "-map $(pwd)/results/EFI/BOOT/grub.cfg EFI/BOOT/grub.cfg"
|
||||||
echo "-chmod 0444 EFI/BOOT/grub.cfg"
|
echo "-chmod 0444 EFI/BOOT/grub.cfg"
|
||||||
|
|
||||||
|
if [[ -n "${FLATPAK_DIR}" ]]
|
||||||
|
then
|
||||||
|
pushd ${FLATPAK_DIR} > /dev/null
|
||||||
|
for file in $(find)
|
||||||
|
do
|
||||||
|
echo "-map $(pwd)/${file} flatpak/${file}"
|
||||||
|
echo "-chmod 0444 flatpak/${file}"
|
||||||
|
done
|
||||||
|
popd > /dev/null
|
||||||
|
fi
|
||||||
|
|
||||||
if [ -f $(pwd)/sb_pubkey.der ]
|
if [ -f $(pwd)/sb_pubkey.der ]
|
||||||
then
|
then
|
||||||
echo "-map $(pwd)/sb_pubkey.der sb_pubkey.der"
|
echo "-map $(pwd)/sb_pubkey.der sb_pubkey.der"
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue