11 Commits

Author SHA1 Message Date
Paul Hollinsky
8e7d235513 tools/toolbox: Explicitly use /bin/bash
The script uses bash-specific language extensions which cause syntax
errors when run with /bin/sh -> /bin/dash.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3186>
2024-02-11 14:41:31 -08:00
Florian Müllner
ab40b5c711 tools/toolbox: Remove prepare step when setting up classic
The classic styling is no longer build from a subproject, so
there aren't any submodules that need initializing anymore.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3133>
2024-01-25 22:11:22 +00:00
Florian Müllner
26e8408b92 tools/toolbox: Consistently handle option parsing failures
`getopt` already prints a message on parse errors, but it still
seems like good style to point to --help as we do elsewhere.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3113>
2024-01-15 17:18:09 +00:00
Florian Müllner
b739375bbd tools/toolbox: Set up first toolbox as default
Setting up more than one gnome-shell toolbox is uncommon, and users
shouldn't have to specify --set-default for other tools to pick the
right default.

It would be possible to detect the number of containers that were
created from the shell toolbox image, but the far easier option is
to just set up the first container as default.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2935>
2023-12-01 15:58:21 +00:00
Florian Müllner
5998036dc2 tools/toolbox: Allow to set new toolbox as default for other tools
When specified, write out a small config file that can be sourced
by other scripts to pick the default toolbox container.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2935>
2023-12-01 15:58:21 +00:00
Florian Müllner
464ad5aa95 tools/create-toolbox: Allow setting up support for GNOME Classic
As unbeloved as it is, it still needs testing. Make that a tad
bit less annoying by automating the setup.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2713>
2023-05-16 18:20:42 +00:00
Florian Müllner
3ab8c5d272 tools/create-toolbox: Allow enabling additional locales
Out of the box, the container images only support US English. It
can sometimes be necessary to use a different locale, so add
a convenience flag to enable support for additional locales.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2713>
2023-05-16 18:20:42 +00:00
Florian Müllner
d9c627cf27 tools/create-toolbox: Optionally create Builder config
It is possible to run gnome-shell nested from gnome-builder,
but the setup is fairly tedious.

Add another option to the script to generate a suitable
.buildconfig file.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2713>
2023-05-16 18:20:42 +00:00
Florian Müllner
241011313a tools/create-toolbox: Allow skipping mutter build
The container is useless for building or running gnome-shell unless
it includes the correct mutter version, so building it by default
makes sense.

However a manual build can be significantly faster when there's an
existing build dir, so add an option to skip the automatic build.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2713>
2023-05-16 18:20:42 +00:00
Florian Müllner
36e9db4fb7 tools/create-toolbox: Allow replacing existing toolbox
A toolbox created by the script can be used as the base of a pet
container that is manually updated with new dependencies over time
and accumalates additional packages; or it can be used as a deposable
container that is recreated each time the dependencies change.

To make the latter case more convenient, add a --replace option
that deletes an existing toolbox before creating the new one.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2713>
2023-05-16 18:20:42 +00:00
Florian Müllner
8ea4e089c6 tools/create-toolbox: Add convenience script
The script is a thin wrapper around `toolbox create`, mainly to
avoid the tedious image names. In addition, it allows us to
ensure that the container includes a matching mutter version.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2713>
2023-05-16 18:20:42 +00:00