init: kickstart for fedora-container-toolbox
Signed-off-by: Samyak Jain <samyak.jn11@gmail.com>
This commit is contained in:
parent
13cc5064a6
commit
48e2c3b559
160
fedora-container-toolbox.ks
Normal file
160
fedora-container-toolbox.ks
Normal file
@ -0,0 +1,160 @@
|
||||
# Kickstart file for Fedora Toolbox
|
||||
|
||||
# See fedora-container-common.ks for details on how to hack on container image kickstarts
|
||||
# This base is a standard Fedora image with python3 and dnf
|
||||
|
||||
%include fedora-container-common.ks
|
||||
|
||||
# Install packages
|
||||
%packages --excludedocs --inst-langs=en --nocore --exclude-weakdeps
|
||||
@standard
|
||||
@core
|
||||
rootfiles
|
||||
tar # https://bugzilla.redhat.com/show_bug.cgi?id=1409920
|
||||
vim-enhanced
|
||||
dnf
|
||||
dnf-yum # https://fedorahosted.org/fesco/ticket/1312#comment:29
|
||||
sudo
|
||||
-glibc-minimal-langpack
|
||||
-glibc-all-langpacks
|
||||
acl
|
||||
bash
|
||||
coreutils-common
|
||||
curl
|
||||
findutils
|
||||
gawk
|
||||
gnupg2
|
||||
grep
|
||||
gzip
|
||||
libcap
|
||||
openssl
|
||||
p11-kit
|
||||
pam
|
||||
python3
|
||||
rpm
|
||||
sed
|
||||
systemd
|
||||
util-linux-core
|
||||
bash-completion
|
||||
bc
|
||||
bzip2
|
||||
diffutils
|
||||
dnf-plugins-core
|
||||
flatpak-spawn
|
||||
fpaste
|
||||
git
|
||||
gnupg2-smime
|
||||
gvfs-client
|
||||
hostname
|
||||
iproute
|
||||
iputils
|
||||
whois
|
||||
keyutils
|
||||
krb5-libs
|
||||
less
|
||||
lsof
|
||||
man-db
|
||||
man-pages
|
||||
mesa-dri-drivers
|
||||
mesa-vulkan-drivers
|
||||
mtr
|
||||
nano-default-editor
|
||||
nss-mdns
|
||||
openssh-clients
|
||||
passwd
|
||||
pigz
|
||||
procps-ng
|
||||
rsync
|
||||
shadow-utils
|
||||
tcpdump
|
||||
time
|
||||
traceroute
|
||||
tree
|
||||
unzip
|
||||
util-linux
|
||||
vte-profile
|
||||
vulkan-loader
|
||||
wget
|
||||
which
|
||||
words
|
||||
xorg-x11-xauth
|
||||
xz
|
||||
zip
|
||||
%end
|
||||
|
||||
# Pre-installation commands
|
||||
%pre
|
||||
# Copy README.md
|
||||
cp /README.md /mnt/sysimage/README.md
|
||||
|
||||
# Remove macros.image-language-conf file
|
||||
rm -f /mnt/sysimage/etc/rpm/macros.image-language-conf
|
||||
|
||||
# Remove 'tsflags=nodocs' line from dnf.conf
|
||||
sed -i '/tsflags=nodocs/d' /mnt/sysimage/etc/dnf/dnf.conf
|
||||
|
||||
# https://bugzilla.redhat.com/show_bug.cgi?id=1343138
|
||||
# Fix /run/lock breakage since it's not tmpfs in docker
|
||||
# This unmounts /run (tmpfs) and then recreates the files
|
||||
# in the /run directory on the root filesystem of the container
|
||||
#
|
||||
# We ignore the return code of the systemd-tmpfiles command because
|
||||
# at this point we have already removed the /etc/machine-id and all
|
||||
# tmpfiles lines with %m in them will fail and cause a bad return
|
||||
# code. Example failure:
|
||||
# [/usr/lib/tmpfiles.d/systemd.conf:26] Failed to replace specifiers: /run/log/journal/%m
|
||||
#
|
||||
umount /run
|
||||
rm -f /run/nologin # https://pagure.io/atomic-wg/issue/316
|
||||
|
||||
# Final pruning
|
||||
rm -rfv /var/cache/* /var/log/* /tmp/*
|
||||
|
||||
%end
|
||||
|
||||
# Perform any necessary post-installation configurations specific to Fedora Toolbox (nochroot environment)
|
||||
# Post-installation commands
|
||||
|
||||
%post --nochroot --erroronfail --log=/mnt/sysimage/root/anaconda-post-nochroot.log
|
||||
set -eux
|
||||
|
||||
# Swap coreutils-single with coreutils-full
|
||||
dnf -y swap coreutils-single coreutils-full
|
||||
|
||||
# Swap glibc-minimal-langpack with glibc-all-langpacks
|
||||
dnf -y swap glibc-minimal-langpack glibc-all-langpacks
|
||||
|
||||
# Check if specified files exist
|
||||
declare -a files=(
|
||||
"/usr/share/man/man1/bash.1*"
|
||||
"/usr/share/man/man1/cd.1*"
|
||||
"/usr/share/man/man1/export.1*"
|
||||
"/usr/share/man/man1/cat.1*"
|
||||
"/usr/share/man/man1/cp.1*"
|
||||
"/usr/share/man/man1/ls.1*"
|
||||
"/usr/share/man/man1/gpg2.1*"
|
||||
"/usr/share/man/man7/gnupg2.7*"
|
||||
"/usr/share/man/fr/man8/rpm.8*"
|
||||
"/usr/share/man/ja/man8/rpm.8*"
|
||||
"/usr/share/man/man8/rpm.8*"
|
||||
"/usr/share/man/man1/kill.1*"
|
||||
"/usr/share/man/man8/mount.8*"
|
||||
)
|
||||
|
||||
ret_val=0
|
||||
for file in "${files[@]}"; do
|
||||
if ! compgen -G "$file" >/dev/null; then
|
||||
echo "$file: No such file or directory" >&2
|
||||
ret_val=1
|
||||
break
|
||||
fi
|
||||
done
|
||||
|
||||
if [ "$ret_val" -ne 0 ]; then
|
||||
false
|
||||
fi
|
||||
|
||||
# Clean up dnf cache
|
||||
dnf clean all
|
||||
|
||||
%end
|
Loading…
Reference in New Issue
Block a user