diff options
author | Lokesh Mandvekar <lsm5@fedoraproject.org> | 2022-01-25 08:09:05 -0500 |
---|---|---|
committer | Lokesh Mandvekar <lsm5@fedoraproject.org> | 2022-01-25 08:27:44 -0500 |
commit | e4636ebdc84ca28cf378873435cc9a27c81756f8 (patch) | |
tree | 8eb70710585eccbc8a8d42d38d1b4ebadc4f192c | |
parent | 534c4881b51b1bffaac1afcfbcfdc0dde09ccdb4 (diff) | |
download | podman-e4636ebdc84ca28cf378873435cc9a27c81756f8.tar.gz podman-e4636ebdc84ca28cf378873435cc9a27c81756f8.tar.bz2 podman-e4636ebdc84ca28cf378873435cc9a27c81756f8.zip |
Makefile: install targets independent of build
Building from source would involve separate `make` and `make install`
steps.
This removes a lot of unnecessary `-nobuild` targets which were
otherwise needed for packaging.
This commit also removes spec files for unused copr jobs.
[NO NEW TESTS NEEDED]
Signed-off-by: Lokesh Mandvekar <lsm5@fedoraproject.org>
-rw-r--r-- | .copr/Makefile | 21 | ||||
-rw-r--r-- | .copr/prepare.sh | 39 | ||||
-rw-r--r-- | Makefile | 37 | ||||
-rwxr-xr-x | contrib/build_rpm.sh | 83 | ||||
-rwxr-xr-x | contrib/cirrus/runner.sh | 3 | ||||
-rwxr-xr-x | contrib/cirrus/setup_environment.sh | 2 | ||||
-rw-r--r-- | contrib/spec/podman.spec.in | 571 | ||||
-rw-r--r-- | podman.spec.rpkg | 8 |
8 files changed, 17 insertions, 747 deletions
diff --git a/.copr/Makefile b/.copr/Makefile deleted file mode 100644 index ff99cd5c6..000000000 --- a/.copr/Makefile +++ /dev/null @@ -1,21 +0,0 @@ -#!/usr/bin/make -f -mkfile_path := $(abspath $(lastword $(MAKEFILE_LIST))) -current_dir := $(notdir $(patsubst %/,%,$(dir $(mkfile_path)))) -outdir := $(CURDIR) -topdir := $(CURDIR)/rpmbuild -SHORT_COMMIT ?= $(shell git rev-parse --short=8 HEAD) - -export GO111MODULE=off - -srpm: - mkdir -p $(topdir) - sh $(current_dir)/prepare.sh - rpmbuild -bs -D "dist %{nil}" -D "_sourcedir build/" -D "_srcrpmdir $(outdir)" -D "_topdir $(topdir)" --nodeps ${extra_arg:-""} contrib/spec/podman.spec - -build_binary: - mkdir -p $(topdir) - rpmbuild --rebuild -D "_rpmdir $(outdir)" -D "_topdir $(topdir)" ${extra_arg:-""} $(outdir)/podman-*.git$(SHORT_COMMIT).src.rpm - -clean: - rm -fr rpms - rm -fr conmon diff --git a/.copr/prepare.sh b/.copr/prepare.sh deleted file mode 100644 index de12a0d56..000000000 --- a/.copr/prepare.sh +++ /dev/null @@ -1,39 +0,0 @@ -#!/bin/sh -euf -set -euxo pipefail -OS_TEST=${OS_TEST:=0} - -if [ ! -e /usr/bin/git ]; then - dnf -y install git-core -fi - -if [ -f $(git rev-parse --git-dir)/shallow ]; then - git fetch --unshallow -fi - -COMMIT=$(git rev-parse HEAD) -COMMIT_SHORT=$(git rev-parse --short=8 HEAD) -COMMIT_NUM=$(git rev-list HEAD --count) -COMMIT_DATE=$(date +%s) -BR="#BuildRequires: golang-bin" -NEWBR="BuildRequires: golang-bin" - - -sed "s,#COMMIT#,${COMMIT},; - s,#SHORTCOMMIT#,${COMMIT_SHORT},; - s,#COMMITNUM#,${COMMIT_NUM},; - s,#COMMITDATE#,${COMMIT_DATE}," \ - contrib/spec/podman.spec.in > contrib/spec/podman.spec - -if [ ${OS_TEST} -eq 0 ]; then - sed -i "s/${BR}/${NEWBR}/g" contrib/spec/podman.spec -fi - -mkdir -p build/ -git archive --prefix "podman-${COMMIT_SHORT}/" --format "tar.gz" HEAD -o "build/podman-${COMMIT_SHORT}.tar.gz" -if [ ! -d conmon ]; then - git clone -n --quiet https://github.com/containers/conmon -fi -pushd conmon -git checkout --detach d532caebc788fafdd2a305b68cd1983b4039bea4 -git archive --prefix "conmon/" --format "tar.gz" HEAD -o "../build/conmon.tar.gz" -popd @@ -671,7 +671,7 @@ podman-release-%.tar.gz: test/version/version else \ $(MAKE) GOOS=$(GOOS) GOARCH=$(GOARCH) binaries; \ fi - $(MAKE) $(_DSTARGS) install.bin-nobuild install.remote-nobuild install.man install.systemd + $(MAKE) $(_DSTARGS) install.bin install.remote install.man install.systemd tar -czvf $@ --xattrs -C "$(TMPDIR)" "./$(SUBDIR)" if [[ "$(GOARCH)" != "$(NATIVE_GOARCH)" ]]; then $(MAKE) clean-binaries; fi -rm -rf "$(TMPDIR)" @@ -694,7 +694,7 @@ podman-remote-release-%.zip: test/version/version ## Build podman-remote for %=$ fi cp -r ./docs/build/remote/$(GOOS) "$(TMPDIR)/$(SUBDIR)/docs/" cp ./contrib/remote/containers.conf "$(TMPDIR)/$(SUBDIR)/" - $(MAKE) $(GOPLAT) $(_DSTARGS) SELINUXOPT="" install.remote-nobuild + $(MAKE) $(GOPLAT) $(_DSTARGS) SELINUXOPT="" install.remote cd "$(TMPDIR)" && \ zip --recurse-paths "$(CURDIR)/$@" "./" if [[ "$(GOARCH)" != "$(NATIVE_GOARCH)" ]]; then $(MAKE) clean-binaries; fi @@ -727,10 +727,7 @@ win-sshproxy: test/version/version .PHONY: package package: ## Build rpm packages - ## TODO(ssbarnea): make version number predictable, it should not change - ## on each execution, producing duplicates. - rm -rf build/* *.src.rpm ~/rpmbuild/RPMS/* - ./contrib/build_rpm.sh + rpkg local ### ### Installation targets @@ -752,8 +749,8 @@ install: .gopathok install.bin install.remote install.man install.systemd ## In install.catatonit: ./hack/install_catatonit.sh -.PHONY: install.remote-nobuild -install.remote-nobuild: +.PHONY: install.remote +install.remote: install ${SELINUXOPT} -d -m 755 $(DESTDIR)$(BINDIR) install ${SELINUXOPT} -m 755 $(SRCBINDIR)/podman$(BINSFX) \ $(DESTDIR)$(BINDIR)/podman$(BINSFX) @@ -761,11 +758,8 @@ install.remote-nobuild: chcon --verbose --reference=$(DESTDIR)$(BINDIR)/podman-remote \ bin/podman-remote -.PHONY: install.remote -install.remote: podman-remote install.remote-nobuild - -.PHONY: install.bin-nobuild -install.bin-nobuild: +.PHONY: install.bin +install.bin: install ${SELINUXOPT} -d -m 755 $(DESTDIR)$(BINDIR) install ${SELINUXOPT} -m 755 bin/podman $(DESTDIR)$(BINDIR)/podman test -z "${SELINUXOPT}" || chcon --verbose --reference=$(DESTDIR)$(BINDIR)/podman bin/podman @@ -775,20 +769,14 @@ install.bin-nobuild: install ${SELINUXOPT} -m 755 -d ${DESTDIR}${TMPFILESDIR} install ${SELINUXOPT} -m 644 contrib/tmpfile/podman.conf ${DESTDIR}${TMPFILESDIR}/podman.conf -.PHONY: install.bin -install.bin: podman rootlessport install.bin-nobuild - -.PHONY: install.man-nobuild -install.man-nobuild: +.PHONY: install.man +install.man: install ${SELINUXOPT} -d -m 755 $(DESTDIR)$(MANDIR)/man1 install ${SELINUXOPT} -d -m 755 $(DESTDIR)$(MANDIR)/man5 install ${SELINUXOPT} -m 644 $(filter %.1,$(MANPAGES_DEST)) -t $(DESTDIR)$(MANDIR)/man1 install ${SELINUXOPT} -m 644 $(filter %.5,$(MANPAGES_DEST)) -t $(DESTDIR)$(MANDIR)/man5 install ${SELINUXOPT} -m 644 docs/source/markdown/links/*1 -t $(DESTDIR)$(MANDIR)/man1 -.PHONY: install.man -install.man: docs install.man-nobuild - .PHONY: install.completions install.completions: install ${SELINUXOPT} -d -m 755 ${DESTDIR}${BASHINSTALLDIR} @@ -809,16 +797,13 @@ install.docker: install ${SELINUXOPT} -m 755 -d ${DESTDIR}${SYSTEMDDIR} ${DESTDIR}${USERSYSTEMDDIR} ${DESTDIR}${TMPFILESDIR} install ${SELINUXOPT} -m 644 contrib/systemd/system/podman-docker.conf -t ${DESTDIR}${TMPFILESDIR} -.PHONY: install.docker-docs-nobuild -install.docker-docs-nobuild: +.PHONY: install.docker-docs +install.docker-docs: install ${SELINUXOPT} -d -m 755 $(DESTDIR)$(MANDIR)/man1 install ${SELINUXOPT} -m 644 docs/build/man/docker*.1 -t $(DESTDIR)$(MANDIR)/man1 install ${SELINUXOPT} -d -m 755 $(DESTDIR)$(MANDIR)/man5 install ${SELINUXOPT} -m 644 docs/build/man/docker*.5 -t $(DESTDIR)$(MANDIR)/man5 -.PHONY: install.docker-docs -install.docker-docs: docker-docs install.docker-docs-nobuild - .PHONY: install.docker-full install.docker-full: install.docker install.docker-docs diff --git a/contrib/build_rpm.sh b/contrib/build_rpm.sh deleted file mode 100755 index 3039c1bf9..000000000 --- a/contrib/build_rpm.sh +++ /dev/null @@ -1,83 +0,0 @@ -#!/usr/bin/env bash -set -euxo pipefail - -# returned path can vary: /usr/bin/dnf /bin/dnf ... -pkg_manager=$(command -v dnf yum | head -n1) -echo "Package manager binary: $pkg_manager" - - -if [[ $pkg_manager == *yum ]]; then - echo "[virt7-container] -name=virt7-container -baseurl=https://buildlogs.centos.org/centos/7/virt/x86_64/container/ -enabled=1 -gpgcheck=0" > /etc/yum.repos.d/container_virt.repo - echo "[paas_openshift_origin311] -name=paas_openshift_origin311 -# Use this if you need the newest *-testing packages -# baseurl=https://buildlogs.centos.org/centos/7/paas/x86_64/openshift-origin311/ -baseurl=http://mirror.centos.org/centos/7/paas/x86_64/openshift-origin311/ -enabled=1 -gpgcheck=0" > /etc/yum.repos.d/paas_openshift_origin311.repo -fi - -declare -a PKGS=(\ - createrepo \ - device-mapper-devel \ - git \ - glib2-devel \ - glibc-static \ - go-compilers-golang-compiler \ - golang \ - gpgme-devel \ - libassuan-devel \ - libseccomp-devel \ - libselinux-devel \ - make \ - redhat-rpm-config \ - rpm-build \ - rpmdevtools \ - systemd-devel \ - ) - -if [[ $pkg_manager == *dnf ]]; then - # We need to enable PowerTools if we want to get - # install all the pkgs we define in PKGS - # PowerTools exists on centos-8 but not on fedora-30 and rhel-8 - if (dnf -v -C repolist all|grep "Repo-id : PowerTools" >/dev/null); then - sudo dnf config-manager --set-enabled PowerTools - fi - - PKGS+=(python3-devel \ - ) -fi - -# Package name on fedora 30 is golang-github-cpuguy83-go-md2man -if (grep -i 'Fedora' /etc/redhat-release | grep " 30" ) ; then - PKGS+=(golang-github-cpuguy83-go-md2man \ - btrfs-progs-devel \ - ) -# btrfs-progs-devel is not available in CentOS/RHEL-8 -elif ! (grep -i 'Red Hat\|CentOS' /etc/redhat-release | grep " 8" ) ; then - PKGS+=(golang-github-cpuguy83-md2man \ - btrfs-progs-devel \ - ) -fi - -# disable doc until go-md2man rpm becomes available -# disable debug to avoid error: Empty %files file ~/rpmbuild/BUILD/libpod-.../debugsourcefiles.list -export extra_arg="--without doc --without debug" - -echo ${PKGS[*]} -sudo $pkg_manager install -y ${PKGS[*]} - -# clean up src.rpm as it's been built -sudo rm -f podman-*.src.rpm - -make -f .copr/Makefile -# workaround for https://github.com/containers/podman/issues/4627 -if [ -d ~/rpmbuild/BUILD ]; then - chmod -R +w ~/rpmbuild/BUILD -fi - -rpmbuild --rebuild ${extra_arg:-} podman-*.src.rpm diff --git a/contrib/cirrus/runner.sh b/contrib/cirrus/runner.sh index c52fd9216..f0223f9eb 100755 --- a/contrib/cirrus/runner.sh +++ b/contrib/cirrus/runner.sh @@ -233,8 +233,7 @@ function _run_altbuild() { make build-no-cgo ;; *RPM*) - make -f ./.copr/Makefile - rpmbuild --rebuild ./podman-*.src.rpm + make package ;; Alt*Cross) arches=(\ diff --git a/contrib/cirrus/setup_environment.sh b/contrib/cirrus/setup_environment.sh index 03b954a5b..44c821bc1 100755 --- a/contrib/cirrus/setup_environment.sh +++ b/contrib/cirrus/setup_environment.sh @@ -218,7 +218,7 @@ case "$TEST_FLAVOR" in # Defined in .cirrus.yml # shellcheck disable=SC2154 if [[ "$ALT_NAME" =~ RPM ]]; then - bigto dnf install -y glibc-minimal-langpack rpm-build + bigto dnf install -y glibc-minimal-langpack go-rpm-macros rpkg rpm-build shadow-utils-subid-devel fi ;& docker-py) diff --git a/contrib/spec/podman.spec.in b/contrib/spec/podman.spec.in deleted file mode 100644 index cb041df6c..000000000 --- a/contrib/spec/podman.spec.in +++ /dev/null @@ -1,571 +0,0 @@ -%global with_devel 0 -%global with_bundled 1 -%global with_check 0 -%global with_unit_test 0 -%bcond_without doc - -%global debug_package %{nil} - -# 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.3.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: catatonit >= 0.1.7 -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: gnupg -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} DESTDIR=%{buildroot} PREFIX=%{_prefix} ETCDIR=%{_sysconfdir} \ - install.bin-nobuild \ - install.remote-nobuild \ -%if %{with doc} - install.man-nobuild \ -%endif - 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/* -%{_unitdir}/podman-auto-update.service -%{_unitdir}/podman-auto-update.timer -%{_unitdir}/podman.service -%{_unitdir}/podman.socket -%{_unitdir}/podman-restart.service -%{_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/systemd/user/podman-restart.service -%{_usr}/lib/tmpfiles.d/podman.conf -%dir %{_libexecdir}/%{name} -%{_libexecdir}/%{name}/rootlessport - -%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 diff --git a/podman.spec.rpkg b/podman.spec.rpkg index 5c203b24a..4068b3a81 100644 --- a/podman.spec.rpkg +++ b/podman.spec.rpkg @@ -196,13 +196,13 @@ make docs docker-docs # the installable rpm package. %install PODMAN_VERSION=%{version} %{__make} DESTDIR=%{buildroot} PREFIX=%{_prefix} ETCDIR=%{buildroot}%{_sysconfdir} \ - install.bin-nobuild \ - install.man-nobuild \ + install.bin \ + install.man \ install.systemd \ install.completions \ install.docker \ - install.docker-docs-nobuild \ - install.remote-nobuild \ + install.docker-docs \ + install.remote \ install -d -p %{buildroot}/%{_datadir}/%{name}/test/system cp -pav test/system %{buildroot}/%{_datadir}/%{name}/test/ |