feat: switch to bootc/dnf5
This commit is contained in:
parent
45dad42de4
commit
095621b7ab
2 changed files with 13 additions and 75 deletions
|
@ -1,59 +1,20 @@
|
||||||
## 1. BUILD ARGS
|
FROM ghcr.io/ublue-os/base-main:latest
|
||||||
# These allow changing the produced image by passing different build args to adjust
|
|
||||||
# the source from which your image is built.
|
|
||||||
# Build args can be provided on the commandline when building locally with:
|
|
||||||
# podman build -f Containerfile --build-arg FEDORA_VERSION=40 -t local-image
|
|
||||||
|
|
||||||
# SOURCE_IMAGE arg can be anything from ublue upstream which matches your desired version:
|
## Nvidia users use this instead
|
||||||
# See list here: https://github.com/orgs/ublue-os/packages?repo_name=main
|
# FROM ghcr.io/ublue-os/base-nvidia:latest
|
||||||
# - "silverblue"
|
|
||||||
# - "kinoite"
|
|
||||||
# - "sericea"
|
|
||||||
# - "onyx"
|
|
||||||
# - "lazurite"
|
|
||||||
# - "vauxite"
|
|
||||||
# - "base"
|
|
||||||
#
|
|
||||||
# "aurora", "bazzite", "bluefin" or "ucore" may also be used but have different suffixes.
|
|
||||||
ARG SOURCE_IMAGE="silverblue"
|
|
||||||
|
|
||||||
## SOURCE_SUFFIX arg should include a hyphen and the appropriate suffix name
|
|
||||||
# These examples all work for silverblue/kinoite/sericea/onyx/lazurite/vauxite/base
|
|
||||||
# - "-main"
|
|
||||||
# - "-nvidia"
|
|
||||||
# - "-asus"
|
|
||||||
# - "-asus-nvidia"
|
|
||||||
# - "-surface"
|
|
||||||
# - "-surface-nvidia"
|
|
||||||
#
|
|
||||||
# aurora, bazzite and bluefin each have unique suffixes. Please check the specific image.
|
|
||||||
# ucore has the following possible suffixes
|
|
||||||
# - stable
|
|
||||||
# - stable-nvidia
|
|
||||||
# - stable-zfs
|
|
||||||
# - stable-nvidia-zfs
|
|
||||||
# - (and the above with testing rather than stable)
|
|
||||||
ARG SOURCE_SUFFIX="-main"
|
|
||||||
|
|
||||||
## SOURCE_TAG arg must be a version built for the specific image: eg, 39, 40, gts, latest
|
|
||||||
ARG SOURCE_TAG="latest"
|
|
||||||
|
|
||||||
|
|
||||||
### 2. SOURCE IMAGE
|
## Install a Desktop
|
||||||
## this is a standard Containerfile FROM using the build ARGs above to select the right upstream image
|
|
||||||
FROM ghcr.io/ublue-os/${SOURCE_IMAGE}${SOURCE_SUFFIX}:${SOURCE_TAG}
|
|
||||||
|
|
||||||
|
RUN dnf5 group install kde-desktop kde-apps
|
||||||
|
|
||||||
### 3. MODIFICATIONS
|
## Install applications
|
||||||
## make modifications desired in your image and install packages by modifying the build.sh script
|
# Anything in Fedora
|
||||||
## the following RUN directive does all the things required to run "build.sh" as recommended.
|
|
||||||
|
|
||||||
COPY build.sh /tmp/build.sh
|
RUN dnf5 install vlc
|
||||||
|
|
||||||
RUN mkdir -p /var/lib/alternatives && \
|
## Add COPRs
|
||||||
/tmp/build.sh && \
|
# RUN dnf copr enable (copr-author/name)
|
||||||
ostree container commit
|
|
||||||
## NOTES:
|
## Manage services
|
||||||
# - /var/lib/alternatives is required to prevent failure with some RPM installs
|
# systemctl enable foo.service
|
||||||
# - All RUN commands must end with ostree container commit
|
|
||||||
# see: https://coreos.github.io/rpm-ostree/container/#using-ostree-container-commit
|
|
23
build.sh
23
build.sh
|
@ -1,23 +0,0 @@
|
||||||
#!/bin/bash
|
|
||||||
|
|
||||||
set -ouex pipefail
|
|
||||||
|
|
||||||
RELEASE="$(rpm -E %fedora)"
|
|
||||||
|
|
||||||
|
|
||||||
### Install packages
|
|
||||||
|
|
||||||
# Packages can be installed from any enabled yum repo on the image.
|
|
||||||
# RPMfusion repos are available by default in ublue main images
|
|
||||||
# List of rpmfusion packages can be found here:
|
|
||||||
# https://mirrors.rpmfusion.org/mirrorlist?path=free/fedora/updates/39/x86_64/repoview/index.html&protocol=https&redirect=1
|
|
||||||
|
|
||||||
# this installs a package from fedora repos
|
|
||||||
rpm-ostree install screen
|
|
||||||
|
|
||||||
# this would install a package from rpmfusion
|
|
||||||
# rpm-ostree install vlc
|
|
||||||
|
|
||||||
#### Example for enabling a System Unit File
|
|
||||||
|
|
||||||
systemctl enable podman.socket
|
|
Loading…
Reference in a new issue