Commit graph

59 commits

Author SHA1 Message Date
Ondřej Míchal
bafbbe81c9 Generate & install completion scripts in build system
The previous commit added a means to generating the completion scripts
and this one plugs that into the build system.

A new build option 'install_completions' has been introduced. Set to
'True' by default.

Completions for bash and fish use pkg-config for getting the preferred
install locations for the completions. If the packages are not
available, fallbacks are in-place.

The 'completion' subdir has been kept to work around the ideology of
Meson that does not allow creating/outputing files in subdirectories nor
using the output of custom_target() in install_data().

https://github.com/containers/toolbox/pull/840
2022-02-21 15:15:30 +02:00
Debarshi Ray
677dda64f3 README.md: Link to the website instead of the code repository
Now that there's a website at https://containertoolbx.org/ it makes
more sense to link to it instead of linking back to the same location
where the README.md resides.
2021-12-08 17:19:47 +01:00
Debarshi Ray
f0dfb8f3c1 README.md: Shorten it by linking to the website wherever possible
https://github.com/containers/toolbox/pull/949
2021-12-08 16:16:18 +01:00
Debarshi Ray
2d56a8a084 README.md: Say Containerfile, not Dockerfile
Fallout from 66c49e0926

https://github.com/containers/toolbox/pull/940
2021-12-01 01:08:56 +01:00
Debarshi Ray
72cccca59f README.md: Update image requirements
https://github.com/containers/toolbox/issues/885
2021-12-01 01:08:56 +01:00
Debarshi Ray
5c51809a35 README.md: Remove stale comment
Fallout from abb2ac6fd4

https://github.com/containers/toolbox/pull/934
2021-11-23 16:16:14 +01:00
Debarshi Ray
80bed47919 README.md: Update image requirements
All these tools were only used by the POSIX shell implementation. The
Go implementation never used them.

Note that the test suite still invokes id(1) inside a container.
However, it's not a user-visible requirement, and hence is not a hard
requirement for Toolbox images.

https://github.com/containers/toolbox/pull/934
2021-11-23 16:16:10 +01:00
Debarshi Ray
bcb80cf7c6 README.md: Don't require unlink(1) in images
Fallout from 0cf3c99377

https://github.com/containers/toolbox/pull/934
2021-11-23 16:16:06 +01:00
Debarshi Ray
036a33882f README.md: Require mount(8) in images
Fallout from 819bb46aaa

https://github.com/containers/toolbox/issues/929
2021-11-23 15:52:44 +01:00
Austin C. Minor
2e4e5bc2a8 README.md: Require capsh(1) in images
https://github.com/containers/toolbox/pull/930
2021-11-23 15:43:14 +01:00
Jakub Steiner
b80ffecd3d README.md, data: Replace outdated logos with pixels
https://github.com/containers/toolbox/issues/920
2021-11-13 02:17:21 +01:00
Ron
4d9849c386 Update README.md
Added patchelf under dependencies
2021-11-03 11:21:45 +02:00
Oliver Gutierrez
8b51901eb1 README.md: Update to reflect label deprecation
https://github.com/containers/toolbox/pull/820
2021-07-02 18:21:11 +02:00
Debarshi Ray
637e90c75d README.md, doc/toolbox: Synchronize with doc/toolbox-create
https://github.com/containers/toolbox/pull/814
2021-06-26 13:16:42 +02:00
Debarshi Ray
fb411796bf README.md, cmd/initContainer: Don't require /etc/machine-id in images
Since /etc/machine-id is bind mounted into the toolbox container from
the host operating system, it doesn't make sense to make it mandatory
for images to have that file. Apparently, (some?) Arch Linux images
don't have /etc/machine-id.

Since a missing containerPath for a directory is handled the same way,
there's no reason not to do the same for regular files. It will make
life a bit easier for those creating toolbox images for different
distributions.

https://github.com/containers/toolbox/pull/710
2021-06-22 02:31:30 +02:00
xPMo
d1e024f9dd README: /etc/machine-id is required
See discussion on #710.
2021-05-24 12:39:49 +02:00
Debarshi Ray
803063f081 Update references to the default branch name
The default branch was renamed from "master" to "main".

