2a099e8049
The 'reset' command is meant to factory reset the local Podman and Toolbox installations. Every now and then early adopters and testers of Toolbox have to do this when their local Podman state has gotten irrecoverably broken due to some Podman bug. It's useful to have a command that encapsulates all the steps to do a factory reset, as opposed to having to spell them out separately. It's easier to document, helps with user support, and can enable less opaque error messages that suggest a way forward when nothing is working. Since this command is meant to be used when the Podman installation is completely broken, it must avoid using any Podman commands at all costs. This is why it cannot use 'podman stop' to stop any running containers, nor can it use 'podman unshare' to delete ~/.local/share/containers when running rootless. Instead, it relies on the user rebooting the machine for the former, and uses newgidmap(1), newuidmap(1) and unshare(1) to reimplement 'podman unshare' for the latter. Note that when running as root, some care has been taken to avoid removing directories that might be owned by the operating system. eg., on Fedora /var/lib/containers/sigstore is owned by the containers-common RPM. https://github.com/containers/toolbox/pull/295
32 lines
560 B
Meson
32 lines
560 B
Meson
go_md2man_command = [
|
|
go_md2man,
|
|
'-in', '@INPUT@',
|
|
'-out', '@OUTPUT@',
|
|
]
|
|
|
|
manuals = [
|
|
'toolbox.1',
|
|
'toolbox-create.1',
|
|
'toolbox-enter.1',
|
|
'toolbox-init-container.1',
|
|
'toolbox-help.1',
|
|
'toolbox-list.1',
|
|
'toolbox-reset.1',
|
|
'toolbox-rm.1',
|
|
'toolbox-rmi.1',
|
|
'toolbox-run.1',
|
|
]
|
|
|
|
foreach manual: manuals
|
|
input = manual + '.md'
|
|
output = manual
|
|
|
|
custom_target(
|
|
output,
|
|
command: go_md2man_command,
|
|
input: input,
|
|
install: true,
|
|
install_dir: join_paths(get_option('mandir'), 'man1'),
|
|
output: output,
|
|
)
|
|
endforeach
|