From e55a9453049bbfcf19e2d562fa60e0b4d7823f91 Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Feb 16 2021 07:42:50 +0000 Subject: import podman-2.2.1-7.module+el8.3.1+9857+68fb1526 --- diff --git a/.gitignore b/.gitignore index bbcc536..f278149 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ -SOURCES/podman-f5c9237.tar.gz SOURCES/v0.1.5.tar.gz +SOURCES/v1.1.1.tar.gz +SOURCES/v2.2.1-rhel-82e4e66.tar.gz diff --git a/.podman.metadata b/.podman.metadata index 01d8879..ef88483 100644 --- a/.podman.metadata +++ b/.podman.metadata @@ -1,2 +1,3 @@ -55d55be1537d5b9b77aaae5c0526665fa0fc477f SOURCES/podman-f5c9237.tar.gz 4502491739693bd1b1d108d9af545f69a3bd424b SOURCES/v0.1.5.tar.gz +3d883ef197eeb1a602dfef79ee1027847cfd40a4 SOURCES/v1.1.1.tar.gz +a6a7a79166bf4f95d9c5843035882324c10cc277 SOURCES/v2.2.1-rhel-82e4e66.tar.gz diff --git a/SPECS/podman.spec b/SPECS/podman.spec index 355a4da..f7ebf49 100644 --- a/SPECS/podman.spec +++ b/SPECS/podman.spec @@ -13,31 +13,33 @@ %if 0%{?rhel} > 7 && ! 0%{?fedora} %define gobuild(o:) \ -go build -buildmode pie -compiler gc -tags="rpm_crashtraceback libtrust_openssl ${BUILDTAGS:-}" -ldflags "${LDFLAGS:-} -compressdwarf=false -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '%__global_ldflags'" -a -v -x %{?**}; +go build -buildmode pie -compiler gc -tags="rpm_crashtraceback libtrust_openssl ${BUILDTAGS:-}" -ldflags "${LDFLAGS:-} -linkmode=external -compressdwarf=false -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '%__global_ldflags'" -a -v %{?**}; %else -%define gobuild(o:) GO111MODULE=off go build -buildmode pie -compiler gc -tags="rpm_crashtraceback ${BUILDTAGS:-}" -ldflags "${LDFLAGS:-} -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '-Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld '" -a -v -x %{?**}; +%if ! 0%{?gobuild:1} +%define gobuild(o:) GO111MODULE=off go build -buildmode pie -compiler gc -tags="rpm_crashtraceback ${BUILDTAGS:-}" -ldflags "${LDFLAGS:-} -linkmode=external -B 0x$(head -c20 /dev/urandom|od -An -tx1|tr -d ' \\n') -extldflags '-Wl,-z,relro -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld '" -a -v %{?**}; +%endif %endif -%global provider github -%global provider_tld com -%global project containers -%global repo libpod -# https://github.com/containers/libpod -%global provider_prefix %{provider}.%{provider_tld}/%{project}/%{repo} -%global import_path %{provider_prefix} -%global git0 https://%{provider}.%{provider_tld}/%{project}/%{repo} -%global commit0 f5c92373ec5e9d118cf6c098d1ae1b770e5055ae +%global import_path github.com/containers/podman +%global branch v2.2.1-rhel +%global commit0 82e4e6605390ac761b9a57fb8361e9612089ad1c %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) %global cataver 0.1.5 +%global dnsnamever 1.1.1 Name: podman -Version: 2.0.5 -Release: 5%{?dist} +Version: 2.2.1 +Release: 7%{?dist} Summary: Manage Pods, Containers and Container Images License: ASL 2.0 and GPLv3+ URL: https://%{name}.io/ -Source0: %{git0}/archive/%{commit0}/podman-%{shortcommit0}.tar.gz +%if 0%{?branch:1} +Source0: https://%{import_path}/tarball/%{commit0}/%{branch}-%{shortcommit0}.tar.gz +%else +Source0: https://%{import_path}/archive/%{commit0}/%{name}-%{version}-%{shortcommit0}.tar.gz +%endif Source1: https://github.com/openSUSE/catatonit/archive/v%{cataver}.tar.gz +Source2: https://github.com/containers/dnsname/archive/v%{dnsnamever}.tar.gz # Build fails with: No matching package to install: 'golang >= 1.12.12-4' on i686 ExcludeArch: i686 Provides: %{name}-manpages = %{version}-%{release} @@ -71,12 +73,15 @@ Requires: nftables Obsoletes: oci-systemd-hook < 1 Requires: libseccomp >= 2.4.1 Requires: conmon -Recommends: container-selinux +Requires: (container-selinux if selinux-policy) Requires: slirp4netns >= 0.4.0-1 Requires: runc >= 1.0.0-57 Requires: fuse-overlayfs +%if %{with varlink} Requires: libvarlink +%endif Requires: %{name}-catatonit >= %{version}-%{release} +Requires: oci-runtime %description %{name} (Pod Manager) is a fully featured container engine that is a simple @@ -91,7 +96,7 @@ 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 +%{name} Simple management tool for pods, containers and images %package docker Summary: Emulate Docker CLI using %{name} @@ -104,6 +109,7 @@ 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}. +%if %{with varlink} %package remote Summary: (Experimental) Remote client for managing %{name} containers @@ -116,6 +122,7 @@ run %{name}-remote in production. %{name}-remote uses the varlink connection to connect to a %{name} client to manage pods, containers and container images. %{name}-remote supports ssh connections as well. +%endif %package catatonit Summary: A signal-forwarding process manager for containers @@ -131,11 +138,24 @@ This is a reimplementation of other container init programs (such as "tini" or "dumb-init"), but uses modern Linux facilities (such as signalfd(2)) and has no additional features. +%package plugins +Summary: Plugins for %{name} +Requires: dnsmasq + +%description plugins +This plugin sets up the use of dnsmasq on a given CNI network so +that Pods can resolve each other by name. When configured, +the pod and its IP address are added to a network specific hosts file +that dnsmasq will read in. Similarly, when a pod +is removed from the network, it will remove the entry from the hosts +file. Each CNI network will have its own dnsmasq instance. + %package tests 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: httpd-tools Requires: jq %description tests @@ -144,8 +164,13 @@ Requires: jq This package contains system tests for %{name} %prep +%if 0%{?branch:1} +%autosetup -Sgit -n containers-%{name}-%{shortcommit0} +%else %autosetup -Sgit -n %{name}-%{commit0} +%endif tar fx %{SOURCE1} +tar fx %{SOURCE2} mv pkg/hooks/README.md pkg/hooks/README-hooks.md @@ -157,18 +182,23 @@ export GO111MODULE=off export GOPATH=$(pwd):$(pwd)/_build export CGO_CFLAGS="%{optflags} -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64" -mkdir -p $(pwd)/_build -pushd $(pwd)/_build -mkdir -p src/%{provider}.%{provider_tld}/%{project} -ln -s ../../../../ src/%{import_path} +mkdir _build +pushd _build +mkdir -p src/github.com/containers +ln -s ../../../../ src/github.com/containers/podman popd ln -s vendor src rm -rf vendor/github.com/containers/storage/drivers/register/register_btrfs.go +%if %{with varlink} %gogenerate ./pkg/varlink/... +%endif # build %%{name} -export BUILDTAGS="varlink systemd selinux seccomp btrfs_noversion exclude_graphdriver_devicemapper $(hack/libdm_tag.sh)" +export BUILDTAGS="systemd selinux seccomp btrfs_noversion exclude_graphdriver_devicemapper $(hack/libdm_tag.sh)" +%if %{with varlink} +export BUILDTAGS+=" varlink" +%endif # build date. FIXME: Makefile uses '/v2/libpod', that doesn't work here? LDFLAGS="-X %{import_path}/libpod/define.buildInfo=$(date +%s)" %gobuild -o bin/%{name} %{import_path}/cmd/%{name} @@ -194,12 +224,28 @@ if [ $? != 0 ]; then fi popd +# build dnsname plugin +unset LDFLAGS +pushd dnsname-%{dnsnamever} +mkdir _build +pushd _build +mkdir -p src/github.com/containers +ln -s ../../../../ src/github.com/containers/dnsname +popd +ln -s vendor src +export GOPATH=$(pwd)/_build:$(pwd) +%gobuild -o bin/dnsname github.com/containers/dnsname/plugins/meta/dnsname +popd + %install install -dp %{buildroot}%{_unitdir} install -dp %{buildroot}%{_userunitdir} install -dp %{buildroot}%{_tmpfilesdir} PODMAN_VERSION=%{version} %{__make} PREFIX=%{buildroot}%{_prefix} \ - ETCDIR=%{buildroot}%{_sysconfdir} BUILDTAGS="varlink" \ + ETCDIR=%{buildroot}%{_sysconfdir} \ +%if %{with varlink} + BUILDTAGS="varlink" \ +%endif install.bin-nobuild \ install.remote-nobuild \ install.man-nobuild \ @@ -227,6 +273,11 @@ install -dp %{buildroot}%{_datadir}/licenses/podman-catatonit install -p catatonit-%{cataver}/COPYING %{buildroot}%{_datadir}/licenses/podman-catatonit/COPYING ln -s %{_libexecdir}/catatonit/catatonit %{buildroot}%{_libexecdir}/podman/catatonit +# install dnsname plugin +pushd dnsname-%{dnsnamever} +%{__make} PREFIX=%{_prefix} DESTDIR=%{buildroot} install +popd + %check %if 0%{?with_check} # Since we aren't packaging up the vendor directory we need to link @@ -258,21 +309,28 @@ exit 0 %license LICENSE %doc README.md CONTRIBUTING.md pkg/hooks/README-hooks.md install.md transfer.md %{_bindir}/%{name} -%{_datadir}/bash-completion/completions/* +%{_datadir}/bash-completion/completions/%{name} # By "owning" the site-functions dir, we don't need to Require zsh %dir %{_datadir}/zsh/site-functions %{_datadir}/zsh/site-functions/_%{name} +%dir %{_datadir}/fish/vendor_completions.d +%{_datadir}/fish/vendor_completions.d/%{name}.fish %config(noreplace) %{_sysconfdir}/cni/net.d/87-%{name}-bridge.conflist %{_unitdir}/%{name}.service %{_unitdir}/%{name}.socket +%{_unitdir}/%{name}-auto-update.service +%{_unitdir}/%{name}-auto-update.timer %{_userunitdir}/%{name}.service %{_userunitdir}/%{name}.socket +%{_userunitdir}/%{name}-auto-update.service +%{_userunitdir}/%{name}-auto-update.timer +%if %{with varlink} %{_unitdir}/io.%{name}.service %{_unitdir}/io.%{name}.socket %{_userunitdir}/io.%{name}.service %{_userunitdir}/io.%{name}.socket %{_tmpfilesdir}/%{name}.conf - +%endif %files docker %{_bindir}/docker @@ -280,8 +338,16 @@ exit 0 %{_usr}/lib/tmpfiles.d/%{name}-docker.conf %files remote +%license LICENSE %{_bindir}/%{name}-remote -%{_mandir}/man1/%{name}-remote*.1* +%{_mandir}/man1/%{name}-remote*.* +%{_datadir}/bash-completion/completions/%{name}-remote +%dir %{_datadir}/fish +%dir %{_datadir}/fish/vendor_completions.d +%{_datadir}/fish/vendor_completions.d/%{name}-remote.fish +%dir %{_datadir}/zsh +%dir %{_datadir}/zsh/site-functions +%{_datadir}/zsh/site-functions/_%{name}-remote %files catatonit %license COPYING @@ -291,11 +357,76 @@ exit 0 %dir %{_libexecdir}/podman %{_libexecdir}/podman/catatonit +%files plugins +%license dnsname-%{dnsnamever}/LICENSE +%doc dnsname-%{dnsnamever}/{README.md,README_PODMAN.md} +%{_libexecdir}/cni/dnsname + %files tests %license LICENSE %{_datadir}/%{name}/test %changelog +* Mon Feb 08 2021 Lokesh Mandvekar - 2.2.1-7 +- Resolves: #1925928 - Fix varlink GetVersion() +- Upstream PR: https://github.com/containers/podman/pull/9274 + +* Thu Feb 04 2021 Jindrich Novy - 2.2.1-6 +- update to the latest content of https://github.com/containers/podman/tree/v2.2.1-rhel + (https://github.com/containers/podman/commit/1741f15) +- Related: #1888571 + +* Wed Feb 03 2021 Jindrich Novy - 2.2.1-5 +- update to the latest content of https://github.com/containers/podman/tree/v2.2.1-rhel + (https://github.com/containers/podman/commit/b5bc6a7) +- Related: #1877188 + +* Tue Feb 02 2021 Jindrich Novy - 2.2.1-4 +- add Requires: oci-runtime +- Related: #1888571 + +* Wed Jan 06 2021 Jindrich Novy - 2.2.1-3 +- update to the latest content of https://github.com/containers/podman/tree/v2.2.1-rhel + (https://github.com/containers/podman/commit/14c35f6) +- Related: #1888571 + +* Thu Dec 10 2020 Jindrich Novy - 2.2.1-2 +- update to https://github.com/containers/dnsname/releases/tag/v1.1.1 + +* Tue Dec 08 2020 Jindrich Novy - 2.2.1-1 +- update to the latest content of https://github.com/containers/podman/tree/v2.2.1-rhel + (https://github.com/containers/podman/commit/a0d478e) +- Related: #1888571 + +* Thu Dec 03 2020 Jindrich Novy - 2.2.0-2 +- attempt to fix gatng tests +- Related: #1888571 + +* Wed Dec 02 2020 Jindrich Novy - 2.2.0-1 +- update to https://github.com/containers/podman/releases/tag/v2.2.0 +- Related: #1888571 + +* Thu Nov 05 2020 Jindrich Novy - 2.1.1-3 +- attempt to fix linker error with golang-1.15 +- add Requires: httpd-tools to tests, needed to work around + missing htpasswd in docker registry image, thanks to Ed Santiago +- Related: #1888571 + +* Fri Oct 23 2020 Jindrich Novy - 2.1.1-2 +- update to the latest content of https://github.com/containers/podman/tree/v2.1.1-rhel + (https://github.com/containers/podman/commit/450615a) +- Resolves: #1873204 +- Resolves: #1884668 + +* Thu Oct 22 2020 Jindrich Novy - 2.1.1-1 +- update podman to 2.1.1-rhel +- Resolves: #1743687 +- Resolves: #1811570 +- Resolves: #1869322 +- Resolves: #1678546 +- Resolves: #1853455 +- Resolves: #1874271 + * Wed Sep 23 2020 Jindrich Novy - 2.0.5-5 - fix "[FJ8.3 Bug]: [REG] "--group-add" option of "podman create" doesn't work with "--user" option" - Resolves: #1877177