Drop the "fedora" prefix and rename the project as just "toolbox"

The "fedora" prefix was used because this project was specifically
incubated to make it easier to hack on Fedora Silverblue. That and the
mix of upstream technologies (ie., Buildah and Podman) made it uniquely
"Fedora".

However, over time it has gotten clear that other groups, currently
Fedora downstreams like RHEL, are interested in it too. It won't be
surprising if in future it transcends the Fedora universe altogether.
Moreover, this project was inspired by coreos/toolbox [1]. There are
good reasons and enough interest to have a unified toolbox project
that addresses the needs of both Fedora CoreOS and Silverblue.

Therefore, it is best to drop the "fedora" prefix and call the whole
thing just "toolbox".

No extra effort was made to retain compatibility with the older name
due to the project's young age. Its userbase is limited to the earliest
of early adopters, and the benefits of a clean break outweigh the
loss of compatibility.

The OCI images and the toolbox container still retain the "fedora"
prefix to disambiguate them from their counterparts from other
operating systems.

[1] https://github.com/coreos/toolbox

https://github.com/debarshiray/toolbox/issues/8
This commit is contained in:
Debarshi Ray 2019-02-15 16:36:30 +01:00
parent 05f3530421
commit c6b5a4836f
7 changed files with 36 additions and 35 deletions

View file

