From c21258b70ed91ab5ff8b1d345123fed1011a49c9 Mon Sep 17 00:00:00 2001 From: Sascha Grunert Date: Fri, 20 Mar 2020 10:55:23 +0100 Subject: Add podman static build MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit We’re now able to build a static podman binary based on a custom nix derivation. This is integrated in cirrus as well, whereas a later target would be to provide a self-contained static binary bundle which can be installed on any Linux x64-bit system. Fixes: https://github.com/containers/libpod/issues/1399 Signed-off-by: Sascha Grunert --- libpod/define/info.go | 1 + libpod/info.go | 2 ++ libpod/linkmode/linkmode_dynamic.go | 8 ++++++++ libpod/linkmode/linkmode_static.go | 8 ++++++++ 4 files changed, 19 insertions(+) create mode 100644 libpod/linkmode/linkmode_dynamic.go create mode 100644 libpod/linkmode/linkmode_static.go (limited to 'libpod') diff --git a/libpod/define/info.go b/libpod/define/info.go index 2516cad77..906aa523f 100644 --- a/libpod/define/info.go +++ b/libpod/define/info.go @@ -33,6 +33,7 @@ type HostInfo struct { SwapFree int64 `json:"swapFree"` SwapTotal int64 `json:"swapTotal"` Uptime string `json:"uptime"` + Linkmode string `json:"linkmode"` } // SlirpInfo describes the slirp exectuable that diff --git a/libpod/info.go b/libpod/info.go index 4007e0ce7..51208a2b1 100644 --- a/libpod/info.go +++ b/libpod/info.go @@ -14,6 +14,7 @@ import ( "github.com/containers/buildah" "github.com/containers/libpod/libpod/define" + "github.com/containers/libpod/libpod/linkmode" "github.com/containers/libpod/pkg/cgroups" registries2 "github.com/containers/libpod/pkg/registries" "github.com/containers/libpod/pkg/rootless" @@ -86,6 +87,7 @@ func (r *Runtime) hostInfo() (*define.HostInfo, error) { info := define.HostInfo{ Arch: runtime.GOARCH, BuildahVersion: buildah.Version, + Linkmode: linkmode.Linkmode(), CPUs: runtime.NumCPU(), Distribution: hostDistributionInfo, EventLogger: r.eventer.String(), diff --git a/libpod/linkmode/linkmode_dynamic.go b/libpod/linkmode/linkmode_dynamic.go new file mode 100644 index 000000000..6d51d60e0 --- /dev/null +++ b/libpod/linkmode/linkmode_dynamic.go @@ -0,0 +1,8 @@ +// +build !static + +package linkmode + +// Linkmode returns the linking mode (static/dynamic) for the build. +func Linkmode() string { + return "dynamic" +} diff --git a/libpod/linkmode/linkmode_static.go b/libpod/linkmode/linkmode_static.go new file mode 100644 index 000000000..2db083f4a --- /dev/null +++ b/libpod/linkmode/linkmode_static.go @@ -0,0 +1,8 @@ +// +build static + +package linkmode + +// Linkmode returns the linking mode (static/dynamic) for the build. +func Linkmode() string { + return "static" +} -- cgit v1.2.3-54-g00ecf