diff --git a/.gitignore b/.gitignore index e444053..c628a30 100644 --- a/.gitignore +++ b/.gitignore @@ -1 +1 @@ -SOURCES/libpod-5cc9284.tar.gz +SOURCES/v2.0.0-rc7.tar.gz diff --git a/.podman.metadata b/.podman.metadata index d1ef31e..d44e675 100644 --- a/.podman.metadata +++ b/.podman.metadata @@ -1 +1 @@ -dd35f1a00ac7860feeaa77dd5a92bc7bb310b821 SOURCES/libpod-5cc9284.tar.gz +b32c0bf490e773df61cc23d43ca1dbdfca7b0026 SOURCES/v2.0.0-rc7.tar.gz diff --git a/SPECS/podman.spec b/SPECS/podman.spec index 5aab85c..08b432e 100644 --- a/SPECS/podman.spec +++ b/SPECS/podman.spec @@ -24,16 +24,18 @@ go build -buildmode pie -compiler gc -tags="rpm_crashtraceback libtrust_openssl %global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} %global import_path %{provider_prefix} %global git0 https://%{provider}.%{provider_tld}/%{project}/%{repo} -%global commit0 5cc92849f7fc9dd734ca2fd8f3ae8830b9a7eb26 -%global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) Name: podman -Version: 1.6.4 -Release: 1%{?dist} +Version: 2.0.0 +Release: 0.9.rc7%{?dist} Summary: Manage Pods, Containers and Container Images License: ASL 2.0 URL: https://%{name}.io/ -Source0: %{git0}/archive/%{commit0}/%{repo}-%{shortcommit0}.tar.gz +Source0: %{git0}/archive/v%{version}-rc7.tar.gz +# Build fails with: No matching package to install: 'golang >= 1.12.12-4' on i686 +ExcludeArch: i686 +Provides: %{name}-manpages = %{version}-%{release} +Obsoletes: %{name}-manpages < %{version}-%{release} BuildRequires: golang >= 1.12.12-4 BuildRequires: glib2-devel BuildRequires: glibc-devel @@ -54,121 +56,26 @@ Requires: containers-common >= 0.1.29-3 Requires: containernetworking-plugins >= 0.8.1-1 Requires: iptables Requires: nftables +Obsoletes: oci-systemd-hook < 1 Requires: libseccomp >= 2.4.1 Requires: conmon -Requires: %{name}-manpages = %{version}-%{release} -Requires: container-selinux +Recommends: container-selinux Requires: slirp4netns >= 0.4.0-1 Requires: runc >= 1.0.0-57 Requires: fuse-overlayfs Requires: libvarlink -# vendored libraries -# awk '{print "Provides: bundled(golang("$1")) = "$2}' vendor.conf | sort -# [thanks to Carl George 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)) = 58556f5ad8448d99a6f7bea69ea4bdb7747cfeb0 -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)) = 1562a1e60ed101aacc5e08ed9dbeba8e9f3d4ec1 -Provides: bundled(golang(github.com/containers/image)) = 85d7559d44fd71f30e46e43d809bfbf88d11d916 -Provides: bundled(golang(github.com/containers/psgo)) = 5dde6da0bc8831b35243a847625bcf18183bd1ee -Provides: bundled(golang(github.com/containers/storage)) = 243c4cd616afdf06b4a975f18c4db083d26b1641 -Provides: bundled(golang(github.com/coreos/go-iptables)) = 25d087f3cffd9aedc0c2b7eff25f23cbf3c20fe1 -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/mailru/easyjson)) = 03f2033d19d5860aef995fe360ac7d395cd8ce65 -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)) = b4e2ecb452d9ee4381137cc0a7e6715b96bed6de -Provides: bundled(golang(github.com/opencontainers/runtime-spec)) = d810dbc60d8c5aeeb3d054bd1132fab2121968ce -Provides: bundled(golang(github.com/opencontainers/runtime-tools)) = master -Provides: bundled(golang(github.com/opencontainers/selinux)) = b6fa367ed7f534f9ba25391cc2d467085dbb445a -Provides: bundled(golang(github.com/openshift/imagebuilder)) = master -Provides: bundled(golang(github.com/ostreedev/ostree-go)) = 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/projectatomic/buildah)) = af5bbde0180026ae87b7fc81c2dc124aa73ec959 -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 -Provides: bundled(golang(github.com/ulule/deepcopier)) = master -Provides: bundled(golang(github.com/urfave/cli)) = 934abfb2f102315b5794e15ebc7949e4ca253920 -Provides: bundled(golang(github.com/varlink/go)) = master -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 -%{name} (Pod Manager) is a fully featured container engine that is a simple daemonless tool. %{name} provides a Docker-CLI comparable command line that eases the transition from other container engines and allows the management of pods, containers and images. Simply put: alias docker=%{name}. Most %{name} commands can be run as a regular user, without requiring additional privileges. +%{name} (Pod Manager) is a fully featured container engine that is a simple +daemonless tool. %{name} provides a Docker-CLI comparable command line that +eases the transition from other container engines and allows the management of +pods, containers and images. Simply put: alias docker=%{name}. +Most %{name} commands can be run as a regular user, without requiring +additional privileges. -%{name} uses Buildah(1) internally to create container images. Both tools share image (not container) storage, hence each can use or manipulate images (but not containers) created by the other. +%{name} uses Buildah(1) internally to create container images. +Both tools share image (not container) storage, hence each can use or +manipulate images (but not containers) created by the other. %{summary} %{repo} Simple management tool for pods, containers and images @@ -188,13 +95,6 @@ This package installs a script named docker that emulates the Docker CLI by executes %{name} commands, it also creates links between all Docker CLI man pages and %{name}. -%package manpages -Summary: Man pages for the %{name} commands -BuildArch: noarch - -%description manpages -Man pages for the %{name} commands - %package remote Summary: (Experimental) Remote client for managing %{name} containers @@ -212,6 +112,7 @@ connections as well. Summary: Tests for %{name} Requires: %{name} = %{version}-%{release} #Requires: bats (which RHEL8 doesn't have. If it ever does, un-comment this) +Requires: nmap-ncat Requires: jq %description tests @@ -220,13 +121,16 @@ Requires: jq This package contains system tests for %{name} %prep -%autosetup -Sgit -n %{repo}-%{commit0} +%autosetup -Sgit -n %{repo}-%{version}-rc7 sed -i 's/install.bin: podman/install.bin:/' Makefile sed -i 's/install.man: docs/install.man:/' Makefile sed -i 's/install.remote: podman-remote/install.remote:/' Makefile mv pkg/hooks/README.md pkg/hooks/README-hooks.md +# this is shipped by skopeo: containers-common subpackage +rm -rf docs/source/markdown/containers-mounts.conf.5.md + %build export GO111MODULE=off export GOPATH=$(pwd):$(pwd)/_build @@ -239,7 +143,7 @@ popd ln -s vendor src rm -rf vendor/github.com/containers/storage/drivers/register/register_btrfs.go -%gogenerate ./cmd/%{name}/varlink/... +%gogenerate ./pkg/varlink/... # build %%{name} export BUILDTAGS="varlink systemd selinux seccomp btrfs_noversion exclude_graphdriver_devicemapper $(hack/libdm_tag.sh)" @@ -254,17 +158,17 @@ export BUILDTAGS="remoteclient $BUILDTAGS" %install install -dp %{buildroot}%{_unitdir} -PODMAN_VERSION=%{version} %{__make} PREFIX=%{buildroot}%{_prefix} ETCDIR=%{buildroot}%{_sysconfdir} \ - install.bin \ +install -dp %{buildroot}%{_userunitdir} +install -dp %{buildroot}%{_tmpfilesdir} +PODMAN_VERSION=%{version} %{__make} PREFIX=%{buildroot}%{_prefix} \ + ETCDIR=%{buildroot}%{_sysconfdir} BUILDTAGS="varlink" \ + install.bin-nobuild \ install.remote \ - install.man \ + install.man-nobuild \ install.cni \ install.systemd \ - install.completions - -# install libpod.conf -install -dp %{buildroot}%{_datadir}/containers -install -m 644 %{repo}.conf %{buildroot}%{_datadir}/containers + install.completions \ + install.docker # install docker-docs install -dp %{buildroot}%{_mandir}/man1 @@ -278,6 +182,11 @@ ln -s ./ ./vendor/src # ./vendor/src -> ./vendor install -d -p %{buildroot}/%{_datadir}/%{name}/test/system cp -pav test/system %{buildroot}/%{_datadir}/%{name}/test/ +# do not include docker and podman-remote man pages in main package +for file in `find %{buildroot}%{_mandir}/man[15] -type f | sed "s,%{buildroot},," | grep -v -e remote -e docker`; do + echo "$file*" >> podman.file-list +done + %check %if 0%{?with_check} # Since we aren't packaging up the vendor directory we need to link @@ -305,39 +214,147 @@ exit 0 #define license tag if not already defined %{!?_licensedir:%global license %doc} -%files +%files -f podman.file-list %license LICENSE -%doc README.md CONTRIBUTING.md pkg/hooks/README-hooks.md install.md code-of-conduct.md transfer.md +%doc README.md CONTRIBUTING.md pkg/hooks/README-hooks.md install.md transfer.md %{_bindir}/%{name} -%{_mandir}/man5/*.5* %{_datadir}/bash-completion/completions/* # By "owning" the site-functions dir, we don't need to Require zsh -%{_datadir}/zsh/site-functions -%{_datadir}/zsh/site-functions/* +%dir %{_datadir}/zsh/site-functions +%{_datadir}/zsh/site-functions/_%{name} %config(noreplace) %{_sysconfdir}/cni/net.d/87-%{name}-bridge.conflist -%{_datadir}/containers/%{repo}.conf +%{_unitdir}/%{name}.service +%{_unitdir}/%{name}.socket +%{_userunitdir}/%{name}.service +%{_userunitdir}/%{name}.socket %{_unitdir}/io.%{name}.service %{_unitdir}/io.%{name}.socket %{_userunitdir}/io.%{name}.service %{_userunitdir}/io.%{name}.socket +%{_tmpfilesdir}/%{name}.conf -%{_usr}/lib/tmpfiles.d/%{name}.conf %files docker %{_bindir}/docker %{_mandir}/man1/docker*.1* - -%files manpages -%{_mandir}/man1/%{name}*.1* +%{_usr}/lib/tmpfiles.d/%{name}-docker.conf %files remote %{_bindir}/%{name}-remote +%{_mandir}/man1/%{name}-remote*.1* +%{_mandir}/man5/%{name}-remote*.5* %files tests %license LICENSE %{_datadir}/%{name}/test %changelog +* Thu Jun 18 2020 Jindrich Novy - 2.0.0-0.9.rc7 +- update to https://github.com/containers/libpod/releases/tag/v2.0.0-rc7 +- Related: #1821193 + +* Tue Jun 16 2020 Jindrich Novy - 2.0.0-0.8.rc6 +- attempt to fix test user for gating tests (Ed Santiago) +- Related: #1821193 + +* Tue Jun 16 2020 Jindrich Novy - 2.0.0-0.7.rc6 +- fix "Socket-activated Varlink (io.podman.socket) fails after first call" +- Related: #1821193 + +* Tue Jun 16 2020 Jindrich Novy - 2.0.0-0.6.rc6 +- fix build: add relevant socket/service/conf files and re-enable varlink +- Related: #1821193 + +* Mon Jun 15 2020 Jindrich Novy - 2.0.0-0.5.rc6 +- update to https://github.com/containers/libpod/releases/tag/v2.0.0-rc6 +- Related: #1821193 + +* Wed Jun 10 2020 Jindrich Novy - 2.0.0-0.4.rc5 +- update to https://github.com/containers/libpod/releases/tag/v2.0.0-rc5 +- Related: #1821193 + +* Thu Jun 04 2020 Jindrich Novy - 2.0.0-0.3.rc4 +- update to https://github.com/containers/libpod/releases/tag/v2.0.0-rc4 +- Related: #1821193 + +* Thu Jun 04 2020 Jindrich Novy - 2.0.0-0.2.rc3 +- podman-tests requires nmap-ncat now +- Related: #1821193 + +* Tue Jun 02 2020 Jindrich Novy - 2.0.0-0.1.rc3 +- update to https://github.com/containers/libpod/releases/tag/v2.0.0-rc3 +- Related: #1821193 + +* Mon Jun 01 2020 Jindrich Novy - 1.9.3-3 +- fix "Signature verification incorrectly uses mirror’s references" +- Related: #1821193 + +* Wed May 27 2020 Jindrich Novy - 1.9.3-2 +- exclude i686 arch due to "No matching package to install: 'golang >= 1.12.12-4'" on i686 +- Related: #1821193 + +* Mon May 25 2020 Jindrich Novy - 1.9.3-1 +- update to https://github.com/containers/libpod/releases/tag/v1.9.3 +- Related: #1821193 + +* Wed May 20 2020 Jindrich Novy - 1.9.2-3 +- fix "Podman support for FIPS Mode requires a bind mount inside the container" +- version the oci-systemd-hook obsolete +- Related: #1821193 + +* Tue May 19 2020 Jindrich Novy - 1.9.2-2 +- obsolete oci-systemd-hook package +- Related: #1821193 + +* Thu May 14 2020 Jindrich Novy - 1.9.2-1 +- update to https://github.com/containers/libpod/releases/tag/v1.9.2 +- Related: #1821193 + +* Tue May 12 2020 Jindrich Novy - 1.9.1-1 +- synchronize containter-tools 8.3.0 with 8.2.1 +- Related: #1821193 + +* Wed Apr 01 2020 Jindrich Novy - 1.6.4-11 +- fix "CVE-2020-10696 buildah: crafted input tar file may lead to local file overwriting during image build process" +- Resolves: #1819812 + +* Thu Mar 19 2020 Jindrich Novy - 1.6.4-10 +- use the full PR 5348 to fix "no route to host from inside container" +- Resolves: #1806901 + +* Fri Mar 06 2020 Jindrich Novy - 1.6.4-9 +- update fix for "podman (1.6.4) rhel 8.1 no route to host from inside container" +- Resolves: #1806901 + +* Fri Mar 06 2020 Jindrich Novy - 1.6.4-8 +- fix "[FJ8.2 Bug]: [REG]The "--group-add" option of "podman create" doesn't function." +- Resolves: #1808707 + +* Thu Feb 27 2020 Jindrich Novy - 1.6.4-7 +- fix "podman (1.6.4) rhel 8.1 no route to host from inside container" +- Resolves: #1806901 + +* Fri Feb 21 2020 Jindrich Novy - 1.6.4-6 +- fix CVE-2020-1726 +- Resolves: #1801571 + +* Wed Feb 19 2020 Jindrich Novy - 1.6.4-5 +- fix "Podman support for FIPS Mode requires a bind mount inside the container" +- Resolves: #1804195 + +* Mon Feb 17 2020 Jindrich Novy - 1.6.4-4 +- fix CVE-2020-1702 +- Resolves: #1801924 + +* Wed Jan 08 2020 Jindrich Novy +- merge podman-manpages with podman package and put man pages for + podman-remote to its dedicated subpackage +Resolves: #1788539 + +* Fri Jan 03 2020 Jindrich Novy - 1.6.4-2 +- apply fix for #1757845 +- Related: RHELPLAN-25139 + * Wed Dec 11 2019 Jindrich Novy - 1.6.4-1 - update to 1.6.4 - Related: RHELPLAN-25139