diff --git a/images/fedora/f40/Containerfile b/images/fedora/f40/Containerfile new file mode 100644 index 000000000..5b14e73f0 --- /dev/null +++ b/images/fedora/f40/Containerfile @@ -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 " + +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 $(/dev/null; then \ + echo "$file: No such file or directory" >&2; \ + ret_val=1; \ + break; \ + fi; \ + done &2; \ + echo "$broken_packages" >&2; \ + false; \ + fi + +RUN dnf clean all diff --git a/images/fedora/f40/README.md b/images/fedora/f40/README.md new file mode 100644 index 000000000..44a35b3a8 --- /dev/null +++ b/images/fedora/f40/README.md @@ -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/). diff --git a/images/fedora/f40/ensure-files b/images/fedora/f40/ensure-files new file mode 100644 index 000000000..54c6b84c9 --- /dev/null +++ b/images/fedora/f40/ensure-files @@ -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* diff --git a/images/fedora/f40/extra-packages b/images/fedora/f40/extra-packages new file mode 100644 index 000000000..488124f8c --- /dev/null +++ b/images/fedora/f40/extra-packages @@ -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 diff --git a/images/fedora/f40/missing-docs b/images/fedora/f40/missing-docs new file mode 100644 index 000000000..98f139546 --- /dev/null +++ b/images/fedora/f40/missing-docs @@ -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