Skip to content

Commit 6dfe634

Browse files
lsm5ashley-cuivrothberg
committed
[CI:DOCS] DISTRO_PACKAGE.md: List the packaging changes for v4
[NO NEW TESTS NEEDED] Co-authored-by: Ashley Cui <[email protected]> Co-authored-by: Valentin Rothberg <[email protected]> Signed-off-by: Lokesh Mandvekar <[email protected]>
1 parent e1f00b4 commit 6dfe634

File tree

1 file changed

+101
-0
lines changed

1 file changed

+101
-0
lines changed

DISTRO_PACKAGE.md

Lines changed: 101 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,101 @@
1+
# Podman Packaging
2+
3+
This document is currently written with Fedora as a reference, intended for use
4+
by packagers of other distros as well as package users.
5+
6+
## Fedora Users
7+
Podman v4 is available as an official Fedora package on Fedora 36 and rawhide.
8+
This version of Podman brings with it a new container stack called
9+
Netavark which serves as a replacement for CNI plugins
10+
(containernetworking-plugins on Fedora), as well as Aardvark-dns, the
11+
authoritative DNS server for container records.
12+
13+
Both Netavark and Aardvark-dns are available as official Fedora packages on
14+
Fedora 35 and newer versions and form the default network stack for new
15+
installations of Podman 4.0.
16+
17+
On Fedora 36 and newer, fresh installations of Podman v4 will
18+
automatically install Aardvark-dns along with Netavark.
19+
20+
To install Podman v4:
21+
22+
```console
23+
$ sudo dnf install podman
24+
```
25+
26+
To update Podman from an older version to v4:
27+
28+
```console
29+
$ sudo dnf update podman
30+
```
31+
32+
**NOTE:** Fedora 35 users will not be able to install Podman v4 using the default yum
33+
repositories and are recommended to use the COPR repo below:
34+
35+
```console
36+
$ sudo dnf copr enable rhcontainerbot/podman4
37+
38+
# install or update per your needs
39+
$ sudo dnf install podman
40+
```
41+
42+
After installation, if you would like to migrate all your containers to use
43+
Netavark, you will need to set `network_backend = "netavark"` under
44+
the `[network]` section in your containers.conf, typically located at:
45+
`/usr/share/containers/containers.conf`
46+
47+
### Testing the latest development version`
48+
49+
If you would like to test the latest unreleased upstream code, try the
50+
podman-next COPR
51+
52+
```console
53+
$ sudo dnf copr enable rhcontainerbot/podman-next
54+
55+
$ sudo dnf install podman
56+
```
57+
58+
**CAUTION:** The podman-next COPR provides the latest unreleased sources of Podman,
59+
Netavark and Aardvark-dns as rpms which would override the versions provided by
60+
the official packages.
61+
62+
## Distro Packagers
63+
64+
The Fedora packaging sources for Podman are available at the [Podman
65+
dist-git](https://src.fedoraproject.org/rpms/podman).
66+
67+
The main `podman` package no longer explicitly depends on
68+
containernetworking-plugins. The network stack dependencies are now handled in
69+
the [containers-common](https://src.fedoraproject.org/rpms/containers-common)
70+
package which allows for a single point of dependency maintenance for Podman
71+
and Buildah.
72+
73+
- containers-common
74+
```
75+
Requires: container-network-stack
76+
Recommends: netavark
77+
```
78+
79+
- netavark
80+
```
81+
Provides: container-network-stack = 2
82+
```
83+
84+
- containernetworking-plugins
85+
```
86+
Provides: container-network-stack = 1
87+
```
88+
89+
This configuration ensures:
90+
- New installations of Podman will always install netavark by default.
91+
- The containernetworking-plugins package will not conflict with netavark and
92+
users can install them together.
93+
94+
## Listing bundled dependencies
95+
If you need to list the bundled dependencies in your packaging sources, you can
96+
process the `go.mod` file in the upstream source.
97+
For example, Fedora's packaging source uses:
98+
99+
```
100+
$ awk '{print "Provides: bundled(golang("$1")) = "$2}' go.mod | sort | uniq | sed -e 's/-/_/g' -e '/bundled(golang())/d' -e '/bundled(golang(go\|module\|replace\|require))/d'
101+
```

0 commit comments

Comments
 (0)