1 include $(TOPDIR
)/rules.mk
7 PKG_SOURCE
:=$(PKG_NAME
)-$(PKG_VERSION
).
tar.gz
8 PKG_SOURCE_URL
:=https
://github.com
/containers
/podman
/archive
/v
$(PKG_VERSION
)
9 PKG_HASH
:=cd0afd1fb493b0c099fd8634525f318f35e4e84c1d7735d8426a722a4d5c8409
11 PKG_LICENSE
:=Apache-2.0
12 PKG_LICENSE_FILES
:=LICENSE
13 PKG_MAINTAINER
:=Oskari Rauta
<oskari.rauta@gmail.com
>
15 PKG_BUILD_DEPENDS
:=golang
/host protobuf
/host btrfs-progs
17 PKG_BUILD_FLAGS
:=no-mips16
20 include $(INCLUDE_DIR
)/package.mk
21 include ..
/..
/lang
/golang
/golang-package.mk
23 define Download
/default-registries
24 URL
:=https
://raw.githubusercontent.com
/projectatomic
/registries
/da9a9c87781823f45401ca49da04e269c9e3100e
25 URL_FILE
:=registries.fedora
26 FILE
:=registries.fedora-da9a9c8778
27 HASH
:=bc2b58c209aa8ca35b6814ec9a3c64716d4970b884ade460b65000e56024dfee
30 define Download
/default-policy
31 URL
:=https
://raw.githubusercontent.com
/containers
/skopeo
/362f70b056a1f5d2bd4184527a0ae0d20c4d35d3
32 URL_FILE
:=default-policy.json
33 FILE
:=default-policy.json-362f70b056
34 HASH
:=cddfaa8e6a7e5497b67cc0dd8e8517058d0c97de91bf46fff867528415f2d946
41 URL
:=https
://podman.io
42 DEPENDS
:=$(GO_ARCH_DEPENDS
) +conmon
+libgpgme
+libseccomp
+nsenter
+zoneinfo-simple
+kmod-veth
+slirp4netns
+netavark
+aardvark-dns
+catatonit
+crun
+PODMAN_SELINUX_SUPPORT
:libselinux
45 define Package
/podman
/description
46 Podman
: A tool for managing OCI containers and pods
49 define Package
/podman
/config
52 config PODMAN_SELINUX_SUPPORT
53 bool
"Enable SELinux support"
59 define Package
/podman
/conffiles
60 /etc
/containers
/policy.json
61 /etc
/containers
/storage.conf
62 /etc
/containers
/registries.conf
63 /etc
/containers
/containers.conf
64 /etc
/containers
/networks
/podman.json
67 ifdef CONFIG_PODMAN_SELINUX_SUPPORT
68 GO_PKG_TAGS
=seccomp
,exclude_graphdriver_devicemapper
,selinux
,apparmor
70 GO_PKG_TAGS
=seccomp
,exclude_graphdriver_devicemapper
,apparmor
74 GO_INSTALL_BIN_PATH
="$(strip $(GO_PKG_INSTALL_BIN_PATH))" \
75 BUILD_DIR
="$(PKG_BUILD_DIR)" \
76 GO_BUILD_DIR
="$(GO_PKG_BUILD_DIR)" \
77 GO_BUILD_BIN_DIR
="$(GO_PKG_BUILD_BIN_DIR)" \
78 GO_BUILD_DEPENDS_PATH
="$(GO_PKG_BUILD_DEPENDS_PATH)" \
79 GO_BUILD_DEPENDS_SRC
="$(GO_PKG_BUILD_DEPENDS_SRC)" \
84 CGO_CFLAGS
="$(filter-out $(GO_CFLAGS_TO_REMOVE),$(TARGET_CFLAGS))" \
85 CGO_CPPFLAGS
="$(TARGET_CPPFLAGS)" \
86 CGO_CXXFLAGS
="$(filter-out $(GO_CFLAGS_TO_REMOVE),$(TARGET_CXXFLAGS))" \
87 CGO_LDFLAGS
="$(TARGET_LDFLAGS)" \
88 GOPATH
="$(GO_PKG_BUILD_DIR)" \
89 GOCACHE
="$(GO_BUILD_CACHE_DIR)" \
90 GOMODCACHE
="$(GO_MOD_CACHE_DIR)" \
91 GOFLAGS
="$(GO_PKG_GCFLAGS)" \
92 GO_PKG_CFLAGS
="$(GO_PKG_CFLAGS)" \
97 LIBEXECPODMAN
=/usr
/lib
/podman \
98 SHAREDIR_CONTAINERS
=/usr
/share
/containers \
100 TMPFILESDIR
=/var
/run
/podman \
101 BUILDTAGS
="$(GO_PKG_TAGS)" \
102 EXTRA_LDFLAGS
="$(GO_PKG_LDFLAGS)"
105 $(call Build
/Prepare
/Default
)
106 $(eval
$(call Download
,default-registries
))
107 $(eval
$(call Download
,default-policy
))
110 ifneq ($(CONFIG_USE_MUSL
),)
111 TARGET_CFLAGS
+= -D_LARGEFILE64_SOURCE
114 define Package
/podman
/install
115 $(INSTALL_DIR
) $(1)/usr
/bin
$(1)/usr
/lib
/podman
116 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/bin
/{podman
,podman-remote
} $(1)/usr
/bin
/
117 $(INSTALL_BIN
) $(PKG_INSTALL_DIR
)/usr
/lib
/podman
/{rootlessport
,quadlet
} $(1)/usr
/lib
/podman
/
118 $(LN
) podman
$(1)/usr
/bin
/podmansh
119 $(INSTALL_DIR
) $(1)/etc
/containers
120 $(INSTALL_DATA
) $(DL_DIR
)/default-policy.json-362f70b056
$(1)/etc
/containers
/policy.json
121 $(INSTALL_DATA
) $(DL_DIR
)/registries.fedora-da9a9c8778
$(1)/etc
/containers
/registries.conf
122 $(INSTALL_DATA
) $(PKG_BUILD_DIR
)/vendor
/github.com
/containers
/storage
/storage.conf
$(1)/etc
/containers
/storage.conf
123 $(INSTALL_DATA
) .
/files
/containers.conf
$(1)/etc
/containers
/containers.conf
124 $(INSTALL_DIR
) $(1)/etc
/containers
/networks
125 $(INSTALL_CONF
) .
/files
/podman.json
$(1)/etc
/containers
/networks
126 $(INSTALL_DIR
) $(1)/usr
/share
/containers
127 $(INSTALL_DATA
) $(PKG_BUILD_DIR
)/vendor
/github.com
/containers
/common
/pkg
/seccomp
/seccomp.json
$(1)/usr
/share
/containers
/
128 $(INSTALL_DIR
) $(1)/etc
/init.d
129 $(INSTALL_BIN
) .
/files
/podman.init
$(1)/etc
/init.d
/podman
130 $(SED
) 's/driver = \"\"/driver = \"overlay\"/g' $(1)/etc
/containers
/storage.conf
133 $(eval
$(call BuildPackage
,podman
))