github.com/containers/podman/v4@v4.9.4/DISTRO_PACKAGE.md (about) 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 ```