mirror of
https://github.com/containers/podman.git
synced 2025-07-28 19:02:48 +08:00

Distro builds on Fedora and Kubic projects use GO111MODULE=off by default which are currently failing. This commit fixes it and going forward, podman CI will also indicate failures in rpm builds. The additional LDFLAGS have been removed from the spec file which is not ideal. But, currently we only use the spec file to check if the rpm builds fine. We can fix the LDFLAGS in a later commit when we're working on packit integration. conmon build has also been removed from podman.spec.in because the COPR for which it was provided has been discontinued. [NO TESTS NEEDED] Fixes: #10009 Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
578 lines
25 KiB
RPMSpec
578 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 %{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 -buildmode pie -compiler gc -tags="rpm_crashtraceback ${BUILDTAGS:-}" -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \n') -extldflags '-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld '" -a -v -x %{?**};
|
|
%endif
|
|
|
|
# podman hack directory
|
|
%define hackdir %{_builddir}/%{repo}-%{shortcommit0}
|
|
|
|
%global provider github
|
|
%global provider_tld com
|
|
%global project containers
|
|
%global repo podman
|
|
# https://github.com/containers/podman
|
|
%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})
|
|
|
|
Name: podman
|
|
%if 0%{?fedora}
|
|
Epoch: 99
|
|
%else
|
|
Epoch: 0
|
|
%endif
|
|
Version: 3.2.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: containers-common
|
|
Requires: conmon
|
|
Requires: containernetworking-plugins >= 0.6.0-3
|
|
Requires: iptables
|
|
%if 0%{?rhel} < 8 || 0%{?centos} < 8
|
|
Requires: container-selinux
|
|
Requires: runc
|
|
%else
|
|
%if 0%{?rhel} || 0%{?centos}
|
|
Requires: runc
|
|
%else
|
|
Requires: oci-runtime
|
|
Recommends: crun
|
|
%endif
|
|
Recommends: container-selinux
|
|
Recommends: slirp4netns
|
|
Recommends: fuse-overlayfs
|
|
Recommends: xz
|
|
%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/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
|
|
|
|
%if 0%{?fedora} && ! 0%{?centos}
|
|
%package tests
|
|
Summary: Tests for %{name}
|
|
|
|
Requires: %{name} = %{epoch}:%{version}-%{release}
|
|
Requires: bats
|
|
Requires: jq
|
|
Requires: skopeo
|
|
Requires: nmap-ncat
|
|
Requires: httpd-tools
|
|
Requires: openssl
|
|
Requires: socat
|
|
Requires: buildah
|
|
|
|
%description tests
|
|
%{summary}
|
|
|
|
This package contains system tests for %{name}
|
|
%endif
|
|
|
|
%prep
|
|
%autosetup -Sgit -n %{repo}-%{shortcommit0}
|
|
|
|
# untar conmon
|
|
tar zxf %{SOURCE1}
|
|
|
|
%build
|
|
mkdir _build
|
|
pushd _build
|
|
|
|
# These flags should work for all rpm distros and arches
|
|
export CGO_CFLAGS="-O2 -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -ffat-lto-objects -fexceptions -fasynchronous-unwind-tables -fstack-protector-strong -fstack-clash-protection -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE"
|
|
|
|
%if 0%{?fedora} || 0%{?rhel}
|
|
# This flag is only present on RH-family distros
|
|
export CGO_CFLAGS+=" -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1"
|
|
%endif
|
|
|
|
%ifnarch %{ix86}
|
|
# Build fails on i686 with this flag
|
|
export CGO_CFLAGS+=" -D_FILE_OFFSET_BITS=64"
|
|
%endif
|
|
|
|
%ifarch x86_64
|
|
# Builds only on x86_64 with this flag
|
|
export CGO_CFLAGS+=" -m64 -mtune=generic"
|
|
%if 0%{?fedora} || 0%{?rhel} >= 8
|
|
# Build fails on rhel7 and non-86_64 with this flag
|
|
export CGO_CFLAGS+=" -fcf-protection"
|
|
%endif
|
|
%endif
|
|
|
|
mkdir -p src/%{provider}.%{provider_tld}/%{project}
|
|
ln -s ../../../../ src/%{import_path}
|
|
popd
|
|
ln -s vendor src
|
|
export GO111MODULE=on
|
|
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
|
|
|
|
%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
|
|
|
|
# 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
|
|
|
|
%if 0%{?fedora} && ! 0%{?centos}
|
|
install -d -p %{buildroot}/%{_datadir}/%{name}/test/system
|
|
cp -pav test/system %{buildroot}/%{_datadir}/%{name}/test/
|
|
%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/*
|
|
%{_datadir}/fish/vendor_completions.d/*
|
|
%config(noreplace) %{_sysconfdir}/cni/net.d/87-%{name}-bridge.conflist
|
|
%{_unitdir}/podman-auto-update.service
|
|
%{_unitdir}/podman-auto-update.timer
|
|
%{_unitdir}/podman.service
|
|
%{_unitdir}/podman.socket
|
|
%{_usr}/lib/systemd/user/podman.service
|
|
%{_usr}/lib/systemd/user/podman.socket
|
|
%{_usr}/lib/systemd/user/podman-auto-update.service
|
|
%{_usr}/lib/systemd/user/podman-auto-update.timer
|
|
%{_usr}/lib/tmpfiles.d/podman.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
|
|
|
|
%if 0%{?fedora} && ! 0%{?centos}
|
|
%files tests
|
|
%license LICENSE
|
|
%{_datadir}/%{name}/test
|
|
%dir %{_datadir}/%{name}/test/system
|
|
%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
|