https://github.com/containers/toolbox/issues/740
2021-03-25 23:07:00 +01:00
Andrey Bienkowski
0e9e0794f8 Update README.md 2021-02-12 19:46:21 +01:00
hexagonrecursion
c85c81eb8e Document dependencies: go, ninja 2021-02-12 19:46:21 +01:00
hexagonrecursion
713f4b866d Update the build requirements
Without this I get an error:
```
$ meson -Dprofile_dir=/etc/profile.d builddir
The Meson build system
Version: 0.55.3
Source dir: /home/user/toolbox
Build dir: /home/user/toolbox/builddir
Build type: native build
Project name: toolbox
Project version: 0.0.97

meson.build:1:0: ERROR: Unknown compiler(s): ['cc', 'gcc', 'clang', 'pgcc', 'icc']
The follow exceptions were encountered:
Running "cc --version" gave "[Errno 2] No such file or directory: 'cc'"
Running "gcc --version" gave "[Errno 2] No such file or directory: 'gcc'"
Running "clang --version" gave "[Errno 2] No such file or directory: 'clang'"
Running "pgcc --version" gave "[Errno 2] No such file or directory: 'pgcc'"
Running "icc --version" gave "[Errno 2] No such file or directory: 'icc'"

A full log can be found at /home/user/toolbox/builddir/meson-logs/meson-log.txt
```
2021-02-12 19:46:21 +01:00
Ondřej Míchal
97daf9f940 Make use of dynamic CI status badge 2021-02-10 14:49:46 +01:00
Debarshi Ray
bcc8ffcf3a README.md: Make it easier to read
https://github.com/containers/toolbox/pull/685
2021-01-25 21:55:02 +01:00
Debarshi Ray
20a8a0551a GOALS.md, README.md: Move the Goals and Use Cases to a separate file
... to prevent the README.md file from becoming too long.

https://github.com/containers/toolbox/pull/684
2021-01-25 20:36:34 +01:00
Ondřej Míchal
ba1097a6db README.md: Add a section on how to install Toolbox
https://github.com/containers/toolbox/pull/683
2021-01-25 20:21:33 +01:00
Allan Day
fb11b7e067 README.md: Improve the introductory paragraph
Using the word 'unprivileged' confuses readers because it means
different things to different people. eg., it can mean 'rootless' or
'sandboxed', which are quite different things. It becomes even more
confusing given the ongoing work to make 'sudo toolbox ...' work.

It's nice to mention that Toolbox is targetted at Linux operating
systems and that it relies on standard container technologies from OCI.

https://github.com/containers/toolbox/pull/597
2020-10-27 19:38:30 +01:00
Ondřej Míchal
30fef1edd6 README.md: Enable syntax highlighting in code blocks
Based on this list of langauges:
https://github.com/github/linguist/blob/master/lib/linguist/languages.yml

https://github.com/containers/toolbox/pull/598
2020-10-27 16:49:31 +01:00
Debarshi Ray
1ec57425f4 README.md: Update the example Fedora versions
https://github.com/containers/toolbox/pull/590
2020-10-22 18:12:37 +02:00
Ondřej Míchal
06d423c631 README.md: Mention how to remove a toolbox container
https://github.com/containers/toolbox/pull/590
2020-10-22 18:08:55 +02:00
Ondřej Míchal
1bd4400329 README.md: Add badges for CI status and downstream packages
https://github.com/containers/toolbox/pull/589
2020-10-22 17:27:56 +02:00
Alex Crawford
c3264abc96 docs: fix reference to Fedora CoreOS
CoreOS hasn't existed since late 2016 and refers to the now-defunct
Container Linux. Fedora CoreOS is an entirely separate project.
2020-10-15 17:17:30 +02:00
Debarshi Ray
9ea6fe5852 Unbreak 'sudo' inside toolbox containers with Podman 2.0.5
Since Podman 2.0.5, containers that were created with
'podman create --userns=keep-id ...' automatically get the user added
to /etc/passwd [1]. However, this user isn't as fully configured as it
needs to be. The home directory is specified as '/' and the shell is
/bin/sh.

Note that Podman doesn't add the user's login group to /etc/group [2].
This leads to the following error message when entering the container:
  /usr/bin/id: cannot find name for group ID 1000

It's expected that this will be fixed in Podman itself.

Therefore, the entry point needs to call usermod(8) to update the user,
instead of using useradd(8) to create it.

[1] Podman commit 6c6670f12a3e6b91
    https://github.com/containers/podman/pull/6829

[2] https://github.com/containers/podman/issues/7389

https://github.com/containers/toolbox/issues/523
2020-08-30 22:31:10 +02:00
Debarshi Ray
aa1235f4fb README.md: Mention that sudo(8) should work without a password
It turns out that this doesn't work out-of-the-box on openSUSE and
needs to be explicitly configured.