@ -1,8 +1,8 @@
# Fedora Toolbox — Unprivileged development environment # Toolbox — Unprivileged development environment
[Fedora Toolbox](https://github.com/debarshiray/fedora-toolbox) is a tool that [Toolbox](https://github.com/debarshiray/toolbox) is a tool that offers a
offers a familiar RPM based environment for developing and debugging software familiar RPM based environment for developing and debugging software that runs
that runs fully unprivileged using [Podman](https://podman.io/). fully unprivileged using [Podman](https://podman.io/).
The toolbox container is a fully *mutable* container; when you see The toolbox container is a fully *mutable* container; when you see
`yum install ansible` for example, that's something you can do inside your `yum install ansible` for example, that's something you can do inside your
@ -18,23 +18,24 @@ However this project doesn't *require* using an OSTree based system — it
works equally well if you're running e.g. existing Fedora Workstation or works equally well if you're running e.g. existing Fedora Workstation or
Server, and that's a useful way to incrementally adopt containerization. Server, and that's a useful way to incrementally adopt containerization.
The toolbox environment is based on the `fedora-toolbox` image. This image is The toolbox environment is based on an OCI image. On Fedora this is the
then customized for the current user to create a toolbox container that `fedora-toolbox` image. This image is then customized for the current user to
seamlessly integrates with the rest of the operating system. create a toolbox container thatseamlessly integrates with the rest of the
operating system.
## Usage ## Usage
### Create your Fedora Toolbox container: ### Create your toolbox container:
``` ```
[user@hostname ~]$ fedora-toolbox create [user@hostname ~]$ toolbox create
[user@hostname ~]$ [user@hostname ~]$
``` ```
This will create a container, and an image, called This will create a container, and an image, called
`fedora-toolbox-<your-username>:<version-id>` that's specifically customised `fedora-toolbox-<your-username>:<version-id>` that's specifically customised
for your host user. for your host user.
### Enter the Toolbox: ### Enter the toolbox:
``` ```
[user@hostname ~]$ fedora-toolbox enter [user@hostname ~]$ toolbox enter
🔹[user@toolbox ~]$ 🔹[user@toolbox ~]$
``` ```

View file

@ -4,7 +4,7 @@ ENV NAME=fedora-toolbox VERSION=28
LABEL com.redhat.component="$NAME" \ LABEL com.redhat.component="$NAME" \
name="$FGC/$NAME" \ name="$FGC/$NAME" \
version="$VERSION" \ version="$VERSION" \
usage="This image is meant to be used with the fedora-toolbox command" \ usage="This image is meant to be used with the toolbox command" \
summary="Base image for creating Fedora toolbox containers" \ summary="Base image for creating Fedora toolbox containers" \
maintainer="Debarshi Ray <rishi@fedoraproject.org>" maintainer="Debarshi Ray <rishi@fedoraproject.org>"

View file

@ -4,7 +4,7 @@ ENV NAME=fedora-toolbox VERSION=29
LABEL com.redhat.component="$NAME" \ LABEL com.redhat.component="$NAME" \
name="$FGC/$NAME" \ name="$FGC/$NAME" \
version="$VERSION" \ version="$VERSION" \
usage="This image is meant to be used with the fedora-toolbox command" \ usage="This image is meant to be used with the toolbox command" \
summary="Base image for creating Fedora toolbox containers" \ summary="Base image for creating Fedora toolbox containers" \
maintainer="Debarshi Ray <rishi@fedoraproject.org>" maintainer="Debarshi Ray <rishi@fedoraproject.org>"

View file

@ -4,7 +4,7 @@ ENV NAME=fedora-toolbox VERSION=30
LABEL com.redhat.component="$NAME" \ LABEL com.redhat.component="$NAME" \
name="$FGC/$NAME" \ name="$FGC/$NAME" \
version="$VERSION" \ version="$VERSION" \
usage="This image is meant to be used with the fedora-toolbox command" \ usage="This image is meant to be used with the toolbox command" \
summary="Base image for creating Fedora toolbox containers" \ summary="Base image for creating Fedora toolbox containers" \
maintainer="Debarshi Ray <rishi@fedoraproject.org>" maintainer="Debarshi Ray <rishi@fedoraproject.org>"

View file

@ -1,11 +1,11 @@
project( project(
'fedora-toolbox', 'toolbox',
version: '0.0.5', version: '0.0.5',
license: 'ASL 2.0', license: 'ASL 2.0',
meson_version: '>= 0.40.0', meson_version: '>= 0.40.0',
) )
install_data( install_data(
'fedora-toolbox', 'toolbox',
install_dir: get_option('bindir'), install_dir: get_option('bindir'),
) )

View file

@ -212,7 +212,7 @@ create()
( (
dbus_system_bus_address="unix:path=/var/run/dbus/system_bus_socket" dbus_system_bus_address="unix:path=/var/run/dbus/system_bus_socket"
tmpfs_size=$((64 * 1024 * 1024)) # 64 MiB tmpfs_size=$((64 * 1024 * 1024)) # 64 MiB
working_container_name="fedora-toolbox-working-container-$(uuidgen --time)" working_container_name="toolbox-working-container-$(uuidgen --time)"
if [ "$DBUS_SYSTEM_BUS_ADDRESS" != "" ]; then if [ "$DBUS_SYSTEM_BUS_ADDRESS" != "" ]; then
dbus_system_bus_address=$DBUS_SYSTEM_BUS_ADDRESS dbus_system_bus_address=$DBUS_SYSTEM_BUS_ADDRESS
@ -231,7 +231,7 @@ create()
localhost/$base_toolbox_image >/dev/null 2>&42; then localhost/$base_toolbox_image >/dev/null 2>&42; then
echo "$base_toolbox_command: looking for image $registry/$fgc/$base_toolbox_image" >&42 echo "$base_toolbox_command: looking for image $registry/$fgc/$base_toolbox_image" >&42
if spinner_directory=$(mktemp --directory --tmpdir fedora-toolbox-spinner-XXXXXXXXXX 2>&42); then if spinner_directory=$(mktemp --directory --tmpdir toolbox-spinner-XXXXXXXXXX 2>&42); then
spinner_message="$base_toolbox_command: pulling from $registry: " spinner_message="$base_toolbox_command: pulling from $registry: "
if ! spinner_start "$spinner_directory" "$spinner_message"; then if ! spinner_start "$spinner_directory" "$spinner_message"; then
spinner_directory="" spinner_directory=""
@ -258,7 +258,7 @@ create()
echo "$base_toolbox_command: trying to configure working container $working_container_name" >&42 echo "$base_toolbox_command: trying to configure working container $working_container_name" >&42
if spinner_directory=$(mktemp --directory --tmpdir fedora-toolbox-spinner-XXXXXXXXXX 2>&42); then if spinner_directory=$(mktemp --directory --tmpdir toolbox-spinner-XXXXXXXXXX 2>&42); then
spinner_message="$base_toolbox_command: configuring working container: " spinner_message="$base_toolbox_command: configuring working container: "
if ! spinner_start "$spinner_directory" "$spinner_message"; then if ! spinner_start "$spinner_directory" "$spinner_message"; then
spinner_directory="" spinner_directory=""
@ -282,7 +282,7 @@ create()
echo "$base_toolbox_command: trying to create image $toolbox_image" >&42 echo "$base_toolbox_command: trying to create image $toolbox_image" >&42
if spinner_directory=$(mktemp --directory --tmpdir fedora-toolbox-spinner-XXXXXXXXXX 2>&42); then if spinner_directory=$(mktemp --directory --tmpdir toolbox-spinner-XXXXXXXXXX 2>&42); then
spinner_message="$base_toolbox_command: creating image $toolbox_image: " spinner_message="$base_toolbox_command: creating image $toolbox_image: "
if ! spinner_start "$spinner_directory" "$spinner_message"; then if ! spinner_start "$spinner_directory" "$spinner_message"; then
spinner_directory="" spinner_directory=""
@ -326,7 +326,7 @@ create()
echo "$base_toolbox_command: trying to create container $toolbox_container" >&42 echo "$base_toolbox_command: trying to create container $toolbox_container" >&42
if spinner_directory=$(mktemp --directory --tmpdir fedora-toolbox-spinner-XXXXXXXXXX 2>&42); then if spinner_directory=$(mktemp --directory --tmpdir toolbox-spinner-XXXXXXXXXX 2>&42); then
spinner_message="$base_toolbox_command: creating container $toolbox_container: " spinner_message="$base_toolbox_command: creating container $toolbox_container: "
if ! spinner_start "$spinner_directory" "$spinner_message"; then if ! spinner_start "$spinner_directory" "$spinner_message"; then
spinner_directory="" spinner_directory=""
@ -436,7 +436,7 @@ list_images()
| column --separator $'\t' --table --table-columns "IMAGE ID,IMAGE NAME,CREATED") | column --separator $'\t' --table --table-columns "IMAGE ID,IMAGE NAME,CREATED")
if [ "$output" != "" ]; then if [ "$output" != "" ]; then
echo -e "${LBC}Images created by fedora-toolbox${NC}" echo -e "${LBC}Images created by toolbox${NC}"
echo "$output" echo "$output"
fi fi
) )
@ -455,7 +455,7 @@ list_containers()
--table-columns "CONTAINER ID,CONTAINER NAME,CREATED,STATUS,IMAGE NAME" 2>&42) --table-columns "CONTAINER ID,CONTAINER NAME,CREATED,STATUS,IMAGE NAME" 2>&42)
if [ "$output" != "" ]; then if [ "$output" != "" ]; then
echo -e "${LBC}Containers created by fedora-toolbox${NC}" echo -e "${LBC}Containers created by toolbox${NC}"
echo "$output" | head --lines 1 2>&42 echo "$output" | head --lines 1 2>&42
( (
echo "$output" | tail --lines +2 2>&42 echo "$output" | tail --lines +2 2>&42
@ -495,18 +495,18 @@ exit_if_unrecognized_option()
usage() usage()
{ {
echo "Usage: fedora-toolbox [--container <name>]" echo "Usage: toolbox [--container <name>]"
echo " [--release <release>]" echo " [--release <release>]"
echo " [-v | --verbose]" echo " [-v | --verbose]"
echo " create [--candidate-registry]" echo " create [--candidate-registry]"
echo " [--image <name>]" echo " [--image <name>]"
echo " or: fedora-toolbox [--container <name>]" echo " or: toolbox [--container <name>]"
echo " [--release <release>]" echo " [--release <release>]"
echo " [-v | --verbose]" echo " [-v | --verbose]"
echo " enter" echo " enter"
echo " or: fedora-toolbox list [-c | --containers]" echo " or: toolbox list [-c | --containers]"
echo " [-i | --images]" echo " [-i | --images]"
echo " or: fedora-toolbox --help" echo " or: toolbox --help"
} }