Commit Graph

11 Commits

Author SHA1 Message Date
Florian Müllner
bb78a0083a doc: Add README for toolbox tooling
Now that we have a collection of scripts around the toolbox
workflow, it makes sense to add a brief overview over the
available tools.

For now it's just located in the corresponding tools folder,
but it gives us something to point to once we overhaul the
toplevel documentation as part of the wiki migration.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/3040>
2023-12-04 16:30:14 +00:00
Florian Müllner
c4fcc82137 tools/toolbox: Add run convenience script
Wrapping the gnome-shell call with `dbus-run-session` is *mostly*
enough for testing, but not quite.

When running without gnome-session, the wayland display is not
propagated to the D-Bus daemon, so any app that is D-Bus activated
still opens in the host session.

This can be worked around by using a specific wayland-display name
and exporting it to the `dbus-run-session` environment up-front.

At this point the invocation is finicky enough to justify another
convenience script. This also gives us a place to expose some
useful features for testing, like forcing a right-to-left layout
or simulating the greeter.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2935>
2023-12-01 15:58:21 +00:00
Florian Müllner
c22574c9b9 tools/toolbox: Add build convenience script
We don't require any build steps other than the standard meson
commands, but entering a toolbox and running 2-3 meson commands
still adds some friction.

Add a small convencience script that
 - finds the toplevel source directory (similar to `jhbuild make`)
 - enters the speficied toolbox (or the configured default)
 - automatically picks a build directory based on the toolbox name
 - builds and installs the project to /usr (inside the toolbox)

It also allows specifying meson -D options to change the build
configuration, and to optionally run `meson dist`.

Part-of: <https://gitlab.gnome.org/GNOME/gnome-shell/-/merge_requests/2935>
2023-12-01 15:58:21 +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