https://github.com/containers/toolbox/issues/452
2020-08-21 17:41:59 +02:00
Juanje Ojeda
464ea7cb28 README: Add missing parameter at the installation instructions
https://github.com/containers/toolbox/pull/516
2020-08-20 04:22:24 -04:00
Debarshi Ray
85ada1e77c README.md: List out dependencies and installation instructions
Based on work done by Natanael.

https://github.com/containers/toolbox/pull/492
2020-07-07 19:36:58 +02:00
Dusty Mabe
ebb88a76a0 README: add "Goals and Use Cases" section 2019-10-29 17:12:02 +01:00
Debarshi Ray
4481769182 README.md: Add a section about distro support
Toolbox is being increasingly used outside the Fedora universe. Endless
OS already uses it, and there's some interest in using it on Arch
Linux, Red Hat Enterprise Linux and Ubuntu. Therefore, it's a good
idea to clearly document what's necessary for a smooth Toolbox user
experience on a given operating system distribution.

Note that this might not match the current reality of the code, which
is predominantly developed, tested and used on Fedora. This is a step
towards formally specifying what an OS distributor is expected to
provide. The code can then be iteratively improved to match the
specification.

https://github.com/containers/toolbox/pull/300
2019-10-21 15:36:26 +02:00
Debarshi Ray
2b4c4513c8 README.md: Tweak
Toolbox is being used with Endless OS, which is an OSTree based
operating system built out of Debian packages, not RPMs; and in the
Fedora universe, CoreOS is being increasingly treated as a primary
use-case for Toolbox alongside Silverblue.

https://github.com/containers/toolbox/pull/299
2019-10-16 15:57:45 -04:00
Debarshi Ray
4d03cc6eb8 README.md: Update 2019-10-10 15:40:34 +02:00
Debarshi Ray
8b84b5e460 Drop the Buildah dependency and the user-specific customized image
This works by configuring the toolbox container after it has been
created, instead of before. The toolbox script itself is mentioned as
the entry point of the container, which does 'exec sleep +Inf' once the
initialization is done.

A new command 'init-container' was added to perform the initialization.
It is primarily meant to be used as the entry point for all toolbox
containers, and must be run inside the container that's to be
initialized. It is not expected to be directly invoked by humans, and
cannot be used on the host.

As a result, the default name for the toolbox containers is now
fedora-toolbox-<version-id>, not fedora-toolbox-<user>-<version-id>.
For backwards compatibility, 'toolbox enter' and 'toolbox run' will
continue to work with containers using the old naming scheme.

https://github.com/debarshiray/toolbox/pull/160
2019-05-16 15:47:33 +02:00
Debarshi Ray
7450b06caf README.md: Update
Fallout from de67ff4bcc
2019-05-16 14:46:21 +02:00
Debarshi Ray
b2f03ab8f0 README.md: Add the landscape variant of the logo as a banner
https://github.com/debarshiray/toolbox/pull/103
2019-04-04 16:47:07 +02:00
Debarshi Ray
c65e656966 README.md: Add missing comma 2019-03-01 10:26:58 +01:00
Debarshi Ray
c219ac1882 README.md: Tweak
The word 'tool' sounds a bit less vague than 'project'.
2019-03-01 10:13:46 +01:00
Debarshi Ray
10d1f5962f README.md: Add a hyperlink for OCI 2019-02-19 15:16:28 +01:00
Debarshi Ray
a0f169c1ce README.md: Add missing whitespace 2019-02-19 15:14:26 +01:00
Debarshi Ray
c6b5a4836f 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
2019-02-15 16:36:30 +01:00
Colin Walters
c047659c1d README.md: Rework in various ways
- OSTree systems aren't fully immutable, you *can* install things
   we just discourage it
 - fedora-toolbox can (and should!) be used on non-OSTree based
   systems as well

https://github.com/debarshiray/fedora-toolbox/pull/43
2019-01-26 13:09:54 +01:00
Debarshi Ray
093002d8a4 README.md: Remove trailing newline 2019-01-21 17:07:43 +01:00
Debarshi Ray
8c3ce3b386 README.md: Tweak
Simplify the prompt. Most people are going to use the Fedora package.
Hence, the prompt doesn't need to reflect the fedora-toolbox Git tree
as the current directory.
2019-01-21 17:07:02 +01:00
Debarshi Ray
dd4394c32c README.md: Tweak
There's a build system and various Fedora packages now. Therefore, most
people don't need to run the script from the Git tree.
2018-11-12 15:11:33 +00:00