From 3cdfcb735eea67bfec53f90ba1e0552800d9fa6e Mon Sep 17 00:00:00 2001 From: CentOS Sources Date: Nov 09 2020 16:18:53 +0000 Subject: import podman-2.1.1-3.module+el8.3.1+8686+2a59bca3 --- diff --git a/.gitignore b/.gitignore index bbcc536..41ac423 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ -SOURCES/podman-f5c9237.tar.gz SOURCES/v0.1.5.tar.gz +SOURCES/v1.0.0.tar.gz +SOURCES/v2.1.1-rhel-450615a.tar.gz diff --git a/.podman.metadata b/.podman.metadata index 01d8879..b66b51d 100644 --- a/.podman.metadata +++ b/.podman.metadata @@ -1,2 +1,3 @@ -55d55be1537d5b9b77aaae5c0526665fa0fc477f SOURCES/podman-f5c9237.tar.gz 4502491739693bd1b1d108d9af545f69a3bd424b SOURCES/v0.1.5.tar.gz +a6c091c91a7d67ef45fba5526351285349880c4b SOURCES/v1.0.0.tar.gz +a15f7a3808d48abec9b5ff7d8f930814bede6c86 SOURCES/v2.1.1-rhel-450615a.tar.gz diff --git a/SPECS/podman.spec b/SPECS/podman.spec index 355a4da..698b18e 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 -x %{?**}; %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 -x %{?**}; +%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.1.1-rhel +%global commit0 450615ae0bce647c10b8e3c774818b1c10dc8224 %global shortcommit0 %(c=%{commit0}; echo ${c:0:7}) %global cataver 0.1.5 +%global dnsnamever 1.0.0 Name: podman -Version: 2.0.5 -Release: 5%{?dist} +Version: 2.1.1 +Release: 3%{?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,11 +73,13 @@ 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} %description @@ -91,7 +95,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 +108,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 +121,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 +137,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 +163,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 +181,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 +223,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 +272,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 @@ -265,14 +315,19 @@ exit 0 %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 @@ -291,11 +346,37 @@ 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 +* 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