diff options
-rw-r--r-- | .copr/prepare.sh | 2 | ||||
-rw-r--r-- | .github/workflows/stale.yml | 8 | ||||
-rw-r--r-- | Makefile | 20 | ||||
-rw-r--r-- | changelog.txt | 7 | ||||
-rw-r--r-- | cmd/podman/cp.go | 6 | ||||
-rwxr-xr-x | contrib/build_rpm.sh | 29 | ||||
-rw-r--r-- | contrib/spec/podman.spec.in | 5 | ||||
-rw-r--r-- | docs/source/markdown/podman-history.1.md | 2 | ||||
-rw-r--r-- | docs/source/markdown/podman-image-trust.1.md | 2 | ||||
-rw-r--r-- | docs/source/markdown/podman-ps.1.md | 2 | ||||
-rw-r--r-- | docs/source/markdown/podman.1.md | 2 | ||||
-rw-r--r-- | test/e2e/cp_test.go | 27 | ||||
-rw-r--r-- | version/version.go | 2 |
13 files changed, 79 insertions, 35 deletions
diff --git a/.copr/prepare.sh b/.copr/prepare.sh index d5a9a7f85..7c8cb4c8f 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/.github/workflows/stale.yml b/.github/workflows/stale.yml index 1015b92b0..5e5a75713 100644 --- a/.github/workflows/stale.yml +++ b/.github/workflows/stale.yml @@ -16,11 +16,9 @@ jobs: - uses: actions/stale@v1 with: repo-token: ${{ secrets.GITHUB_TOKEN }} - stale-issue-message: 'This issue had no activity for 30 days. In the absence of activity or the "do-not-close" label, the issue will be automatically closed within 7 days.' - stale-pr-message: 'This pull request had no activity for 30 days. In the absence of activity or the "do-not-close" label, the pull request will be automatically closed within 7 days.' + stale-issue-message: 'A friendly reminder that this issue had no activity for 30 days.' + stale-pr-message: 'A friendly reminder that this PR had no activity for 30 days.' stale-issue-label: 'stale-issue' stale-pr-label: 'stale-pr' days-before-stale: 30 - days-before-close: 7 - exempt-issue-label: 'do-not-close' - exempt-pr-label: 'do-not-close' + days-before-close: 365 @@ -3,7 +3,7 @@ export GOPROXY=https://proxy.golang.org GO ?= go DESTDIR ?= -EPOCH_TEST_COMMIT ?= 1faa5bb6cdddc2d4b36b1c25261952c9ccf90f61 +EPOCH_TEST_COMMIT ?= 2d8f1c8fda4d0a8b7c41addbc89f0b2f83908ec2 HEAD ?= HEAD CHANGELOG_BASE ?= HEAD~ CHANGELOG_TARGET ?= HEAD @@ -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/changelog.txt b/changelog.txt index a3e1b474f..f539bec99 100644 --- a/changelog.txt +++ b/changelog.txt @@ -1,3 +1,10 @@ +- Changelog for v1.7.0 (2020-01-06) + * (minor) fix broken links to container-policy.json.5 + * Generate binaries only if they are changes in src code. + * Fix presentation of man page tables + * Bump gitvalidation epoch + * Bump to v1.7.0-dev + - Changelog for v1.7.0-rc2 (2020-01-02) * Update release notes with further changes from 1.7.0 * refactor network commands diff --git a/cmd/podman/cp.go b/cmd/podman/cp.go index 762d70252..1e4491f33 100644 --- a/cmd/podman/cp.go +++ b/cmd/podman/cp.go @@ -222,7 +222,7 @@ func copyBetweenHostAndContainer(runtime *libpod.Runtime, src string, dest strin srcPath = os.Stdin.Name() extract = true } - return copy(srcPath, destPath, dest, idMappingOpts, &destOwner, extract, isFromHostToCtr) + return copy(srcPath, destPath, src, dest, idMappingOpts, &destOwner, extract, isFromHostToCtr) } func getUser(mountPoint string, userspec string) (specs.User, error) { @@ -276,8 +276,8 @@ func getPathInfo(path string) (string, os.FileInfo, error) { return path, srcfi, nil } -func copy(src, destPath, dest string, idMappingOpts storage.IDMappingOptions, chownOpts *idtools.IDPair, extract, isFromHostToCtr bool) error { - srcPath, err := evalSymlinks(src) +func copy(srcPath, destPath, src, dest string, idMappingOpts storage.IDMappingOptions, chownOpts *idtools.IDPair, extract, isFromHostToCtr bool) error { + srcPath, err := evalSymlinks(srcPath) if err != nil { return errors.Wrapf(err, "error evaluating symlinks %q", srcPath) } diff --git a/contrib/build_rpm.sh b/contrib/build_rpm.sh index 088d8b7a5..b64973f0d 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 9676a3fb4..25c70c392 100644 --- a/contrib/spec/podman.spec.in +++ b/contrib/spec/podman.spec.in @@ -39,11 +39,11 @@ # 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 -Version: 1.7.0 +Version: 1.7.1 Release: #COMMITDATE#.git%{shortcommit0}%{?dist} Summary: Manage Pods, Containers and Container Images License: ASL 2.0 @@ -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 diff --git a/docs/source/markdown/podman-history.1.md b/docs/source/markdown/podman-history.1.md index a67cb0286..078864faa 100644 --- a/docs/source/markdown/podman-history.1.md +++ b/docs/source/markdown/podman-history.1.md @@ -22,7 +22,7 @@ Valid placeholders for the Go template are listed below: | **Placeholder** | **Description** | | --------------- | ----------------------------------------------------------------------------- | | .ID | Image ID | -| .Created | if **--human**, time elapsed since creation, otherwise time stamp of creation | +| .Created | if --human, time elapsed since creation, otherwise time stamp of creation | | .CreatedBy | Command used to create the layer | | .Size | Size of layer on disk | | .Comment | Comment for the layer | diff --git a/docs/source/markdown/podman-image-trust.1.md b/docs/source/markdown/podman-image-trust.1.md index 3fe4f7f52..435d117f1 100644 --- a/docs/source/markdown/podman-image-trust.1.md +++ b/docs/source/markdown/podman-image-trust.1.md @@ -86,7 +86,7 @@ Display trust as JSON ## SEE ALSO -policy-json(5) +containers-policy.json(5) ## HISTORY January 2019, updated by Tom Sweeney (tsweeney at redhat dot com) diff --git a/docs/source/markdown/podman-ps.1.md b/docs/source/markdown/podman-ps.1.md index 298de0b2b..024b85ea5 100644 --- a/docs/source/markdown/podman-ps.1.md +++ b/docs/source/markdown/podman-ps.1.md @@ -105,7 +105,7 @@ Valid filters are listed below: | name | [Name] Container's name | | label | [Key] or [Key=Value] Label assigned to a container | | exited | [Int] Container's exit code | -| status | [Status] Container's status: *created*, *exited*, *paused*, *running*, *unknown* | +| status | [Status] Container's status: 'created', 'exited', 'paused', 'running', 'unknown' | | ancestor | [ImageName] Image or descendant used to create container | | before | [ID] or [Name] Containers created before this container | | since | [ID] or [Name] Containers created since this container | diff --git a/docs/source/markdown/podman.1.md b/docs/source/markdown/podman.1.md index c62f54fbb..01c750144 100644 --- a/docs/source/markdown/podman.1.md +++ b/docs/source/markdown/podman.1.md @@ -271,7 +271,7 @@ The Network File System (NFS) and other distributed file systems (for example: L For more information, please refer to the [Podman Troubleshooting Page](https://github.com/containers/libpod/blob/master/troubleshooting.md). ## SEE ALSO -`containers-mounts.conf(5)`, `containers-registries.conf(5)`, `containers-storage.conf(5)`, `buildah(1)`, `libpod.conf(5)`, `oci-hooks(5)`, `policy.json(5)`, `subuid(5)`, `subgid(5)`, `slirp4netns(1)` +`containers-mounts.conf(5)`, `containers-registries.conf(5)`, `containers-storage.conf(5)`, `buildah(1)`, `libpod.conf(5)`, `oci-hooks(5)`, `containers-policy.json(5)`, `subuid(5)`, `subgid(5)`, `slirp4netns(1)` ## HISTORY Dec 2016, Originally compiled by Dan Walsh <dwalsh@redhat.com> diff --git a/test/e2e/cp_test.go b/test/e2e/cp_test.go index 8d4c3dee7..b71897cfd 100644 --- a/test/e2e/cp_test.go +++ b/test/e2e/cp_test.go @@ -112,6 +112,33 @@ var _ = Describe("Podman cp", func() { session = podmanTest.Podman([]string{"cp", testDirPath, name + ":/foodir"}) session.WaitWithDefaultTimeout() Expect(session.ExitCode()).To(Equal(0)) + + testctr := "testctr" + setup := podmanTest.RunTopContainer(testctr) + setup.WaitWithDefaultTimeout() + Expect(setup.ExitCode()).To(Equal(0)) + + session = podmanTest.Podman([]string{"exec", testctr, "mkdir", "foo"}) + session.WaitWithDefaultTimeout() + Expect(session.ExitCode()).To(Equal(0)) + + session = podmanTest.Podman([]string{"cp", testDirPath + "/.", testctr + ":/foo"}) + session.WaitWithDefaultTimeout() + Expect(session.ExitCode()).To(Equal(0)) + session = podmanTest.Podman([]string{"exec", testctr, "ls", "foo"}) + session.WaitWithDefaultTimeout() + Expect(session.ExitCode()).To(Equal(0)) + Expect(len(session.OutputToString())).To(Equal(0)) + + session = podmanTest.Podman([]string{"cp", testctr + ":/foo/.", testDirPath}) + session.WaitWithDefaultTimeout() + Expect(session.ExitCode()).To(Equal(0)) + cmd := exec.Command("ls", testDirPath) + res, err := cmd.Output() + Expect(err).To(BeNil()) + Expect(len(res)).To(Equal(0)) + + os.RemoveAll(testDirPath) }) It("podman cp stdin/stdout", func() { diff --git a/version/version.go b/version/version.go index e75d1e713..ee25517e7 100644 --- a/version/version.go +++ b/version/version.go @@ -4,7 +4,7 @@ package version // NOTE: remember to bump the version at the top // of the top-level README.md file when this is // bumped. -const Version = "1.7.0-dev" +const Version = "1.7.1-dev" // RemoteAPIVersion is the version for the remote // client API. It is used to determine compatibility |