mirror of
https://github.com/containers/podman.git
synced 2025-06-20 00:51:16 +08:00

Issue gh#6286 was already fixed in a prior commit but the Makefile still ran some varlink steps by default. This commit makes any varlink build steps dependent on the varlink build tag and also makes the contrib rpm spec file independent of varlink. Endpoint tests will be run only if BUILDTAGS contains varlink. Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
534 lines
24 KiB
RPMSpec
534 lines
24 KiB
RPMSpec
%global with_devel 0
|
|
%global with_bundled 1
|
|
%global with_check 0
|
|
%global with_unit_test 0
|
|
%bcond_without doc
|
|
%bcond_without debug
|
|
|
|
%if %{with debug}
|
|
%global _find_debuginfo_dwz_opts %{nil}
|
|
%global _dwz_low_mem_die_limit 0
|
|
%else
|
|
%global debug_package %{nil}
|
|
%endif
|
|
|
|
# %if ! 0% {?gobuild:1}
|
|
%define gobuild(o:) go build -tags="$BUILDTAGS" -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n')" -a -v -x %{?**};
|
|
#% endif
|
|
|
|
# libpod hack directory
|
|
%define hackdir %{_builddir}/%{repo}-%{shortcommit0}
|
|
|
|
%global provider github
|
|
%global provider_tld com
|
|
%global project containers
|
|
%global repo libpod
|
|
# https://github.com/containers/libpod
|
|
%global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo}
|
|
%global import_path %{provider_prefix}
|
|
%global git0 https://%{provider}.%{provider_tld}/%{project}/%{repo}
|
|
%global commit0 #COMMIT#
|
|
%global shortcommit0 %(c=%{commit0}; echo ${c:0:8})
|
|
|
|
# People want conmon packaged with the copr rpm
|
|
%global import_path_conmon github.com/containers/conmon
|
|
%global git_conmon https://%{import_path_conmon}
|
|
%global commit_conmon d532caebc788fafdd2a305b68cd1983b4039bea4
|
|
%global shortcommit_conmon %(c=%{commit_conmon}; echo ${c:0:7})
|
|
|
|
Name: podman
|
|
%if 0%{?fedora}
|
|
Epoch: 99
|
|
%else
|
|
Epoch: 0
|
|
%endif
|
|
Version: 2.0.0
|
|
Release: #COMMITDATE#.git%{shortcommit0}%{?dist}
|
|
Summary: Manage Pods, Containers and Container Images
|
|
License: ASL 2.0
|
|
URL: %{git_podman}
|
|
Source0: %{git0}/archive/%{commit0}/%{repo}-%{shortcommit0}.tar.gz
|
|
Source1: conmon.tar.gz
|
|
# e.g. el6 has ppc64 arch without gcc-go, so EA tag is required
|
|
#ExclusiveArch: %%{?go_arches:%%{go_arches}}%%{!?go_arches:%%{ix86} x86_64 aarch64 %%{arm}}
|
|
ExclusiveArch: aarch64 %{arm} ppc64le s390x x86_64
|
|
# The COPR process will uncomment this
|
|
#BuildRequires: golang-bin
|
|
#
|
|
# btrfs-progs-devel package is not available in CentOS/RHEL-8
|
|
%if 0%{?rhel} != 8 && 0%{?centos} != 8
|
|
BuildRequires: btrfs-progs-devel
|
|
%endif
|
|
BuildRequires: glib2-devel
|
|
BuildRequires: glibc-devel
|
|
BuildRequires: glibc-static
|
|
BuildRequires: git
|
|
%if %{with doc}
|
|
BuildRequires: go-md2man
|
|
%endif
|
|
BuildRequires: gpgme-devel
|
|
BuildRequires: libassuan-devel
|
|
BuildRequires: libgpg-error-devel
|
|
BuildRequires: libseccomp-devel
|
|
BuildRequires: libselinux-devel
|
|
BuildRequires: pkgconfig
|
|
BuildRequires: make
|
|
BuildRequires: systemd-devel
|
|
Requires: skopeo-containers
|
|
Requires: containernetworking-plugins >= 0.6.0-3
|
|
Requires: iptables
|
|
%if 0%{?rhel} <= 7
|
|
Requires: container-selinux
|
|
%else
|
|
Requires: oci-runtime
|
|
Recommends: crun
|
|
Recommends: container-selinux
|
|
Recommends: slirp4netns
|
|
Recommends: fuse-overlayfs
|
|
%endif
|
|
|
|
# vendored libraries
|
|
# awk '{print "Provides: bundled(golang("$1")) = "$2}' vendor.conf | sort
|
|
# [thanks to Carl George <carl@george.computer> for containerd.spec]
|
|
Provides: bundled(golang(github.com/Azure/go-ansiterm)) = 19f72df4d05d31cbe1c56bfc8045c96babff6c7e
|
|
Provides: bundled(golang(github.com/blang/semver)) = v3.5.0
|
|
Provides: bundled(golang(github.com/boltdb/bolt)) = master
|
|
Provides: bundled(golang(github.com/buger/goterm)) = 2f8dfbc7dbbff5dd1d391ed91482c24df243b2d3
|
|
Provides: bundled(golang(github.com/BurntSushi/toml)) = v0.2.0
|
|
Provides: bundled(golang(github.com/containerd/cgroups)) = 77e628511d924b13a77cebdc73b757a47f6d751b
|
|
Provides: bundled(golang(github.com/containerd/continuity)) = master
|
|
Provides: bundled(golang(github.com/containernetworking/cni)) = v0.7.0-alpha1
|
|
Provides: bundled(golang(github.com/containernetworking/plugins)) = 1fb94a4222eafc6f948eacdca9c9f2158b427e53
|
|
Provides: bundled(golang(github.com/containers/image)) = c6e0eee0f8eb38e78ae2e44a9aeea0576f451617
|
|
Provides: bundled(golang(github.com/containers/psgo)) = dd34e7e448e5d4f3c7ce87b5da7738b00778dbfd
|
|
Provides: bundled(golang(github.com/containers/storage)) = 8b1a0f8d6863cf05709af333b8997a437652ec4c
|
|
Provides: bundled(golang(github.com/coreos/go-systemd)) = v14
|
|
Provides: bundled(golang(github.com/cri-o/ocicni)) = master
|
|
Provides: bundled(golang(github.com/cyphar/filepath-securejoin)) = v0.2.1
|
|
Provides: bundled(golang(github.com/davecgh/go-spew)) = v1.1.0
|
|
Provides: bundled(golang(github.com/docker/distribution)) = 7a8efe719e55bbfaff7bc5718cdf0ed51ca821df
|
|
Provides: bundled(golang(github.com/docker/docker)) = 86f080cff0914e9694068ed78d503701667c4c00
|
|
Provides: bundled(golang(github.com/docker/docker-credential-helpers)) = d68f9aeca33f5fd3f08eeae5e9d175edf4e731d1
|
|
Provides: bundled(golang(github.com/docker/go-connections)) = 3ede32e2033de7505e6500d6c868c2b9ed9f169d
|
|
Provides: bundled(golang(github.com/docker/go-units)) = v0.3.2
|
|
Provides: bundled(golang(github.com/docker/libtrust)) = aabc10ec26b754e797f9028f4589c5b7bd90dc20
|
|
Provides: bundled(golang(github.com/docker/spdystream)) = ed496381df8283605c435b86d4fdd6f4f20b8c6e
|
|
Provides: bundled(golang(github.com/fatih/camelcase)) = f6a740d52f961c60348ebb109adde9f4635d7540
|
|
Provides: bundled(golang(github.com/fsnotify/fsnotify)) = 7d7316ed6e1ed2de075aab8dfc76de5d158d66e1
|
|
Provides: bundled(golang(github.com/fsouza/go-dockerclient)) = master
|
|
Provides: bundled(golang(github.com/ghodss/yaml)) = 04f313413ffd65ce25f2541bfd2b2ceec5c0908c
|
|
Provides: bundled(golang(github.com/godbus/dbus)) = a389bdde4dd695d414e47b755e95e72b7826432c
|
|
Provides: bundled(golang(github.com/gogo/protobuf)) = c0656edd0d9eab7c66d1eb0c568f9039345796f7
|
|
Provides: bundled(golang(github.com/golang/glog)) = 23def4e6c14b4da8ac2ed8007337bc5eb5007998
|
|
Provides: bundled(golang(github.com/golang/groupcache)) = b710c8433bd175204919eb38776e944233235d03
|
|
Provides: bundled(golang(github.com/golang/protobuf)) = 4bd1920723d7b7c925de087aa32e2187708897f7
|
|
Provides: bundled(golang(github.com/googleapis/gnostic)) = 0c5108395e2debce0d731cf0287ddf7242066aba
|
|
Provides: bundled(golang(github.com/google/gofuzz)) = 44d81051d367757e1c7c6a5a86423ece9afcf63c
|
|
Provides: bundled(golang(github.com/gorilla/context)) = v1.1
|
|
Provides: bundled(golang(github.com/gorilla/mux)) = v1.3.0
|
|
Provides: bundled(golang(github.com/hashicorp/errwrap)) = 7554cd9344cec97297fa6649b055a8c98c2a1e55
|
|
Provides: bundled(golang(github.com/hashicorp/golang-lru)) = 0a025b7e63adc15a622f29b0b2c4c3848243bbf6
|
|
Provides: bundled(golang(github.com/hashicorp/go-multierror)) = 83588e72410abfbe4df460eeb6f30841ae47d4c4
|
|
Provides: bundled(golang(github.com/imdario/mergo)) = 0.2.2
|
|
Provides: bundled(golang(github.com/json-iterator/go)) = 1.0.0
|
|
Provides: bundled(golang(github.com/kr/pty)) = v1.0.0
|
|
Provides: bundled(golang(github.com/mattn/go-runewidth)) = v0.0.1
|
|
Provides: bundled(golang(github.com/Microsoft/go-winio)) = 78439966b38d69bf38227fbf57ac8a6fee70f69a
|
|
Provides: bundled(golang(github.com/Microsoft/hcsshim)) = 43f9725307998e09f2e3816c2c0c36dc98f0c982
|
|
Provides: bundled(golang(github.com/mistifyio/go-zfs)) = v2.1.1
|
|
Provides: bundled(golang(github.com/mrunalp/fileutils)) = master
|
|
Provides: bundled(golang(github.com/mtrmac/gpgme)) = b2432428689ca58c2b8e8dea9449d3295cf96fc9
|
|
Provides: bundled(golang(github.com/Nvveen/Gotty)) = master
|
|
Provides: bundled(golang(github.com/opencontainers/go-digest)) = v1.0.0-rc0
|
|
Provides: bundled(golang(github.com/opencontainers/image-spec)) = v1.0.0
|
|
Provides: bundled(golang(github.com/opencontainers/runc)) = 6e15bc3f92fd4c58b3285e8f27eaeb6b22d62920
|
|
Provides: bundled(golang(github.com/opencontainers/runtime-spec)) = v1.0.0
|
|
Provides: bundled(golang(github.com/opencontainers/runtime-tools)) = 625e2322645b151a7cbb93a8b42920933e72167f
|
|
Provides: bundled(golang(github.com/opencontainers/selinux)) = b6fa367ed7f534f9ba25391cc2d467085dbb445a
|
|
Provides: bundled(golang(github.com/openshift/imagebuilder)) = master
|
|
Provides: bundled(golang(github.com/pkg/errors)) = v0.8.0
|
|
Provides: bundled(golang(github.com/pmezard/go-difflib)) = 792786c7400a136282c1664665ae0a8db921c6c2
|
|
Provides: bundled(golang(github.com/pquerna/ffjson)) = d49c2bc1aa135aad0c6f4fc2056623ec78f5d5ac
|
|
Provides: bundled(golang(github.com/containers/buildah)) = a2c8358455f9b6a254c572455af2a0afcfcec544
|
|
Provides: bundled(golang(github.com/seccomp/containers-golang)) = master
|
|
Provides: bundled(golang(github.com/seccomp/libseccomp-golang)) = v0.9.0
|
|
Provides: bundled(golang(github.com/sirupsen/logrus)) = v1.0.0
|
|
Provides: bundled(golang(github.com/spf13/pflag)) = 9ff6c6923cfffbcd502984b8e0c80539a94968b7
|
|
Provides: bundled(golang(github.com/stretchr/testify)) = 4d4bfba8f1d1027c4fdbe371823030df51419987
|
|
Provides: bundled(golang(github.com/syndtr/gocapability)) = e7cb7fa329f456b3855136a2642b197bad7366ba
|
|
Provides: bundled(golang(github.com/tchap/go-patricia)) = v2.2.6
|
|
Provides: bundled(golang(github.com/ulikunitz/xz)) = v0.5.4
|
|
# "-" are not accepted in version strings, so comment out below line
|
|
#Provides: bundled(golang(github.com/urfave/cli)) = fix-short-opts-parsing
|
|
Provides: bundled(golang(github.com/varlink/go)) = master
|
|
Provides: bundled(golang(github.com/vbatts/tar-split)) = v0.10.2
|
|
Provides: bundled(golang(github.com/vishvananda/netlink)) = master
|
|
Provides: bundled(golang(github.com/vishvananda/netns)) = master
|
|
Provides: bundled(golang(github.com/xeipuuv/gojsonpointer)) = master
|
|
Provides: bundled(golang(github.com/xeipuuv/gojsonreference)) = master
|
|
Provides: bundled(golang(github.com/xeipuuv/gojsonschema)) = master
|
|
Provides: bundled(golang(golang.org/x/crypto)) = 81e90905daefcd6fd217b62423c0908922eadb30
|
|
Provides: bundled(golang(golang.org/x/net)) = c427ad74c6d7a814201695e9ffde0c5d400a7674
|
|
Provides: bundled(golang(golang.org/x/sys)) = master
|
|
Provides: bundled(golang(golang.org/x/text)) = f72d8390a633d5dfb0cc84043294db9f6c935756
|
|
Provides: bundled(golang(golang.org/x/time)) = f51c12702a4d776e4c1fa9b0fabab841babae631
|
|
Provides: bundled(golang(google.golang.org/grpc)) = v1.0.4
|
|
Provides: bundled(golang(gopkg.in/cheggaaa/pb.v1)) = v1.0.7
|
|
Provides: bundled(golang(gopkg.in/inf.v0)) = v0.9.0
|
|
Provides: bundled(golang(gopkg.in/mgo.v2)) = v2
|
|
Provides: bundled(golang(gopkg.in/square/go-jose.v2)) = v2.1.3
|
|
Provides: bundled(golang(gopkg.in/yaml.v2)) = v2
|
|
Provides: bundled(golang(k8s.io/api)) = 5ce4aa0bf2f097f6021127b3d879eeda82026be8
|
|
Provides: bundled(golang(k8s.io/apiextensions-apiserver)) = 1b31e26d82f1ec2e945c560790e98f34bb5f2e63
|
|
Provides: bundled(golang(k8s.io/apimachinery)) = 616b23029fa3dc3e0ccefd47963f5651a6543d94
|
|
Provides: bundled(golang(k8s.io/apiserver)) = 4d1163080139f1f9094baf8a3a6099e85e1867f6
|
|
Provides: bundled(golang(k8s.io/client-go)) = 7cd1d3291b7d9b1e2d54d4b69eb65995eaf8888e
|
|
Provides: bundled(golang(k8s.io/kube-openapi)) = 275e2ce91dec4c05a4094a7b1daee5560b555ac9
|
|
Provides: bundled(golang(k8s.io/utils)) = 258e2a2fa64568210fbd6267cf1d8fd87c3cb86e
|
|
|
|
%description
|
|
%{summary}
|
|
%{repo} provides a library for applications looking to use
|
|
the Container Pod concept popularized by Kubernetes.
|
|
|
|
%package remote
|
|
Summary: Remote Podman client
|
|
|
|
%description -n podman-remote
|
|
%{summary}
|
|
This package provides the Podman remote client which
|
|
can be used to access Podman running on a server.
|
|
|
|
%if 0%{?with_devel}
|
|
%package devel
|
|
Summary: Library for applications looking to use Container Pods
|
|
BuildArch: noarch
|
|
Provides: %{repo}-devel = %{version}-%{release}
|
|
|
|
%if 0%{?with_check} && ! 0%{?with_bundled}
|
|
BuildRequires: golang(github.com/BurntSushi/toml)
|
|
BuildRequires: golang(github.com/containerd/cgroups)
|
|
BuildRequires: golang(github.com/containernetworking/plugins/pkg/ns)
|
|
BuildRequires: golang(github.com/containers/image/copy)
|
|
BuildRequires: golang(github.com/containers/image/directory)
|
|
BuildRequires: golang(github.com/containers/image/docker)
|
|
BuildRequires: golang(github.com/containers/image/docker/archive)
|
|
BuildRequires: golang(github.com/containers/image/docker/reference)
|
|
BuildRequires: golang(github.com/containers/image/docker/tarfile)
|
|
BuildRequires: golang(github.com/containers/image/image)
|
|
BuildRequires: golang(github.com/containers/image/oci/archive)
|
|
BuildRequires: golang(github.com/containers/image/pkg/strslice)
|
|
BuildRequires: golang(github.com/containers/image/pkg/sysregistriesv2)
|
|
BuildRequires: golang(github.com/containers/image/signature)
|
|
BuildRequires: golang(github.com/containers/image/storage)
|
|
BuildRequires: golang(github.com/containers/image/tarball)
|
|
BuildRequires: golang(github.com/containers/image/transports/alltransports)
|
|
BuildRequires: golang(github.com/containers/image/types)
|
|
BuildRequires: golang(github.com/containers/storage)
|
|
BuildRequires: golang(github.com/containers/storage/pkg/archive)
|
|
BuildRequires: golang(github.com/containers/storage/pkg/idtools)
|
|
BuildRequires: golang(github.com/containers/storage/pkg/reexec)
|
|
BuildRequires: golang(github.com/coreos/go-systemd/dbus)
|
|
BuildRequires: golang(github.com/cri-o/ocicni/pkg/ocicni)
|
|
BuildRequires: golang(github.com/docker/distribution/reference)
|
|
BuildRequires: golang(github.com/docker/docker/daemon/caps)
|
|
BuildRequires: golang(github.com/docker/docker/pkg/mount)
|
|
BuildRequires: golang(github.com/docker/docker/pkg/namesgenerator)
|
|
BuildRequires: golang(github.com/docker/docker/pkg/stringid)
|
|
BuildRequires: golang(github.com/docker/docker/pkg/system)
|
|
BuildRequires: golang(github.com/docker/docker/pkg/term)
|
|
BuildRequires: golang(github.com/docker/docker/pkg/truncindex)
|
|
BuildRequires: golang(github.com/ghodss/yaml)
|
|
BuildRequires: golang(github.com/godbus/dbus)
|
|
BuildRequires: golang(github.com/mattn/go-sqlite3)
|
|
BuildRequires: golang(github.com/mrunalp/fileutils)
|
|
BuildRequires: golang(github.com/opencontainers/go-digest)
|
|
BuildRequires: golang(github.com/opencontainers/image-spec/specs-go/v1)
|
|
BuildRequires: golang(github.com/opencontainers/runc/libcontainer)
|
|
BuildRequires: golang(github.com/opencontainers/runtime-spec/specs-go)
|
|
BuildRequires: golang(github.com/opencontainers/runtime-tools/generate)
|
|
BuildRequires: golang(github.com/opencontainers/selinux/go-selinux)
|
|
BuildRequires: golang(github.com/opencontainers/selinux/go-selinux/label)
|
|
BuildRequires: golang(github.com/pkg/errors)
|
|
BuildRequires: golang(github.com/sirupsen/logrus)
|
|
BuildRequires: golang(golang.org/x/crypto/ssh/terminal)
|
|
BuildRequires: golang(golang.org/x/sys/unix)
|
|
BuildRequires: golang(k8s.io/apimachinery/pkg/util/wait)
|
|
BuildRequires: golang(k8s.io/client-go/tools/remotecommand)
|
|
BuildRequires: golang(k8s.io/kubernetes/pkg/kubelet/container)
|
|
%endif
|
|
|
|
Requires: golang(github.com/BurntSushi/toml)
|
|
Requires: golang(github.com/containerd/cgroups)
|
|
Requires: golang(github.com/containernetworking/plugins/pkg/ns)
|
|
Requires: golang(github.com/containers/image/copy)
|
|
Requires: golang(github.com/containers/image/directory)
|
|
Requires: golang(github.com/containers/image/docker)
|
|
Requires: golang(github.com/containers/image/docker/archive)
|
|
Requires: golang(github.com/containers/image/docker/reference)
|
|
Requires: golang(github.com/containers/image/docker/tarfile)
|
|
Requires: golang(github.com/containers/image/image)
|
|
Requires: golang(github.com/containers/image/oci/archive)
|
|
Requires: golang(github.com/containers/image/pkg/strslice)
|
|
Requires: golang(github.com/containers/image/pkg/sysregistriesv2)
|
|
Requires: golang(github.com/containers/image/signature)
|
|
Requires: golang(github.com/containers/image/storage)
|
|
Requires: golang(github.com/containers/image/tarball)
|
|
Requires: golang(github.com/containers/image/transports/alltransports)
|
|
Requires: golang(github.com/containers/image/types)
|
|
Requires: golang(github.com/containers/storage)
|
|
Requires: golang(github.com/containers/storage/pkg/archive)
|
|
Requires: golang(github.com/containers/storage/pkg/idtools)
|
|
Requires: golang(github.com/containers/storage/pkg/reexec)
|
|
Requires: golang(github.com/coreos/go-systemd/dbus)
|
|
Requires: golang(github.com/cri-o/ocicni/pkg/ocicni)
|
|
Requires: golang(github.com/docker/distribution/reference)
|
|
Requires: golang(github.com/docker/docker/daemon/caps)
|
|
Requires: golang(github.com/docker/docker/pkg/mount)
|
|
Requires: golang(github.com/docker/docker/pkg/namesgenerator)
|
|
Requires: golang(github.com/docker/docker/pkg/stringid)
|
|
Requires: golang(github.com/docker/docker/pkg/system)
|
|
Requires: golang(github.com/docker/docker/pkg/term)
|
|
Requires: golang(github.com/docker/docker/pkg/truncindex)
|
|
Requires: golang(github.com/ghodss/yaml)
|
|
Requires: golang(github.com/godbus/dbus)
|
|
Requires: golang(github.com/mattn/go-sqlite3)
|
|
Requires: golang(github.com/mrunalp/fileutils)
|
|
Requires: golang(github.com/opencontainers/go-digest)
|
|
Requires: golang(github.com/opencontainers/image-spec/specs-go/v1)
|
|
Requires: golang(github.com/opencontainers/runc/libcontainer)
|
|
Requires: golang(github.com/opencontainers/runtime-spec/specs-go)
|
|
Requires: golang(github.com/opencontainers/runtime-tools/generate)
|
|
Requires: golang(github.com/opencontainers/selinux/go-selinux)
|
|
Requires: golang(github.com/opencontainers/selinux/go-selinux/label)
|
|
Requires: golang(github.com/pkg/errors)
|
|
Requires: golang(github.com/sirupsen/logrus)
|
|
Requires: golang(golang.org/x/crypto/ssh/terminal)
|
|
Requires: golang(golang.org/x/sys/unix)
|
|
Requires: golang(k8s.io/apimachinery/pkg/util/wait)
|
|
Requires: golang(k8s.io/client-go/tools/remotecommand)
|
|
Requires: golang(k8s.io/kubernetes/pkg/kubelet/container)
|
|
|
|
Provides: golang(%{import_path}/cmd/%{name}/docker) = %{version}-%{release}
|
|
Provides: golang(%{import_path}/cmd/%{name}/formats) = %{version}-%{release}
|
|
Provides: golang(%{import_path}/libkpod) = %{version}-%{release}
|
|
Provides: golang(%{import_path}/libpod) = %{version}-%{release}
|
|
Provides: golang(%{import_path}/libpod/common) = %{version}-%{release}
|
|
Provides: golang(%{import_path}/libpod/driver) = %{version}-%{release}
|
|
Provides: golang(%{import_path}/libpod/layers) = %{version}-%{release}
|
|
Provides: golang(%{import_path}/pkg/annotations) = %{version}-%{release}
|
|
Provides: golang(%{import_path}/pkg/chrootuser) = %{version}-%{release}
|
|
Provides: golang(%{import_path}/pkg/registrar) = %{version}-%{release}
|
|
Provides: golang(%{import_path}/pkg/storage) = %{version}-%{release}
|
|
Provides: golang(%{import_path}/utils) = %{version}-%{release}
|
|
|
|
%description -n libpod-devel
|
|
%{summary}
|
|
|
|
This package contains library source intended for
|
|
building other packages which use import path with
|
|
%{import_path} prefix.
|
|
%endif
|
|
|
|
%if 0%{?with_unit_test} && 0%{?with_devel}
|
|
%package unit-test-devel
|
|
Summary: Unit tests for %{name} package
|
|
%if 0%{?with_check}
|
|
#Here comes all BuildRequires: PACKAGE the unit tests
|
|
#in %%check section need for running
|
|
%endif
|
|
|
|
# test subpackage tests code from devel subpackage
|
|
Requires: %{name}-devel = %{version}-%{release}
|
|
|
|
%if 0%{?with_check} && ! 0%{?with_bundled}
|
|
BuildRequires: golang(github.com/stretchr/testify/assert)
|
|
BuildRequires: golang(github.com/urfave/cli)
|
|
%endif
|
|
|
|
Requires: golang(github.com/stretchr/testify/assert)
|
|
Requires: golang(github.com/urfave/cli)
|
|
|
|
%description unit-test-devel
|
|
%{summary}
|
|
libpod provides a library for applications looking to use the Container Pod concept popularized by Kubernetes.
|
|
|
|
This package contains unit tests for project
|
|
providing packages with %{import_path} prefix.
|
|
%endif
|
|
|
|
%if %{with doc}
|
|
%package manpages
|
|
Summary: Man pages for the %{name} commands
|
|
BuildArch: noarch
|
|
|
|
%description manpages
|
|
Man pages for the %{name} commands
|
|
%endif
|
|
|
|
%prep
|
|
%autosetup -Sgit -n %{repo}-%{shortcommit0}
|
|
|
|
# untar conmon
|
|
tar zxf %{SOURCE1}
|
|
|
|
%build
|
|
mkdir _build
|
|
pushd _build
|
|
mkdir -p src/%{provider}.%{provider_tld}/%{project}
|
|
ln -s ../../../../ src/%{import_path}
|
|
popd
|
|
ln -s vendor src
|
|
export GO111MODULE=off
|
|
export GOPATH=$(pwd)/_build:$(pwd):$(pwd):%{gopath}
|
|
export BUILDTAGS="selinux seccomp systemd $(%{hackdir}/hack/btrfs_installed_tag.sh) $(%{hackdir}/hack/btrfs_tag.sh) $(%{hackdir}/hack/libdm_tag.sh) exclude_graphdriver_devicemapper"
|
|
|
|
%if %{with doc}
|
|
BUILDTAGS=$BUILDTAGS make binaries docs
|
|
%else
|
|
BUILDTAGS=$BUILDTAGS make binaries
|
|
%endif
|
|
# build conmon
|
|
pushd conmon
|
|
|
|
mkdir _output
|
|
pushd _output
|
|
mkdir -p src/%{provider}.%{provider_tld}/{containers,opencontainers}
|
|
ln -s $(dirs +1 -l) src/%{import_path_conmon}
|
|
popd
|
|
|
|
export BUILDTAGS="selinux seccomp systemd $(%{hackdir}/hack/btrfs_installed_tag.sh) $(%{hackdir}/hack/btrfs_tag.sh)"
|
|
BUILDTAGS=$BUILDTAGS make
|
|
popd
|
|
|
|
%install
|
|
install -dp %{buildroot}%{_unitdir}
|
|
install -dp %{buildroot}%{_usr}/lib/systemd/user
|
|
PODMAN_VERSION=%{version} %{__make} PREFIX=%{buildroot}%{_prefix} ETCDIR=%{buildroot}%{_sysconfdir} \
|
|
install.bin-nobuild \
|
|
install.remote-nobuild \
|
|
%if %{with doc}
|
|
install.man-nobuild \
|
|
%endif
|
|
install.cni \
|
|
install.systemd \
|
|
install.completions
|
|
|
|
mv pkg/hooks/README.md pkg/hooks/README-hooks.md
|
|
|
|
# install conmon
|
|
install -dp %{buildroot}%{_libexecdir}/%{name}
|
|
install -p -m 755 conmon/bin/conmon %{buildroot}%{_libexecdir}/%{name}
|
|
|
|
# source codes for building projects
|
|
%if 0%{?with_devel}
|
|
install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
|
|
|
|
echo "%%dir %%{gopath}/src/%%{import_path}/." >> devel.file-list
|
|
# find all *.go but no *_test.go files and generate devel.file-list
|
|
for file in $(find . \( -iname "*.go" -or -iname "*.s" \) \! -iname "*_test.go" | grep -v "vendor") ; do
|
|
dirprefix=$(dirname $file)
|
|
install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$dirprefix
|
|
cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file
|
|
echo "%%{gopath}/src/%%{import_path}/$file" >> devel.file-list
|
|
|
|
while [ "$dirprefix" != "." ]; do
|
|
echo "%%dir %%{gopath}/src/%%{import_path}/$dirprefix" >> devel.file-list
|
|
dirprefix=$(dirname $dirprefix)
|
|
done
|
|
done
|
|
%endif
|
|
|
|
# testing files for this project
|
|
%if 0%{?with_unit_test} && 0%{?with_devel}
|
|
install -d -p %{buildroot}/%{gopath}/src/%{import_path}/
|
|
# find all *_test.go files and generate unit-test-devel.file-list
|
|
for file in $(find . -iname "*_test.go" | grep -v "vendor") ; do
|
|
dirprefix=$(dirname $file)
|
|
install -d -p %{buildroot}/%{gopath}/src/%{import_path}/$dirprefix
|
|
cp -pav $file %{buildroot}/%{gopath}/src/%{import_path}/$file
|
|
echo "%%{gopath}/src/%%{import_path}/$file" >> unit-test-devel.file-list
|
|
|
|
while [ "$dirprefix" != "." ]; do
|
|
echo "%%dir %%{gopath}/src/%%{import_path}/$dirprefix" >> devel.file-list
|
|
dirprefix=$(dirname $dirprefix)
|
|
done
|
|
done
|
|
%endif
|
|
|
|
%if 0%{?with_devel}
|
|
sort -u -o devel.file-list devel.file-list
|
|
%endif
|
|
|
|
%check
|
|
%if 0%{?with_check} && 0%{?with_unit_test} && 0%{?with_devel}
|
|
%if ! 0%{?with_bundled}
|
|
export GOPATH=%{buildroot}/%{gopath}:%{gopath}
|
|
%else
|
|
# Since we aren't packaging up the vendor directory we need to link
|
|
# back to it somehow. Hack it up so that we can add the vendor
|
|
# directory from BUILD dir as a gopath to be searched when executing
|
|
# tests from the BUILDROOT dir.
|
|
ln -s ./ ./vendor/src # ./vendor/src -> ./vendor
|
|
|
|
export GOPATH=%{buildroot}/%{gopath}:$(pwd)/vendor:%{gopath}
|
|
%endif
|
|
|
|
%if ! 0%{?gotest:1}
|
|
%global gotest go test
|
|
%endif
|
|
|
|
%gotest %{import_path}/cmd/%{name}
|
|
%gotest %{import_path}/libkpod
|
|
%gotest %{import_path}/libpod
|
|
%gotest %{import_path}/pkg/registrar
|
|
%endif
|
|
|
|
#define license tag if not already defined
|
|
%{!?_licensedir:%global license %doc}
|
|
|
|
%files
|
|
%license LICENSE
|
|
%doc README.md CONTRIBUTING.md pkg/hooks/README-hooks.md install.md CODE-OF-CONDUCT.md transfer.md
|
|
%{_bindir}/%{name}
|
|
%{_datadir}/bash-completion/completions/*
|
|
%{_datadir}/zsh/site-functions/*
|
|
%{_libexecdir}/%{name}/conmon
|
|
%config(noreplace) %{_sysconfdir}/cni/net.d/87-%{name}-bridge.conflist
|
|
%{_unitdir}/podman.service
|
|
%{_unitdir}/podman.socket
|
|
%{_usr}/lib/systemd/user/podman.service
|
|
%{_usr}/lib/systemd/user/podman.socket
|
|
|
|
%if 0%{?with_devel}
|
|
%files -n libpod-devel -f devel.file-list
|
|
%license LICENSE
|
|
%doc README.md CONTRIBUTING.md pkg/hooks/README-hooks.md install.md CODE-OF-CONDUCT.md transfer.md
|
|
%dir %{gopath}/src/%{provider}.%{provider_tld}/%{project}
|
|
%endif
|
|
|
|
%if 0%{?with_unit_test} && 0%{?with_devel}
|
|
%files unit-test-devel -f unit-test-devel.file-list
|
|
%license LICENSE
|
|
%doc README.md CONTRIBUTING.md pkg/hooks/README-hooks.md install.md CODE-OF-CONDUCT.md transfer.md
|
|
%endif
|
|
|
|
%files -n podman-remote
|
|
%license LICENSE
|
|
%doc README.md CONTRIBUTING.md pkg/hooks/README-hooks.md install.md CODE-OF-CONDUCT.md transfer.md
|
|
%{_bindir}/%{name}-remote
|
|
|
|
%if %{with doc}
|
|
%files manpages
|
|
%{_mandir}/man1/*.1*
|
|
%{_mandir}/man5/*.5*
|
|
%endif
|
|
|
|
%changelog
|
|
* Sat Aug 4 2018 Dan Walsh <dwalsh@redhat.com> - 0.8.1-1.git6b4ab2a
|
|
- Bump to v0.8.1
|
|
|
|
* Sun Jul 29 2018 Lokesh Mandvekar (Bot) <lsm5+bot@fedoraproject.org> - 0.8.10.8.1-1.dev.git1a439f9.dev.git5a4e590.dev.git433cbd51
|
|
- bump to 0.8.1
|
|
- autobuilt 433cbd5
|