summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLokesh Mandvekar <lsm5@fedoraproject.org>2020-05-29 14:38:33 -0400
committerLokesh Mandvekar <lsm5@fedoraproject.org>2020-05-29 14:38:33 -0400
commit8a914e8a0b268121ede5e54032025b4f51dd0b02 (patch)
tree11212f7766f5183e8c76e15a61a2ad04590865ef
parent0eea051b92da367469848aac93657653e004a603 (diff)
downloadpodman-8a914e8a0b268121ede5e54032025b4f51dd0b02.tar.gz
podman-8a914e8a0b268121ede5e54032025b4f51dd0b02.tar.bz2
podman-8a914e8a0b268121ede5e54032025b4f51dd0b02.zip
default build without `varlink` tag
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>
-rw-r--r--.cirrus.yml2
-rw-r--r--Makefile36
-rw-r--r--contrib/spec/podman.spec.in15
-rw-r--r--test/endpoint/commit.go2
-rw-r--r--test/endpoint/config.go2
-rw-r--r--test/endpoint/endpoint.go2
-rw-r--r--test/endpoint/endpoint_suite_test.go2
-rw-r--r--test/endpoint/exists_test.go2
-rw-r--r--test/endpoint/pull_test.go2
-rw-r--r--test/endpoint/setup.go2
-rw-r--r--test/endpoint/version_test.go2
11 files changed, 47 insertions, 22 deletions
diff --git a/.cirrus.yml b/.cirrus.yml
index 116dc90cd..292f83951 100644
--- a/.cirrus.yml
+++ b/.cirrus.yml
@@ -268,7 +268,7 @@ varlink_api_task:
timeout_in: 10m
api_md_script:
- - '/usr/local/bin/entrypoint.sh varlink_api_generate |& ${TIMESTAMP}'
+ - '/usr/local/bin/entrypoint.sh BUILDTAGS="varlink" varlink_api_generate |& ${TIMESTAMP}'
- 'cd ${GOSRC} && ./hack/tree_status.sh |& ${TIMESTAMP}'
on_failure:
diff --git a/Makefile b/Makefile
index 75cf64c6c..b7bad33af 100644
--- a/Makefile
+++ b/Makefile
@@ -22,7 +22,7 @@ ETCDIR ?= /etc
TMPFILESDIR ?= ${PREFIX}/lib/tmpfiles.d
SYSTEMDDIR ?= ${PREFIX}/lib/systemd/system
USERSYSTEMDDIR ?= ${PREFIX}/lib/systemd/user
-REMOTETAGS ?= !ABISupport remote exclude_graphdriver_btrfs btrfs_noversion exclude_graphdriver_devicemapper containers_image_openpgp
+REMOTETAGS ?= !ABISupport remote exclude_graphdriver_btrfs btrfs_noversion exclude_graphdriver_devicemapper containers_image_openpgp
BUILDTAGS ?= \
$(shell hack/apparmor_tag.sh) \
$(shell hack/btrfs_installed_tag.sh) \
@@ -30,8 +30,7 @@ BUILDTAGS ?= \
$(shell hack/selinux_tag.sh) \
$(shell hack/systemd_tag.sh) \
exclude_graphdriver_devicemapper \
- seccomp \
- varlink
+ seccomp
PYTHON ?= $(shell command -v python3 python|head -n1)
PKG_MANAGER ?= $(shell command -v dnf yum|head -n1)
# ~/.local/bin is not in PATH on all systems
@@ -145,6 +144,9 @@ help:
ifeq ("$(wildcard $(GOPKGDIR))","")
mkdir -p "$(GOPKGBASEDIR)"
ln -sfn "$(CURDIR)" "$(GOPKGDIR)"
+endif
+
+ifneq (,$(findstring varlink,$(BUILDTAGS)))
ln -sfn "$(CURDIR)/vendor/github.com/varlink" "$(FIRST_GOPATH)/src/github.com/varlink"
endif
touch $@
@@ -333,8 +335,11 @@ ginkgo-remote:
ginkgo -v $(TESTFLAGS) -tags "$(REMOTETAGS)" $(GINKGOTIMEOUT) -cover -flakeAttempts 3 -progress -trace -noColor test/e2e/.
.PHONY: endpoint
+ifneq (,$(findstring varlink,$(BUILDTAGS)))
endpoint:
ginkgo -v $(TESTFLAGS) -tags "$(BUILDTAGS)" $(GINKGOTIMEOUT) -cover -flakeAttempts 3 -progress -trace -noColor -debug test/endpoint/.
+endpoint:
+endif
.PHONY: localintegration
localintegration: varlink_generate test-binaries ginkgo
@@ -554,17 +559,25 @@ install.docker: docker-docs
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.systemd
-install.systemd:
- install ${SELINUXOPT} -m 755 -d ${DESTDIR}${SYSTEMDDIR} ${DESTDIR}${USERSYSTEMDDIR} ${DESTDIR}${TMPFILESDIR}
+.PHONY: install.varlink
+ifneq (,$(findstring varlink,$(BUILDTAGS)))
+install.varlink:
install ${SELINUXOPT} -m 644 contrib/varlink/io.podman.socket ${DESTDIR}${SYSTEMDDIR}/io.podman.socket
install ${SELINUXOPT} -m 644 contrib/varlink/io.podman.socket ${DESTDIR}${USERSYSTEMDDIR}/io.podman.socket
install ${SELINUXOPT} -m 644 contrib/varlink/io.podman.service ${DESTDIR}${SYSTEMDDIR}/io.podman.service
- install ${SELINUXOPT} -d ${DESTDIR}${USERSYSTEMDDIR}
# User units are ordered differently, we can't make the *system* multi-user.target depend on a user unit.
# For user units the default.target that's the default is fine.
sed -e 's,^WantedBy=.*,WantedBy=default.target,' < contrib/varlink/io.podman.service > ${DESTDIR}${USERSYSTEMDDIR}/io.podman.service
install ${SELINUXOPT} -m 644 contrib/varlink/podman.conf ${DESTDIR}${TMPFILESDIR}/podman.conf
+else
+install.varlink:
+endif
+
+
+.PHONY: install.systemd
+install.systemd: install.varlink
+ install ${SELINUXOPT} -m 755 -d ${DESTDIR}${SYSTEMDDIR} ${DESTDIR}${USERSYSTEMDDIR} ${DESTDIR}${TMPFILESDIR}
+ install ${SELINUXOPT} -d ${DESTDIR}${USERSYSTEMDDIR}
# Install APIV2 services
install ${SELINUXOPT} -m 644 contrib/systemd/user/podman.socket ${DESTDIR}${USERSYSTEMDDIR}/podman.socket
install ${SELINUXOPT} -m 644 contrib/systemd/user/podman.service ${DESTDIR}${USERSYSTEMDDIR}/podman.service
@@ -634,11 +647,20 @@ endef
$(call go-get,github.com/cpuguy83/go-md2man); \
fi
+# $BUILD_TAGS variable is used in hack/golangci-lint.sh
.PHONY: varlink_generate
+ifneq (or $(findstring varlink,$(BUILDTAGS)),$(findstring varlink,$(BUILD_TAGS)))
varlink_generate: .gopathok pkg/varlink/iopodman.go ## Generate varlink
+else
+varlink_generate:
+endif
.PHONY: varlink_api_generate
+ifneq (,$(findstring varlink,$(BUILDTAGS)))
varlink_api_generate: .gopathok API.md
+else
+varlink_api_generate:
+endif
.PHONY: install.libseccomp.sudo
install.libseccomp.sudo:
diff --git a/contrib/spec/podman.spec.in b/contrib/spec/podman.spec.in
index e4415c291..701b5f0b1 100644
--- a/contrib/spec/podman.spec.in
+++ b/contrib/spec/podman.spec.in
@@ -5,12 +5,6 @@
%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
@@ -387,9 +381,7 @@ 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/...
+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
@@ -503,15 +495,10 @@ export GOPATH=%{buildroot}/%{gopath}:$(pwd)/vendor:%{gopath}
%{_datadir}/zsh/site-functions/*
%{_libexecdir}/%{name}/conmon
%config(noreplace) %{_sysconfdir}/cni/net.d/87-%{name}-bridge.conflist
-%{_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
diff --git a/test/endpoint/commit.go b/test/endpoint/commit.go
index ab9af819f..2a8e365ae 100644
--- a/test/endpoint/commit.go
+++ b/test/endpoint/commit.go
@@ -1,3 +1,5 @@
+// +build varlink
+
package endpoint
import (
diff --git a/test/endpoint/config.go b/test/endpoint/config.go
index 15ee23547..84f8ecb4c 100644
--- a/test/endpoint/config.go
+++ b/test/endpoint/config.go
@@ -1,3 +1,5 @@
+// +build varlink
+
package endpoint
import "encoding/json"
diff --git a/test/endpoint/endpoint.go b/test/endpoint/endpoint.go
index 6f4ae6b1f..20b5c577e 100644
--- a/test/endpoint/endpoint.go
+++ b/test/endpoint/endpoint.go
@@ -1,3 +1,5 @@
+// +build varlink
+
package endpoint
import (
diff --git a/test/endpoint/endpoint_suite_test.go b/test/endpoint/endpoint_suite_test.go
index 401da94c2..1cd5c2b9d 100644
--- a/test/endpoint/endpoint_suite_test.go
+++ b/test/endpoint/endpoint_suite_test.go
@@ -1,3 +1,5 @@
+// +build varlink
+
package endpoint
import (
diff --git a/test/endpoint/exists_test.go b/test/endpoint/exists_test.go
index 17e252a65..17e0fcab4 100644
--- a/test/endpoint/exists_test.go
+++ b/test/endpoint/exists_test.go
@@ -1,3 +1,5 @@
+// +build varlink
+
package endpoint
import (
diff --git a/test/endpoint/pull_test.go b/test/endpoint/pull_test.go
index 51eb9c760..25141d787 100644
--- a/test/endpoint/pull_test.go
+++ b/test/endpoint/pull_test.go
@@ -1,3 +1,5 @@
+// +build varlink
+
package endpoint
import (
diff --git a/test/endpoint/setup.go b/test/endpoint/setup.go
index 11fa77b5c..c05cc0cbb 100644
--- a/test/endpoint/setup.go
+++ b/test/endpoint/setup.go
@@ -1,3 +1,5 @@
+// +build varlink
+
package endpoint
import (
diff --git a/test/endpoint/version_test.go b/test/endpoint/version_test.go
index a1168da70..403fca555 100644
--- a/test/endpoint/version_test.go
+++ b/test/endpoint/version_test.go
@@ -1,3 +1,5 @@
+// +build varlink
+
package endpoint
import (