Add recipe for Fedora 40
Signed-off-by: alexdesiqueira <alex.desiqueira@igdore.org>
This commit is contained in:
parent
ed14cd483a
commit
465bf8c5f0
|
@ -0,0 +1,54 @@
|
||||||
|
FROM registry.fedoraproject.org/fedora:40
|
||||||
|
|
||||||
|
ARG NAME=fedora-toolbox
|
||||||
|
ARG VERSION=40
|
||||||
|
LABEL com.github.containers.toolbox="true" \
|
||||||
|
com.redhat.component="$NAME" \
|
||||||
|
name="$NAME" \
|
||||||
|
version="$VERSION" \
|
||||||
|
usage="This image is meant to be used with the toolbox(1) command" \
|
||||||
|
summary="Image for creating Fedora Toolbx containers" \
|
||||||
|
maintainer="Debarshi Ray <rishi@fedoraproject.org>"
|
||||||
|
|
||||||
|
COPY README.md /
|
||||||
|
|
||||||
|
RUN rm /etc/rpm/macros.image-language-conf
|
||||||
|
RUN sed -i '/tsflags=nodocs/d' /etc/dnf/dnf.conf
|
||||||
|
|
||||||
|
RUN dnf -y upgrade
|
||||||
|
RUN dnf -y swap coreutils-single coreutils-full
|
||||||
|
RUN dnf -y swap glibc-minimal-langpack glibc-all-langpacks
|
||||||
|
|
||||||
|
COPY missing-docs /
|
||||||
|
RUN dnf -y reinstall $(<missing-docs)
|
||||||
|
RUN rm /missing-docs
|
||||||
|
|
||||||
|
COPY extra-packages /
|
||||||
|
RUN dnf -y install $(<extra-packages)
|
||||||
|
RUN rm /extra-packages
|
||||||
|
|
||||||
|
COPY ensure-files /
|
||||||
|
RUN ret_val=0; \
|
||||||
|
while read file; do \
|
||||||
|
if ! compgen -G "$file" >/dev/null; then \
|
||||||
|
echo "$file: No such file or directory" >&2; \
|
||||||
|
ret_val=1; \
|
||||||
|
break; \
|
||||||
|
fi; \
|
||||||
|
done <ensure-files; \
|
||||||
|
if [ "$ret_val" -ne 0 ]; then \
|
||||||
|
false; \
|
||||||
|
fi
|
||||||
|
RUN rm /ensure-files
|
||||||
|
|
||||||
|
RUN broken_packages="$(rpm --all --query --state --queryformat "PACKAGE: %{NAME}\n" \
|
||||||
|
| sed --quiet --regexp-extended '/PACKAGE: /{s/PACKAGE: // ; h ; b }; /^not installed/ { g; p }' \
|
||||||
|
| uniq \
|
||||||
|
| sort)"; \
|
||||||
|
if [ "$broken_packages" != "" ]; then \
|
||||||
|
echo "Packages with missing files:" >&2; \
|
||||||
|
echo "$broken_packages" >&2; \
|
||||||
|
false; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
RUN dnf clean all
|
|
@ -0,0 +1,44 @@
|
||||||
|
[Toolbx](https://containertoolbx.org/) is a tool for Linux, which allows the
|
||||||
|
use of interactive command line environments for software development and
|
||||||
|
troubleshooting the host operating system, without having to install software
|
||||||
|
on the host. It is built on top of [Podman](https://podman.io/) and other
|
||||||
|
standard container technologies from [OCI](https://opencontainers.org/).
|
||||||
|
|
||||||
|
Toolbx environments have seamless access to the user's home directory,
|
||||||
|
the Wayland and X11 sockets, networking (including Avahi), removable devices
|
||||||
|
(like USB sticks), systemd journal, SSH agent, D-Bus, ulimits, /dev and the
|
||||||
|
udev database, etc..
|
||||||
|
|
||||||
|
This is particularly useful on
|
||||||
|
[OSTree](https://ostreedev.github.io/ostree/) based operating systems like
|
||||||
|
[Fedora CoreOS](https://fedoraproject.org/coreos/) and
|
||||||
|
[Silverblue](https://fedoraproject.org/silverblue/). The intention of these
|
||||||
|
systems is to discourage installation of software on the host, and instead
|
||||||
|
install software as (or in) containers — they mostly don't even have package
|
||||||
|
managers like DNF or YUM. This makes it difficult to set up a development
|
||||||
|
environment or troubleshoot the operating system in the usual way.
|
||||||
|
|
||||||
|
Toolbx solves this problem by providing a fully mutable container within
|
||||||
|
which one can install their favourite development and troubleshooting tools,
|
||||||
|
editors and SDKs. For example, it's possible to do `yum install ansible`
|
||||||
|
without affecting the base operating system.
|
||||||
|
|
||||||
|
However, this tool doesn't *require* using an OSTree based system. It works
|
||||||
|
equally well on Fedora Workstation and Server, and that's a useful way to
|
||||||
|
incrementally adopt containerization.
|
||||||
|
|
||||||
|
The Toolbx environment is based on an [OCI](https://www.opencontainers.org/)
|
||||||
|
image. On Fedora this is the `fedora-toolbox` image. This image is used to
|
||||||
|
create a Toolbx container that offers the interactive command line
|
||||||
|
environment.
|
||||||
|
|
||||||
|
Note that Toolbx makes no promise about security beyond what's already
|
||||||
|
available in the usual command line environment on the host that everybody is
|
||||||
|
familiar with.
|
||||||
|
|
||||||
|
|
||||||
|
## Installation & Use
|
||||||
|
|
||||||
|
See our guides on
|
||||||
|
[installing & getting started](https://containertoolbx.org/install/) with
|
||||||
|
Toolbx and [Linux distro support](https://containertoolbx.org/distros/).
|
|
@ -0,0 +1,51 @@
|
||||||
|
/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/cracklib/cracklib-small.pwd*
|
||||||
|
/usr/share/cracklib/pw_dict.pwd*
|
||||||
|
|
||||||
|
/usr/share/man/man8/dnf.8*
|
||||||
|
/usr/share/man/man5/dnf.conf.5*
|
||||||
|
|
||||||
|
/usr/share/locale/de/LC_MESSAGES/elfutils.mo
|
||||||
|
/usr/share/locale/ja/LC_MESSAGES/elfutils.mo
|
||||||
|
|
||||||
|
/usr/share/locale/fr/LC_MESSAGES/gawk.mo
|
||||||
|
/usr/share/locale/ko/LC_MESSAGES/gawk.mo
|
||||||
|
|
||||||
|
/usr/share/man/man1/gpg2.1*
|
||||||
|
/usr/share/man/man7/gnupg2.7*
|
||||||
|
|
||||||
|
/usr/share/info/nettle.info*
|
||||||
|
|
||||||
|
/usr/share/locale/fr/LC_MESSAGES/popt.mo
|
||||||
|
/usr/share/locale/ja/LC_MESSAGES/popt.mo
|
||||||
|
|
||||||
|
/usr/share/man/fr/man1/pstree.1*
|
||||||
|
/usr/share/man/ko/man1/pstree.1*
|
||||||
|
/usr/share/man/man1/pstree.1*
|
||||||
|
|
||||||
|
/usr/share/info/history.info*
|
||||||
|
|
||||||
|
/usr/share/man/man8/rpm.8*
|
||||||
|
/usr/share/man/man8/rpm2cpio.8*
|
||||||
|
|
||||||
|
/usr/share/man/fr/man8/useradd.8*
|
||||||
|
/usr/share/man/ja/man8/useradd.8*
|
||||||
|
/usr/share/man/man8/useradd.8*
|
||||||
|
|
||||||
|
/usr/share/man/man1/cal.1.*
|
||||||
|
/usr/share/man/man1/getopt.1*
|
||||||
|
/usr/share/man/man1/hexdump.1*
|
||||||
|
|
||||||
|
/usr/share/man/man1/kill.1*
|
||||||
|
/usr/share/man/man8/mount.8*
|
||||||
|
|
||||||
|
/usr/share/man/fr/man1/xz.1*
|
||||||
|
/usr/share/man/ko/man1/xz.1*
|
||||||
|
/usr/share/man/man1/xz.1*
|
|
@ -0,0 +1,52 @@
|
||||||
|
bash-completion
|
||||||
|
bc
|
||||||
|
bzip2
|
||||||
|
cracklib-dicts
|
||||||
|
diffutils
|
||||||
|
dnf-plugins-core
|
||||||
|
findutils
|
||||||
|
flatpak-spawn
|
||||||
|
fpaste
|
||||||
|
gawk-all-langpacks
|
||||||
|
git
|
||||||
|
glibc-gconv-extra
|
||||||
|
gnupg2
|
||||||
|
gnupg2-smime
|
||||||
|
gvfs-client
|
||||||
|
hostname
|
||||||
|
iproute
|
||||||
|
iputils
|
||||||
|
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
|
||||||
|
psmisc
|
||||||
|
rsync
|
||||||
|
shadow-utils
|
||||||
|
sudo
|
||||||
|
tcpdump
|
||||||
|
time
|
||||||
|
traceroute
|
||||||
|
tree
|
||||||
|
unzip
|
||||||
|
util-linux
|
||||||
|
vte-profile
|
||||||
|
vulkan-loader
|
||||||
|
wget
|
||||||
|
which
|
||||||
|
whois
|
||||||
|
words
|
||||||
|
xorg-x11-xauth
|
||||||
|
xz
|
||||||
|
zip
|
|
@ -0,0 +1,90 @@
|
||||||
|
acl
|
||||||
|
alternatives
|
||||||
|
audit-libs
|
||||||
|
authselect
|
||||||
|
authselect-libs
|
||||||
|
bash
|
||||||
|
ca-certificates
|
||||||
|
coreutils-common
|
||||||
|
cracklib
|
||||||
|
crypto-policies
|
||||||
|
curl
|
||||||
|
cyrus-sasl-lib
|
||||||
|
dnf
|
||||||
|
dnf-data
|
||||||
|
elfutils-libelf
|
||||||
|
expat
|
||||||
|
file-libs
|
||||||
|
filesystem
|
||||||
|
findutils
|
||||||
|
gawk
|
||||||
|
glib2
|
||||||
|
gmp
|
||||||
|
gnupg2
|
||||||
|
gnutls
|
||||||
|
grep
|
||||||
|
gzip
|
||||||
|
ima-evm-utils
|
||||||
|
keyutils-libs
|
||||||
|
krb5-libs
|
||||||
|
libarchive
|
||||||
|
libassuan
|
||||||
|
libblkid
|
||||||
|
libcap
|
||||||
|
libcap-ng
|
||||||
|
libcomps
|
||||||
|
libdb
|
||||||
|
libdnf
|
||||||
|
libeconf
|
||||||
|
libevent
|
||||||
|
libffi
|
||||||
|
libgcrypt
|
||||||
|
libgomp
|
||||||
|
libgpg-error
|
||||||
|
libidn2
|
||||||
|
libksba
|
||||||
|
libmodulemd
|
||||||
|
libpwquality
|
||||||
|
librepo
|
||||||
|
libsemanage
|
||||||
|
libsigsegv
|
||||||
|
libsolv
|
||||||
|
libssh
|
||||||
|
libtasn1
|
||||||
|
libtirpc
|
||||||
|
libunistring
|
||||||
|
libverto
|
||||||
|
libxcrypt
|
||||||
|
libxml2
|
||||||
|
libyaml
|
||||||
|
lz4-libs
|
||||||
|
mpfr
|
||||||
|
ncurses-base
|
||||||
|
nettle
|
||||||
|
openldap
|
||||||
|
openssl
|
||||||
|
p11-kit
|
||||||
|
pam
|
||||||
|
pcre2-syntax
|
||||||
|
popt
|
||||||
|
python3
|
||||||
|
python3-libs
|
||||||
|
python3-rpm
|
||||||
|
readline
|
||||||
|
rpm
|
||||||
|
rpm-sequoia
|
||||||
|
sed
|
||||||
|
setup
|
||||||
|
shadow-utils
|
||||||
|
sqlite-libs
|
||||||
|
sudo
|
||||||
|
systemd
|
||||||
|
systemd-libs
|
||||||
|
tar
|
||||||
|
tpm2-tss
|
||||||
|
tzdata
|
||||||
|
util-linux-core
|
||||||
|
vim-minimal
|
||||||
|
yum
|
||||||
|
zchunk-libs
|
||||||
|
zlib
|
Loading…
Reference in New Issue