* Tidy up install & uninstall script
- Also fixed a minor mistake in the uninstall script:
`podman-system-generator` -> `podman-*-generator`
* Install systemd files to `/usr/local/`
* Force bash shell in `Makefile` to allow brace expansion
Add quadlet binary and register it as systemd unit generator.
When the tar archive is installed on a systemd-enabled host, the quadlet is called by systemd on `systemctl daemon-reload` to generate unit files based on *.container files within `/etc/containers/systemd`.
The quadlet binary is not contained within the minimal image (because it is actually meant to be published with the tar archive only since systemd is not used inside the container).
* podman 5.1.1
* drop CNI networking and slirp4netns in favour of netavark + pasta
* build statically linked netavark, pasta and aardvark
* conmon 2.1.11
* crun 1.15
* crun is also shipped with the normal (non-minimal) image now.
* build using golang 1.22, use alpine 3.19 base container
Co-authored-by: Trent Apple <trentapple@users.noreply.github.com>
Changes:
* Builds a `minimal` image (without slirp4netns) instead of `rootless`.
* `podman` uid/gid changed from 100000 to 1000/1000 (to avoid exceeding the sub*id range).
* Default USER is root now.
* No ENTRYPOINT script provided that changes the user when container is run as root.
* The HOME env var is not specified anymore in order to use the home dir specified for the user in /etc/passwd.
* Default WORKDIR has changed from /podman to / since /podman is only relevant when running as `podman` user.
* rootless image contains only binaries needed for rootless operations and crun.
* the tar archive contains all binaries and meant to be used for quick installation on any linux-amd64 host.
Removes unnecessary explicit storage dir configuration.
Additional changes:
* Reorganizes project dir structure.
* Use unprivileged user by default in podman-remote image.
fuse-overlayfs 0.4.1 used now since 0.5+ causes "invalid argument" error.
rootless podman 1.6 within a container reads the current cgroup from
/proc/self/cgroup which contains the host path that is the cgroup root
within a container.
As a workaround the entrypoint script now creates the cgroup hierarchy
from /proc/self/cgroup within /sys/fs/cgroup if it does not exist.