mirror of
https://github.com/containers/podman
synced 2024-10-20 09:13:46 +00:00
443aab15e6
Signed-off-by: Matthew Heon <mheon@redhat.com>
564 lines
25 KiB
RPMSpec
564 lines
25 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 0%{?fedora} >= 28
|
|
%bcond_without varlink
|
|
%else
|
|
%bcond_with varlink
|
|
%endif
|
|
|
|
%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: 1.9.0-rc2
|
|
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: runc
|
|
Requires: skopeo-containers
|
|
Requires: containernetworking-plugins >= 0.6.0-3
|
|
Requires: iptables
|
|
%if 0%{?rhel} <= 7
|
|
Requires: container-selinux
|
|
%else
|
|
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}
|
|
|
|
sed -i 's/install.remote: podman-remote/install.remote:/' Makefile
|
|
sed -i 's/install.bin: podman/install.bin:/' Makefile
|
|
%if %{with doc}
|
|
sed -i 's/install.man: docs/install.man:/' Makefile
|
|
%endif
|
|
|
|
%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="varlink selinux seccomp systemd $(%{hackdir}/hack/btrfs_installed_tag.sh) $(%{hackdir}/hack/btrfs_tag.sh) $(%{hackdir}/hack/libdm_tag.sh) exclude_graphdriver_devicemapper"
|
|
|
|
GOPATH=$GOPATH go generate ./pkg/varlink/...
|
|
|
|
%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
|
|
%if %{with doc}
|
|
PODMAN_VERSION=%{version} %{__make} PREFIX=%{buildroot}%{_prefix} ETCDIR=%{buildroot}%{_sysconfdir} \
|
|
install.bin \
|
|
install.remote \
|
|
install.man \
|
|
install.cni \
|
|
install.systemd \
|
|
install.completions
|
|
%else
|
|
PODMAN_VERSION=%{version} %{__make} PREFIX=%{buildroot}%{_prefix} ETCDIR=%{buildroot}%{_sysconfdir} \
|
|
install.bin \
|
|
install.remote \
|
|
install.cni \
|
|
install.systemd \
|
|
install.completions
|
|
%endif
|
|
|
|
mv pkg/hooks/README.md pkg/hooks/README-hooks.md
|
|
|
|
# install libpod.conf
|
|
install -dp %{buildroot}%{_datadir}/containers
|
|
install -p -m 644 %{repo}.conf %{buildroot}%{_datadir}/containers
|
|
|
|
# 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
|
|
%{_datadir}/containers/%{repo}.conf
|
|
%{_unitdir}/io.podman.service
|
|
%{_unitdir}/io.podman.socket
|
|
%{_usr}/lib/systemd/user/io.podman.service
|
|
%{_usr}/lib/systemd/user/io.podman.socket
|
|
%{_unitdir}/podman.service
|
|
%{_unitdir}/podman.socket
|
|
%{_usr}/lib/systemd/user/podman.service
|
|
%{_usr}/lib/systemd/user/podman.socket
|
|
%{_usr}/lib/tmpfiles.d/%{name}.conf
|
|
|
|
%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
|