Skip to content

Commit

Permalink
Merge pull request #6353 from lsm5/build-without-varlink
Browse files Browse the repository at this point in the history
enable building without `varlink` tag
  • Loading branch information
openshift-merge-robot committed Jun 1, 2020
2 parents bb05337 + 8a914e8 commit 22713d6
Show file tree
Hide file tree
Showing 11 changed files with 47 additions and 22 deletions.
2 changes: 1 addition & 1 deletion .cirrus.yml
Expand Up @@ -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:
Expand Down
36 changes: 29 additions & 7 deletions Makefile
Expand Up @@ -22,16 +22,15 @@ 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) \
$(shell hack/btrfs_tag.sh) \
$(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
Expand Down Expand Up @@ -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 $@
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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:
Expand Down
15 changes: 1 addition & 14 deletions contrib/spec/podman.spec.in
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
2 changes: 2 additions & 0 deletions test/endpoint/commit.go
@@ -1,3 +1,5 @@
// +build varlink

package endpoint

import (
Expand Down
2 changes: 2 additions & 0 deletions test/endpoint/config.go
@@ -1,3 +1,5 @@
// +build varlink

package endpoint

import "encoding/json"
Expand Down
2 changes: 2 additions & 0 deletions test/endpoint/endpoint.go
@@ -1,3 +1,5 @@
// +build varlink

package endpoint

import (
Expand Down
2 changes: 2 additions & 0 deletions test/endpoint/endpoint_suite_test.go
@@ -1,3 +1,5 @@
// +build varlink

package endpoint

import (
Expand Down
2 changes: 2 additions & 0 deletions test/endpoint/exists_test.go
@@ -1,3 +1,5 @@
// +build varlink

package endpoint

import (
Expand Down
2 changes: 2 additions & 0 deletions test/endpoint/pull_test.go
@@ -1,3 +1,5 @@
// +build varlink

package endpoint

import (
Expand Down
2 changes: 2 additions & 0 deletions test/endpoint/setup.go
@@ -1,3 +1,5 @@
// +build varlink

package endpoint

import (
Expand Down
2 changes: 2 additions & 0 deletions test/endpoint/version_test.go
@@ -1,3 +1,5 @@
// +build varlink

package endpoint

import (
Expand Down

0 comments on commit 22713d6

Please sign in to comment.