Compare commits

...

2 Commits

Author SHA1 Message Date
Louis Abel f307b722ce
add container definitions 2024-04-23 14:18:31 -07:00
Louis Abel e2f1bfdd87
Minor adjustments 2024-04-13 23:55:05 -07:00
3 changed files with 296 additions and 4 deletions

View File

@ -30,9 +30,9 @@ haven't tried it yet. Theory says it should work.
Note that selinux must be set to permissive.
#### Live Image Example
#### Live Image Example (EPEL)
The below makes an XFCE live image.
The below makes an XFCE live image using EPEL packages.
```
% mock -r rocky+epel-9-x86_64 --init

View File

@ -2,5 +2,297 @@
<profiles>
<profile name="Core-Container" description="Container Core Packages">
</profile>
<profile name="Container-Base" description="Container Base Image">
<requires profile="Core-Container"/>
</profile>
<profile name="Container-Minimal" description="Minimal Container Image">
<requires profile="Core-Container"/>
</profile>
<profile name="Container-UBI" description="UBI Container Image">
<requires profile="Core-Container"/>
</profile>
<!-- The base container is the starting point, but we have additional
packages to deal with. So this is a standalone profile. -->
<profile name="Container-Toolbox" description="Toolbox Container Image">
</profile>
<!-- ... -->
</profiles>
<preferences profiles="Container-Base">
<type image="oci">
<containerconfig
name="rockylinux"
tag="9"
maintainer="Release Engineering (SIG/Core)">
<subcommand execute="/bin/bash"/>
<labels>
<label name="org.opencontainers.image.vendor" value="Rocky Enterprise Software Foundation"/>
<label name="org.opencontainers.image.url" value="https://github.com/rocky-linux/rocky-toolbox-images"/>
<label name="org.opencontainers.image.license" value="BSD-3-Clause"/>
<label name="org.opencontainers.image.name" value="rockylinux"/>
<label name="org.opencontainers.image.version" value="9"/>
<label name="org.opencontainers.image.authors" value="Magauer Lukas, Neil Hanlon, Louis Abel"/>
<label name="vendor" value="Rocky Enterprise Software Foundation"/>
<label name="license" value="BSD-3-Clause"/>
<label name="name" value="rockylinux"/>
<label name="version" value="9"/>
</labels>
</containerconfig>
</type>
<timezone>Etc/UTC</timezone>
<locale>en_US</locale>
<rpm-locale-filtering>true</rpm-locale-filtering>
<rpm-excludedocs>true</rpm-excludedocs>
</preferences>
<preferences profiles="Container-Minimal">
<type image="oci">
<containerconfig
name="rockylinux"
tag="9-minimal"
maintainer="Release Engineering (SIG/Core)">
<subcommand execute="/bin/bash"/>
<labels>
<label name="org.opencontainers.image.vendor" value="Rocky Enterprise Software Foundation"/>
<label name="org.opencontainers.image.url" value="https://github.com/rocky-linux/rocky-toolbox-images"/>
<label name="org.opencontainers.image.license" value="BSD-3-Clause"/>
<label name="org.opencontainers.image.name" value="rockylinux"/>
<label name="org.opencontainers.image.version" value="9-minimal"/>
<label name="org.opencontainers.image.authors" value="Magauer Lukas, Neil Hanlon, Louis Abel"/>
<label name="vendor" value="Rocky Enterprise Software Foundation"/>
<label name="license" value="BSD-3-Clause"/>
<label name="name" value="rockylinux"/>
<label name="version" value="9-minimal"/>
</labels>
</containerconfig>
</type>
<timezone>Etc/UTC</timezone>
<locale>en_US</locale>
<rpm-locale-filtering>true</rpm-locale-filtering>
<rpm-excludedocs>true</rpm-excludedocs>
</preferences>
<preferences profiles="Container-UBI">
<type image="oci">
<containerconfig
name="rockylinux"
tag="9-UBI"
maintainer="Release Engineering (SIG/Core)">
<subcommand execute="/bin/bash"/>
<labels>
<label name="org.opencontainers.image.vendor" value="Rocky Enterprise Software Foundation"/>
<label name="org.opencontainers.image.url" value="https://github.com/rocky-linux/rocky-toolbox-images"/>
<label name="org.opencontainers.image.license" value="BSD-3-Clause"/>
<label name="org.opencontainers.image.name" value="rockylinux"/>
<label name="org.opencontainers.image.version" value="9-UBI"/>
<label name="org.opencontainers.image.authors" value="Magauer Lukas, Neil Hanlon, Louis Abel"/>
<label name="vendor" value="Rocky Enterprise Software Foundation"/>
<label name="license" value="BSD-3-Clause"/>
<label name="name" value="rockylinux"/>
<label name="version" value="9-UBI"/>
</labels>
</containerconfig>
</type>
<timezone>Etc/UTC</timezone>
<locale>en_US</locale>
<rpm-locale-filtering>true</rpm-locale-filtering>
<rpm-excludedocs>true</rpm-excludedocs>
</preferences>
<preferences profiles="Container-Toolbox">
<type image="oci">
<containerconfig
name="rocky-toolbox"
tag="9"
maintainer="Release Engineering (SIG/Core)">
<subcommand execute="/bin/bash"/>
<labels>
<label name="org.opencontainers.image.vendor" value="Rocky Enterprise Software Foundation"/>
<label name="org.opencontainers.image.url" value="https://github.com/rocky-linux/rocky-toolbox-images"/>
<label name="org.opencontainers.image.license" value="BSD-3-Clause"/>
<label name="org.opencontainers.image.name" value="rocky-toolbox"/>
<label name="org.opencontainers.image.version" value="9"/>
<label name="org.opencontainers.image.authors" value="Magauer Lukas, Neil Hanlon, Louis Abel"/>
<label name="vendor" value="Rocky Enterprise Software Foundation"/>
<label name="license" value="BSD-3-Clause"/>
<label name="name" value="rocky-toolbox"/>
<label name="version" value="9"/>
</labels>
</containerconfig>
</type>
<timezone>Etc/UTC</timezone>
<locale>en_US</locale>
<rpm-locale-filtering>true</rpm-locale-filtering>
<rpm-excludedocs>true</rpm-excludedocs>
</preferences>
<!-- Core package installation. This affects everything except for the
toolbox container. -->
<packages type="bootstrap" profiles="Core-Container">
<package name="bash"/>
<package name="coreutils-single"/>
<package name="glibc-minimal-langpack"/>
<package name="rocky-release"/>
<package name="util-linux"/>
<ignore name="dosfstools"/>
<ignore name="e2fsprogs"/>
<ignore name="firewalld"/>
<ignore name="fuse-libs"/>
<ignore name="gettext*"/>
<ignore name="gnupg2-smime"/>
<ignore name="grub*"/>
<ignore name="iptables"/>
<ignore name="kernel"/>
<ignore name="*-firmware"/>
<ignore name="libss"/>
<ignore name="os-prober"/>
<ignore name="pinentry"/>
<ignore name="qemu-guest-agent"/>
<ignore name="shared-mime-info"/>
<ignore name="trousers"/>
<ignore name="xfsprogs"/>
<ignore name="xkeyboard-config"/>
</packages>
<!-- Base -->
<packages type="bootstrap" profiles="Container-Base">
<package name="binutils"/>
<package name="crypto-policies-scripts"/>
<package name="curl-minimal"/>
<package name="dnf"/>
<package name="findutils"/>
<package name="gzip"/>
<package name="hostname"/>
<package name="iputils"/>
<package name="less"/>
<package name="libcurl-minimal"/>
<package name="libusbx"/>
<package name="rootfiles"/>
<package name="tar"/>
<package name="usermode"/>
<package name="vim-minimal"/>
<ignore name="brotli"/>
<ignore name="kexec-tools"/>
</packages>
<!-- End Base -->
<!-- Minimal -->
<packages type="bootstrap" profiles="Container-Minimal">
<package name="microdnf"/>
<ignore name="brotli"/>
<ignore name="hostname"/>
<ignore name="iputils"/>
<ignore name="kexec-tools"/>
<ignore name="less"/>
<ignore name="rootfiles"/>
<ignore name="tar"/>
<ignore name="vim-minimal"/>
<ignore name="yum"/>
</packages>
<!-- End Minimal -->
<!-- UBI -->
<packages type="bootstrap" profiles="Container-UBI">
<package name="crypto-policies-scripts"/>
<package name="curl-minimal"/>
<package name="dnf"/>
<package name="gdb-gdbserver"/>
<package name="gzip"/>
<package name="libcurl-minimal"/>
<package name="rootfiles"/>
<package name="systemd"/>
<package name="tar"/>
<package name="vim-minimal"/>
<package name="which"/>
<ignore name="kexec-tools"/>
</packages>
<!-- End UBI -->
<!-- Toolbox -->
<packages type="bootstrap" patternType="plusRecommended" profiles="Container-Toolbox">
<package name="acl"/>
<package name="bash"/>
<package name="bash-completion"/>
<package name="bc"/>
<package name="bzip2"/>
<package name="coreutils-single"/>
<package name="curl"/>
<package name="diffutils"/>
<package name="dnf"/>
<package name="dnf-plugins-core"/>
<package name="findutils"/>
<package name="flatpak-spawn"/>
<package name="gawk"/>
<package name="git"/>
<package name="glibc-minimal-langpack"/>
<package name="gnupg"/>
<package name="gnupg2-smime"/>
<package name="grep"/>
<package name="gvfs-client"/>
<package name="gzip"/>
<package name="hostname"/>
<package name="iproute"/>
<package name="iputils"/>
<package name="keyutils"/>
<package name="krb5-libs"/>
<package name="less"/>
<package name="libcap"/>
<package name="lsof"/>
<package name="man-db"/>
<package name="man-pages"/>
<package name="mlocate"/>
<package name="mtr"/>
<package name="openssh-clients"/>
<package name="openssl"/>
<package name="p11-kit"/>
<package name="pam"/>
<package name="passwd"/>
<package name="pigz"/>
<package name="procps-ng"/>
<package name="python3"/>
<package name="rocky-release"/>
<package name="rpaste"/>
<package name="rpm"/>
<package name="rsync"/>
<package name="sed"/>
<package name="shadow-utils"/>
<package name="sudo"/>
<package name="systemd"/>
<package name="tar"/>
<package name="tcpdump"/>
<package name="time"/>
<package name="traceroute"/>
<package name="tree"/>
<package name="unzip"/>
<package name="util-linux"/>
<package name="vte-profile"/>
<package name="wget"/>
<package name="which"/>
<package name="words"/>
<package name="xorg-x11-xauth"/>
<package name="xz"/>
<package name="zip"/>
<ignore name="dosfstools"/>
<ignore name="e2fsprogs"/>
<ignore name="firewalld"/>
<ignore name="fuse-libs"/>
<ignore name="gettext*"/>
<ignore name="geolite2-city"/>
<ignore name="geolite2-country"/>
<ignore name="grubby"/>
<ignore name="iptables"/>
<ignore name="kernel"/>
<ignore name="*-firmware"/>
<ignore name="libss"/>
<ignore name="osprober"/>
<ignore name="pinentry"/>
<ignore name="shared-mime-info"/>
<ignore name="sssd-client"/>
<ignore name="trousers"/>
<ignore name="xfsprogs"/>
<ignore name="xkeyboard-config"/>
</packages>
<packages type="uninstall" profiles="Container-Toolbox">
<package name="dracut"/>
<package name="pinentry"/>
<package name="systemd-resolved"/>
<package name="xkeyboard-config"/>
</packages>
<!-- End Toolbox -->
</image>

View File

@ -75,7 +75,7 @@ function switch_repo_to_peridot() {
sed -i "s;ZZ_INTERNAL_CRB_REPO_URL_ZZ;https://yumrepofs.build.resf.org/v1/projects/${ID}/repo/CRB/\$basearch;g" core-peridot.xml
sed -i "s;ZZ_INTERNAL_extras_REPO_URL_ZZ;https://yumrepofs.build.resf.org/v1/projects/${ID}/repo/extras/\$basearch;g" core-peridot.xml
rm core.xml
ln -s core-peridot.xml core.xml
ln -sf core-peridot.xml core.xml
popd
}
@ -85,7 +85,7 @@ function main() {
echo "${LIVE} was not found. Is it supported?"
exit 42
fi
ln -s "configs/rocky-live-${LIVE,,}.xml" config.xml
ln -sf "configs/rocky-live-${LIVE,,}.xml" config.xml
if [ -n "$PERIDOTID" ]; then
switch_repo_to_peridot "${PERIDOTID}"