diff --git a/.copr/prepare.sh b/.copr/prepare.sh index d5a9a7f85b..7c8cb4c8ff 100644 --- a/.copr/prepare.sh +++ b/.copr/prepare.sh @@ -34,6 +34,6 @@ if [ ! -d conmon ]; then git clone -n --quiet https://github.com/containers/conmon fi pushd conmon -git checkout --detach 6f3572558b97bc60dd8f8c7f0807748e6ce2c440 +git checkout --detach d532caebc788fafdd2a305b68cd1983b4039bea4 git archive --prefix "conmon/" --format "tar.gz" HEAD -o "../build/conmon.tar.gz" popd diff --git a/Makefile b/Makefile index a9f1d17ba6..3f87990fcd 100644 --- a/Makefile +++ b/Makefile @@ -35,6 +35,7 @@ BUILDTAGS ?= \ PYTHON ?= $(shell command -v python python3|head -n1) PKG_MANAGER ?= $(shell command -v dnf yum|head -n1) +SOURCES = $(shell find . -name "*.go") GO_BUILD=$(GO) build # Go module support: set `-mod=vendor` to use the vendored sources @@ -164,11 +165,15 @@ test/checkseccomp/checkseccomp: .gopathok $(wildcard test/checkseccomp/*.go) test/goecho/goecho: .gopathok $(wildcard test/goecho/*.go) $(GO_BUILD) -ldflags '$(LDFLAGS_PODMAN)' -o $@ $(PROJECT)/test/goecho -podman: .gopathok $(PODMAN_VARLINK_DEPENDENCIES) ## Build with podman - $(GO_BUILD) $(BUILDFLAGS) -gcflags '$(GCFLAGS)' -asmflags '$(ASMFLAGS)' -ldflags '$(LDFLAGS_PODMAN)' -tags "$(BUILDTAGS)" -o bin/$@ $(PROJECT)/cmd/podman +bin/podman: .gopathok $(SOURCES) go.mod go.sum $(PODMAN_VARLINK_DEPENDENCIES) ## Build with podman + $(GO_BUILD) $(BUILDFLAGS) -gcflags '$(GCFLAGS)' -asmflags '$(ASMFLAGS)' -ldflags '$(LDFLAGS_PODMAN)' -tags "$(BUILDTAGS)" -o $@ $(PROJECT)/cmd/podman -podman-remote: .gopathok $(PODMAN_VARLINK_DEPENDENCIES) ## Build with podman on remote environment - $(GO_BUILD) $(BUILDFLAGS) -gcflags '$(GCFLAGS)' -asmflags '$(ASMFLAGS)' -ldflags '$(LDFLAGS_PODMAN)' -tags "$(BUILDTAGS) remoteclient" -o bin/$@ $(PROJECT)/cmd/podman +podman: bin/podman + +bin/podman-remote: .gopathok $(SOURCES) go.mod go.sum $(PODMAN_VARLINK_DEPENDENCIES) ## Build with podman on remote environment + $(GO_BUILD) $(BUILDFLAGS) -gcflags '$(GCFLAGS)' -asmflags '$(ASMFLAGS)' -ldflags '$(LDFLAGS_PODMAN)' -tags "$(BUILDTAGS) remoteclient" -o $@ $(PROJECT)/cmd/podman + +podman-remote: bin/podman-remote .PHONY: podman.msi podman.msi: podman-remote podman-remote-windows install-podman-remote-windows-docs ## Will always rebuild exe as there is no podman-remote-windows.exe target to verify timestamp @@ -544,7 +549,6 @@ vendor-in-container: podman run --privileged --rm --env HOME=/root -v `pwd`:/src -w /src docker.io/library/golang:1.13 make vendor .PHONY: \ - .gopathok \ binaries \ changelog \ clean \ @@ -572,4 +576,6 @@ package: ## Build rpm packages ./contrib/build_rpm.sh package-install: package ## Install rpm packages - sudo ${PKG_MANAGER} -y install --allowerasing ${HOME}/rpmbuild/RPMS/*/*.rpm + sudo ${PKG_MANAGER} -y remove podman podman-remote + sudo ${PKG_MANAGER} -y clean all + sudo ${PKG_MANAGER} -y install ${HOME}/rpmbuild/RPMS/*/*.rpm diff --git a/contrib/build_rpm.sh b/contrib/build_rpm.sh index 088d8b7a5e..b64973f0d3 100755 --- a/contrib/build_rpm.sh +++ b/contrib/build_rpm.sh @@ -30,22 +30,26 @@ declare -a PKGS=(device-mapper-devel \ ) if [[ $pkg_manager == *dnf ]]; then + # We need to enable PowerTools if we want to get + # install all the pkgs we define in PKGS + sudo dnf config-manager --set-enabled PowerTools + PKGS+=(python3-devel \ python3-varlink \ ) - # btrfs-progs-devel is not available in CentOS/RHEL-8 - if ! grep -i -q 'Red Hat\|CentOS' /etc/redhat-release; then - PKGS+=(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" -else - if ! grep -i -q 'Red Hat\|CentOS' /etc/redhat-release; then - PKGS+=(golang-github-cpuguy83-go-md2man) - fi fi +# btrfs-progs-devel is not available in CentOS/RHEL-8 +if ! (grep -i 'Red Hat\|CentOS' /etc/redhat-release | grep " 8" ); then + PKGS+=(golang-github-cpuguy83-go-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[*]} @@ -56,3 +60,6 @@ if [ -d ~/rpmbuild/BUILD ]; then fi rpmbuild --rebuild ${extra_arg:-} podman-*.src.rpm + +# clean up src.rpm as it's been built +sudo rm -f podman-*.src.rpm diff --git a/contrib/spec/podman.spec.in b/contrib/spec/podman.spec.in index 9676a3fb4d..63f569a510 100644 --- a/contrib/spec/podman.spec.in +++ b/contrib/spec/podman.spec.in @@ -39,7 +39,7 @@ # 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 6f3572558b97bc60dd8f8c7f0807748e6ce2c440 +%global commit_conmon d532caebc788fafdd2a305b68cd1983b4039bea4 %global shortcommit_conmon %(c=%{commit_conmon}; echo ${c:0:7}) Name: podman @@ -79,7 +79,6 @@ Requires: runc Requires: skopeo-containers Requires: containernetworking-plugins >= 0.6.0-3 Requires: iptables -Requires: oci-systemd-hook %if 0%{?rhel} <= 7 Requires: container-selinux %else