Overview of changes in 0.0.99.2 =============================== * Add nano-default-editor to the fedora-toolbox images * Add unit tests for pkg/shell * Connect Go unit tests to Meson & rename CI job * Decouple image caching from Zuul for the system tests * Don't assume that the user's GID is the same as the UID * Don't require /etc/machine-id in toolbox images * Drop ShellCheck on Shell Toolbox * Give access to systemd-resolved's Varlink socket * Optimize 'enter' and 'run' in the non-fallback case * Optimize the performance of 'list' * Properly separate builddir setup & build in the Ansible playbooks * Rename Dockerfile to Containerfile for the fedora-toolbox images * Show test execution time for the system tests * Support listing images without names * Unbreak 'create' on an unlocked OSTree deployment * Unbreak 'create' on CoreOS with read-only /boot * Update default release to 33 for non-Fedora hosts * Update the GitHub issue templates * Use a regular file, not a symbolic link, for the README.md in the fedora-toolbox images * Fall back to $HOME when using a container if the current working directory isn't present in it * Various updates to the Bash completion * Various updates to the manuals Overview of changes in 0.0.99.1 =============================== * Add deprecation notices to the POSIX shell implementation * Add test for the new --distro option * Drop the FGC namespace from the fedora-toolbox images * Fix miscellaneous issues pointed out by https://www.shellcheck.net/ * Handle hosts with /etc/localtime as absolute symlink * Improve README.md * Improve the Zuul configuration * Mount /mnt only if it is available * Refactor the system tests, and use bats-assert and bats-support * Test that sudo doesn't require a password * Update the manuals Overview of changes in 0.0.99 ============================= * Add a --distro option to 'create', 'enter' and 'run' * Prevent setting VTE-specific PROMPT_COMMAND without VTE * Remove the --candidate-registry option from Bash completion and the manual for 'create' * Remove the deprecated reset command * Support RHEL hosts by creating containers based on UBI * Try to avoid 'latest' tags, when looking at RepoTags * Update the labels used for filtering toolbox containers images * Update the range of supported Fedora releases Overview of changes in 0.0.98.1 =============================== * Pass the USER environment variable to the container * Make /etc/profile.d/toolbox.sh compatible with Z shell again * Update the manual to mention that the --image and --release options of 'create' can't be used together Overview of changes in 0.0.98 ============================= * Add nss-mdns to the fedora-toolbox images * Correctly check validity of container name * Don't leak all the os-release fields into the shell * Don't rely on XDG_RUNTIME_DIR when running as root * Give access to Avahi to resolve the .local mDNS domain * Make coredumpctl(1) 'dump' and 'debug' work inside toolbox containers * Make options --image and --release for 'create' mutually exclusive * Notify the terminal about the real UID of 'toolbox enter' * Remove periods at the end of flag descriptions * Set XDG_RUNTIME_DIR when creating the toolbox container * Unbreak 'enter' on hosts without a /etc/localtime * Unbreak the system tests on Fedora 33 * Use the host's user namespace when running as root Overview of changes in 0.0.97 ============================= * Allow X11 clients to run as root * Color the output only when displaying on a terminal * Don't rely on user D-Bus to track time zone configuration * Enable running minikube on Silverblue * Expose the host's /boot inside the container at /run/host * Fix missing terminfo warning for Ubuntu containers * Make locate(1) work inside toolbox containers * Make pseudo-terminal devices be owned by the 'tty' group * Rework test to check if a toolbox container started successfully * Run a login shell when falling back to Bash during 'enter' Overview of changes in 0.0.96 ============================= * Don't break GNU Readline's ctrl-p shortcut * Enable system tests on Fedora 33 * Fix containers with missing /media possibly due to a failed RPM transaction * Give access to the udev database * Unbreak X11 applications with GNOME 3.38 * Update default release to 31 for non-Fedora hosts Overview of changes in 0.0.95 ============================= * Try to handle configuration files that're absolute symlinks when the entry point sets up the container * Unbreak 'enter' on Fedora CoreOS * Unbreak 'sudo' inside toolbox containers with Podman 2.0.5 * Warn if $TERM has no terminfo entry in the container Overview of changes in 0.0.94 ============================= * Add contribution guidelines * Add fedora-toolbox image definition for Fedora 34 * Add more information to errors from creating symbolic links when setting up the toolbox container in the entry point * Ensure binaries built on Fedora 33 run on Fedoras 32 & 31 * Install the tests * Make it more obvious when falling back to /bin/bash * Document that sudo(8) should work without a password * Mount a tmpfs at /tmp to match the host * Update issue templates Overview of changes in 0.0.93 ============================= * Ensure reproducible builds by using the -trimpath build flag * Fix the test suite to work with the Go implementation * Make listing of containers and images more robust against changes in the JSON returned by Podman * List out dependencies and installation instructions * Re-enable highlighting of running containers * Show the spinner only when connected to a terminal * Speed things up by caching the Podman version at runtime * Update hint after creating a container to use the new syntax * Use the correct verb format for string Overview of changes in 0.0.92 ============================= * Embed the version from Meson into the binary * Make it build on aarch64 Overview of changes in 0.0.91 ============================= * Add gvfs-client to the fedora-toolbox images * Adjust for changes in JSON output from 'podman ps' and 'podman images' in Podman 2.0 * Lower the Go build requirements to make it easier to build on Fedora * Show an error if $PWD is missing inside the container Overview of changes in 0.0.90 ============================= * Rewrite Toolbox in Go * Remove support for toolbox containers created by Toolbox 0.0.9 and older * Add option --version to show current Toolbox version * Add options --log-level and --log-podman as possible future replacements for --verbose and --very-verbose * Clean up the spinner when aborted by SIGINT (or ctrl+c) and such * Fix duplication in the output of the list command * Mark the reset command as deprecated (replaced by 'podman system reset') * Support specifying the name of a toolbox container as an argument to the create and enter commands, in addition to the --container option Overview of changes in 0.0.18 ============================= * Check /usr/share/profile.d when bind mounting toolbox.sh * Mount /media only if it is available * Set up /media and /mnt to match the host * Unbreak 'enter' when SELinux is disabled Overview of changes in 0.0.17 ============================= * Add a --very-verbose or -vv option * Deprecate all toolbox containers that don't use a reflexive entry point * Ensure that 'run' has at least one argument for the command * Give access to the host's systemd journal * Wipe out the container's /sys/fs/selinux to not advertise SELinux Overview of changes in 0.0.16 ============================= * Add a reset command * Document requirements for distro support * Don't use a toolbox container until after it has been configured * Drop the coloured heading from 'list' * Miscellaneous fixes to Bash completion * Remove the hidden --sudo option and the /etc/sudoers.d snippet * Try to migrate to a supported OCI runtime if 'podman start' suggests so * Unbreak 'run' if container lacks files that are redirected to the host Overview of changes in 0.0.15 ============================= * Be forgiving of a missing /etc/profile.d/toolbox.sh in 'run' * Don't sanity check /etc/subgid and /etc/subuid when running as root * Install only flatpak-spawn, not the rest of flatpak-xdg-utils, in the images * Let the terminal know the active container only on some Fedora variants * Rely on 'podman system migrate' always being present * Simplify code by dropping compatibility with 'podman create' < 1.4.0 * Switch to using /usr/lib/os-release instead of /etc/os-release * Unbreak 'create' on Silverblue * Update default release to 30 when running on non-fedora hosts Overview of changes in 0.0.14 ============================= * Adjust the grep match pattern to be more specific * Don't exit with a non-zero code from 'toolbox list -i' * Expose a few more host locations inside the container under /run/host * Give access to the system Flatpak directory * Give access to the system libvirt instance * Mount /run/media only if it is available * Preserve the host's ulimits when creating toolbox containers * Work around 'podman exec' resetting the terminal size to 80x24 Overview of changes in 0.0.13 ============================= * Drop PackageKit-command-not-found from the images * Improve the help or usage output * Simplify code by taking advantage of 'podman create --userns=keep-id' * Simplify code by taking advantage of 'podman exec --workdir ...' * Tighten the Silverblue check for the welcome message Overview of changes in 0.0.12 ============================= * Create /run/.toolboxenv inside the toolbox container's entry point too * Don't use 'podman cp' to copy toolbox.sh to old containers * Drop the "immutable" term * Unbreak /etc/localtime & /etc/timezone if /run/host/monitor is absent Overview of changes in 0.0.11 ============================= * Allow Qt applications to work without QT_X11_NO_MITSHM * Check if /etc/subgid and /etc/subuid have entries for the user * Give access to the entire /dev from the host operating system * Keep /etc/host.conf, /etc/localtime and /etc/timezone synchronized with the host * Notify the terminal about the current toolbox container in use * Prevent Podman from complaining about 'podman cp --pause=true ...' * Unbreak rendering & wrapping of commands typed at an interactive prompt * Unbreak setting up /home as a symbolic link Overview of changes in 0.0.10 ============================= * Add a run command * Create /run/.toolboxenv in 'toolbox enter' for identification * Drop the Buildah dependency and the user-specific customized image * Keep /etc/hosts and /etc/resolv.conf synchronized with the host * Migrate existing containers when Podman is updated * Retain the PS1 across su(1) and sudo(8) * Set the Kerberos credential cache type only if Kerberos is available * Support column(1) from bsdmainutils * Support 'sudo' as default sudo(8) group * Use a magenta hexagon instead of 🔹 in the PS1 Overview of changes in 0.0.9 ============================ * Add Bash completion * Allow connecting to Wayland displays other than "wayland-0" * Ask for confirmation before downloading the base image * Improve the onboarding experience * Make it available inside the toolbox container * Make 'toolbox enter' create or fall back to a container when possible * Set TOOLBOX_CONTAINER in the environment to identify as a toolbox * Set default release to 29 when running on non-fedora hosts * Show welcome texts on interactive shells Overview of changes in 0.0.8 ============================ * Add label for tagging, not tied to the fedora-toolbox name * Add short variants for various options in 'create' and 'enter' * Ensure that names of toolbox containers don't have a colon * Enable Travis * Fix miscellaneous issues pointed out by https://www.shellcheck.net/ * Give access to Kerberos if KCM credential caches are being used * Improve the onboarding experience * Reduce the sizes of the images by removing temporary files created by DNF * Use a lighter entry point than /bin/sh Overview of changes in 0.0.7 ============================ * Add fedora-toolbox image definition for Fedora 31 * Add flatpak-xdg-utils to Fedoras 29 and 30 * Add manuals * Add rm and rmi commands * Be more informative when creating the working container * Clarify the error message if the toolbox container is not found * Don't create volumes in the image for bind mounts from the host * Fix miscellaneous issues pointed out by https://www.shellcheck.net/ * Give access to /dev/bus for control transfers from USB devices * Give access to removable devices and other temporary mounts * Lots of Bash-isms removed for POSIX correctness * Make the --image flag override the base toolbox image, as documented * Make the spinner more efficient * Restore documentation removed from the base Fedora images Overview of changes in 0.0.6 ============================ * Add a list command * Drop the "fedora" prefix and rename the project as just "toolbox" * Fix typos pointed out by https://www.shellcheck.net/ * Lots of Bash-isms removed for POSIX correctness * Make --container and --image command-specific options * Make it work inside the toolbox container itself * Shorten the prefix for debug and error messages * Use the host's PID namespace for the toolbox container * Use the standard error output for error messages Overview of changes in 0.0.5 ============================ * Give access to mounts under $HOME, and make autofs work * Show a spinner when creating the toolbox Overview of changes in 0.0.4 ============================ * Avoid spooky root-like behaviour for non-root interactive shells * Give access to the FUSE kernel module * Improve the readability of the debug output * Set up $HOME and /home to match the host * Try to enter the same directory inside the toolbox Overview of changes in 0.0.3 ============================ * Clean up the Buildah working containers on error * Unbreak creating the toolbox if the toolbox image already exists Overview of changes in 0.0.2 ============================ * Allow an 'F' or 'f' prefix when specifying the release * Avoid a Bash-ism (ie. ==) and stick to POSIX (ie. =) * Fallback to /bin/bash if $SHELL doesn't exist in the toolbox container * Give access to the system D-Bus instance * Make shm_open work Overview of changes in 0.0.1 ============================ * First preview release ---- Copyright © 2018 – 2021 Red Hat, Inc. All rights reserved. Copying and distribution of this file, with or without modification, are permitted in any medium without royalty provided the copyright notice and this notice are preserved.