update to 4.5.1

This commit is contained in:
jianli-97 2023-06-30 02:01:42 +00:00
parent aa6a3c020a
commit 47d9bec0d4
8 changed files with 154 additions and 125 deletions

View File

@ -1,31 +0,0 @@
From a9e6a71f9435a50c582993e946be4d53828bb48d Mon Sep 17 00:00:00 2001
From: maminjie <maminjie1@huawei.com>
Date: Sat, 13 Mar 2021 16:03:03 +0800
Subject: [PATCH] Fix the invalid memory address or nil pointer reference
---
libpod/stats.go | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)
diff --git a/libpod/stats.go b/libpod/stats.go
index c58a461..97a2169 100644
--- a/libpod/stats.go
+++ b/libpod/stats.go
@@ -68,9 +68,11 @@
stats.CPU = calculateCPUPercent(cgroupStats, previousCPU, now, previousStats.SystemNano)
stats.AvgCPU = calculateAvgCPU(stats.CPU, previousStats.AvgCPU, previousStats.DataPoints)
stats.DataPoints = previousStats.DataPoints + 1
- stats.MemUsage = cgroupStats.Memory.Usage.Usage
- stats.MemLimit = c.getMemLimit()
- stats.MemPerc = (float64(stats.MemUsage) / float64(stats.MemLimit)) * 100
+ if cgroupStats.Memory != (cgroups.MemoryMetrics{}){
+ stats.MemUsage = cgroupStats.Memory.Usage.Usage
+ stats.MemLimit = c.getMemLimit()
+ stats.MemPerc = (float64(stats.MemUsage) / float64(stats.MemLimit)) * 100
+ }
stats.PIDs = 0
if conState == define.ContainerStateRunning || conState == define.ContainerStatePaused {
stats.PIDs = cgroupStats.Pids.Current
--
2.23.0

Binary file not shown.

View File

@ -1,69 +1,109 @@
%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/generic-hardened-ld '" -a -v -x %{?**};
Name: podman
Version: 3.4.4
Release: 3
Version: 4.5.1
Release: 1
Summary: A daemonless container engine for managing Containers
Epoch: 1
License: ASL 2.0
License: Apache-2.0 and MIT
URL: https://podman.io/
Source0: https://github.com/containers/podman/archive/v3.4.4.tar.gz
Source0: https://github.com/containers/podman/archive/refs/tags/v4.5.1.tar.gz
Source1: https://github.com/containers/dnsname/archive/18822f9a4fb35d1349eb256f4cd2bfd372474d84/dnsname-18822f9.tar.gz
Source2: https://github.com/containers/podman-machine-cni/archive/0749884b8d1a455c68da30789e37811ec0809d51/podman-machine-cni-0749884.tar.gz
Source3: https://github.com/containers/gvisor-tap-vsock/archive/refs/tags/gvisor-tap-vsock-0.5.0.tar.gz
Source4: https://github.com/cpuguy83/go-md2man/archive/v1.0.10.tar.gz
Source3: https://github.com/containers/gvisor-tap-vsock/archive/refs/tags/v0.6.2.tar.gz
Source4: https://github.com/cpuguy83/go-md2man/archive/refs/tags/v2.0.2.tar.gz
BuildRequires: golang btrfs-progs-devel glib2-devel glibc-devel glibc-static
BuildRequires: gcc golang btrfs-progs-devel glib2-devel glibc-devel glibc-static
BuildRequires: gpgme-devel libassuan-devel libgpg-error-devel libseccomp-devel
BuildRequires: libselinux-devel ostree-devel pkgconfig make git
BuildRequires: libselinux-devel ostree-devel pkgconfig make git systemd systemd-devel shadow-subid-devel
Requires: crun containers-common containernetworking-plugins >= 0.7.3-2 iptables nftables conmon
Requires: (container-selinux if selinux-policy)
Recommends: %{name}-plugins = %{epoch}:%{version}-%{release}
Recommends: slirp4netns catatonit
Requires: (container-selinux if selinux-policy) catatonit
Recommends: %{name}-plugins = %{epoch}:%{version}-%{release}
Recommends: slirp4netns
Provides: bundled(golang(github.com/BurntSushi/toml)) = v0.3.1
Provides: bundled(golang(github.com/containernetworking/cni)) = v0.8.0
Provides: bundled(golang(github.com/containernetworking/plugins)) = v0.8.7
Provides: bundled(golang(github.com/containers/image/v5)) = v5.5.2
Provides: bundled(golang(github.com/containers/psgo)) = v1.5.1
Provides: bundled(golang(github.com/containers/storage)) = v1.23.2
Provides: bundled(golang(github.com/coreos/go-systemd/v22)) = v22.1.0
Provides: bundled(golang(github.com/cri-o/ocicni)) = v0.2.0
Provides: bundled(golang(github.com/cyphar/filepath-securejoin)) = v0.2.2
Provides: bundled(golang(github.com/davecgh/go-spew)) = v1.1.1
Provides: bundled(golang(github.com/docker/distribution)) = v2.7.1+incompatible
Provides: bundled(golang(github.com/docker/go-connections)) = v0.4.0
Provides: bundled(golang(github.com/docker/go-units)) = v0.4.0
Provides: bundled(golang(github.com/fsnotify/fsnotify)) = v1.4.9
Provides: bundled(golang(github.com/ghodss/yaml)) = v1.0.0
Provides: bundled(golang(github.com/godbus/dbus/v5)) = v5.0.3
Provides: bundled(golang(github.com/google/uuid)) = v1.1.2
Provides: bundled(golang(github.com/gorilla/mux)) = v1.7.4
Provides: bundled(golang(github.com/gorilla/schema)) = v1.2.0
Provides: bundled(golang(github.com/hashicorp/go-multierror)) = v1.1.0
Provides: bundled(golang(github.com/hpcloud/tail)) = v1.0.0
Provides: bundled(golang(github.com/json-iterator/go)) = v1.1.10
Provides: bundled(golang(github.com/onsi/ginkgo)) = v1.14.0
Provides: bundled(golang(github.com/onsi/gomega)) = v1.10.1
Provides: bundled(golang(github.com/opencontainers/go-digest)) = v1.0.0
Provides: bundled(golang(github.com/opencontainers/runtime-tools)) = v0.9.0
Provides: bundled(golang(github.com/opencontainers/selinux)) = v1.6.0
Provides: bundled(golang(github.com/opentracing/opentracing-go)) = v1.2.0
Provides: bundled(golang(github.com/pkg/errors)) = v0.9.1
Provides: bundled(golang(github.com/pmezard/go-difflib)) = v1.0.0
Provides: bundled(golang(github.com/rootless-containers/rootlesskit)) = v0.10.0
Provides: bundled(golang(github.com/sirupsen/logrus)) = v1.6.0
Provides: bundled(golang(github.com/spf13/cobra)) = v0.0.7
Provides: bundled(golang(github.com/spf13/pflag)) = v1.0.5
Provides: bundled(golang(github.com/stretchr/testify)) = v1.6.1
Provides: bundled(golang(github.com/uber/jaeger-client-go)) = v2.25.0+incompatible
Provides: bundled(golang(github.com/uber/jaeger-lib)) = v2.2.0+incompatible
Provides: bundled(golang(github.com/vishvananda/netlink)) = v1.1.0
Provides: bundled(golang(go.etcd.io/bbolt)) = v1.3.5
Provides: bundled(golang(k8s.io/api)) = v0.18.8
Provides: bundled(golang(k8s.io/apimachinery)) = v0.19.0
Patch1: 0001-Fix-the-invalid-memory-address-reference.patch
Provides: %{name}-quadlet
Provides: %{name}-quadlet = %{epoch}:%{version}-%{release}
Provides: bundled(golang(github.com/BurntSushi/toml))
Provides: bundled(golang(github.com/blang/semver/v4))
Provides: bundled(golang(github.com/buger/goterm))
Provides: bundled(golang(github.com/checkpoint-restore/checkpointctl/lib))
Provides: bundled(golang(github.com/checkpoint-restore/go-criu/v6))
Provides: bundled(golang(github.com/container-orchestrated-devices/container-device-interface/pkg/cdi))
Provides: bundled(golang(github.com/containernetworking/cni))
Provides: bundled(golang(github.com/containernetworking/plugins))
Provides: bundled(golang(github.com/containers/buildah))
Provides: bundled(golang(github.com/containers/common/libimage))
Provides: bundled(golang(github.com/containers/common/libnetwork))
Provides: bundled(golang(github.com/containers/common/pkg))
Provides: bundled(golang(github.com/containers/conmon/runner/config))
Provides: bundled(golang(github.com/containers/image/v5))
Provides: bundled(golang(github.com/containers/ocicrypt/config))
Provides: bundled(golang(github.com/containers/ocicrypt/helpers))
Provides: bundled(golang(github.com/containers/psgo))
Provides: bundled(golang(github.com/containers/storage))
Provides: bundled(golang(github.com/coreos/go-systemd/v22))
Provides: bundled(golang(github.com/coreos/stream-metadata-go))
Provides: bundled(golang(github.com/cyphar/filepath-securejoin))
Provides: bundled(golang(github.com/digitalocean/go-qemu/qmp))
Provides: bundled(golang(github.com/docker/docker/api/types))
Provides: bundled(golang(github.com/docker/docker/pkg/homedir))
Provides: bundled(golang(github.com/docker/docker/pkg/jsonmessage))
Provides: bundled(golang(github.com/docker/docker/pkg/namesgenerator))
Provides: bundled(golang(github.com/docker/docker/pkg/parsers))
Provides: bundled(golang(github.com/docker/docker/pkg/system))
Provides: bundled(golang(github.com/docker/distribution))
Provides: bundled(golang(github.com/docker/go-connections))
Provides: bundled(golang(github.com/docker/go-plugins-helpers/sdk))
Provides: bundled(golang(github.com/docker/go-plugins-helpers/volume))
Provides: bundled(golang(github.com/docker/go-units))
Provides: bundled(golang(github.com/fsnotify/fsnotify))
Provides: bundled(golang(github.com/godbus/dbus/v5))
Provides: bundled(golang(github.com/google/gofuzz))
Provides: bundled(golang(github.com/google/shlex))
Provides: bundled(golang(github.com/google/uuid))
Provides: bundled(golang(github.com/gorilla/handlers))
Provides: bundled(golang(github.com/gorilla/mux))
Provides: bundled(golang(github.com/gorilla/schema))
Provides: bundled(golang(github.com/hashicorp/go-multierror))
Provides: bundled(golang(github.com/json-iterator/go))
Provides: bundled(golang(github.com/mattn/go-sqlite3))
Provides: bundled(golang(github.com/moby/term))
Provides: bundled(golang(github.com/nxadm/tail))
Provides: bundled(golang(github.com/nxadm/tail/watch))
Provides: bundled(golang(github.com/onsi/ginkgo))
Provides: bundled(golang(github.com/onsi/gomega))
Provides: bundled(golang(github.com/opencontainers/go-digest))
Provides: bundled(golang(github.com/opencontainers/image-spec/specs-go/v1))
Provides: bundled(golang(github.com/opencontainers/runc/libcontainer/cgroups))
Provides: bundled(golang(github.com/opencontainers/runc/libcontainer/configs))
Provides: bundled(golang(github.com/opencontainers/runc/libcontainer/devices))
Provides: bundled(golang(github.com/opencontainers/runc/libcontainer/user))
Provides: bundled(golang(github.com/opencontainers/runtime-spec/specs-go))
Provides: bundled(golang(github.com/opencontainers/runtime-tools/generate))
Provides: bundled(golang(github.com/opencontainers/runtime-tools/validate/capabilities))
Provides: bundled(golang(github.com/opencontainers/selinux/go-selinux))
Provides: bundled(golang(github.com/opencontainers/selinux/go-selinux/label))
Provides: bundled(golang(github.com/openshift/imagebuilder))
Provides: bundled(golang(github.com/rootless-containers/rootlesskit/pkg/port))
Provides: bundled(golang(github.com/rootless-containers/rootlesskit/pkg/port/builtin))
Provides: bundled(golang(github.com/rootless-containers/rootlesskit/pkg/port/portutil))
Provides: bundled(golang(github.com/sirupsen/logrus))
Provides: bundled(golang(github.com/spf13/cobra))
Provides: bundled(golang(github.com/spf13/pflag))
Provides: bundled(golang(github.com/syndtr/gocapability/capability))
Provides: bundled(golang(github.com/ulikunitz/xz))
Provides: bundled(golang(github.com/vbauerster/mpb/v8))
Provides: bundled(golang(github.com/vbauerster/mpb/v8/decor))
Provides: bundled(golang(github.com/vishvananda/netlink))
Provides: bundled(golang(go.etcd.io/bbolt))
Provides: bundled(golang(golang.org/x/net/proxy))
Provides: bundled(golang(golang.org/x/sync/semaphore))
Provides: bundled(golang(golang.org/x/sys/unix))
Provides: bundled(golang(golang.org/x/term))
Provides: bundled(golang(google.golang.org/protobuf/proto))
Provides: bundled(golang(gopkg.in/inf.v0))
Provides: bundled(golang(gopkg.in/yaml.v3))
Provides: bundled(golang(sigs.k8s.io/yaml))
%description
Podman manages the entire container ecosystem which includes pods,
@ -78,6 +118,9 @@ Conflicts: docker docker-latest docker-ce docker-ee moby-engine
%description docker
This package installs a script named docker, which emulates the Docker CLI through podman command.
%package remote
Summary: (Experimental) Remote client for managing %{name} containers
%package tests
Summary: Tests for %{name}
@ -97,9 +140,6 @@ Requires: gnupg
This package contains system tests for %{name}
%package remote
Summary: (Experimental) Remote client for managing %{name} containers
%description remote
Remote client for managing %{name} containers.
@ -162,13 +202,14 @@ cd -
export GO111MODULE=off
export GOPATH=$(pwd)/_build:$(pwd)
export CGO_CFLAGS=$CFLAGS
export CGO_CFLAGS="$CGO_CFLAGS -Wno-unused-function"
# These extra flags present in $CFLAGS have been skipped for now as they break the build
CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-flto=auto//g')
CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-Wp,D_GLIBCXX_ASSERTIONS//g')
CGO_CFLAGS=$(echo $CGO_CFLAGS | sed 's/-specs=\/usr\/lib\/rpm\/redhat\/redhat-annobin-cc1//g')
%ifarch x86_64
export CGO_CFLAGS+=" -m64 -mtune=generic -fcf-protection=full"
export CGO_CFLAGS="$CGO_CFLAGS -m64 -mtune=generic -fcf-protection=full"
%endif
mkdir _build
@ -177,18 +218,27 @@ mkdir -p src/github.com/containers
ln -s ../../../../ src/github.com/containers/podman
popd
ln -s vendor src
# build %%{name}
export BUILDTAGS="seccomp exclude_graphdriver_devicemapper $(hack/btrfs_installed_tag.sh) $(hack/btrfs_tag.sh) $(hack/libdm_tag.sh) $(hack/selinux_tag.sh) $(hack/systemd_tag.sh)"
# build date. FIXME: Makefile uses '/v2/libpod', that doesn't work here?
LDFLAGS="-X github.com/containers/podman/libpod/define.buildInfo=$(date +%s)"
# build rootlessport first
%gobuild -o bin/rootlessport github.com/containers/podman/cmd/rootlessport
export BASEBUILDTAGS="seccomp exclude_graphdriver_devicemapper $(hack/systemd_tag.sh) $(hack/libsubid_tag.sh)"
# build %%{name}
export BUILDTAGS="$BASEBUILDTAGS $(hack/btrfs_installed_tag.sh) $(hack/btrfs_tag.sh) $(hack/libdm_tag.sh)"
%gobuild -o bin/%{name} github.com/containers/podman/cmd/%{name}
# build %%{name}-remote
export BUILDTAGS+=" exclude_graphdriver_btrfs btrfs_noversion remote"
export BUILDTAGS="$BASEBUILDTAGS exclude_graphdriver_btrfs btrfs_noversion remote"
%gobuild -o bin/%{name}-remote github.com/containers/podman/cmd/%{name}
# build quadlet
export BUILDTAGS="$BASEBUILDTAGS $(hack/btrfs_installed_tag.sh) $(hack/btrfs_tag.sh)"
%gobuild -o bin/quadlet github.com/containers/podman/cmd/quadlet
pushd dnsname-18822f9a4fb35d1349eb256f4cd2bfd372474d84
mkdir _build
pushd _build
@ -211,7 +261,7 @@ export GOPATH=$(pwd)/_build:$(pwd)
%gobuild -o bin/%{name}-machine github.com/containers/podman-machine-cni/plugins/meta/%{name}-machine
popd
pushd gvisor-tap-vsock-0.5.0
pushd gvisor-tap-vsock-0.6.2
mkdir _build
pushd _build
mkdir -p src/github.com/containers
@ -220,27 +270,24 @@ popd
ln -s vendor src
export GOPATH=$(pwd)/_build:$(pwd)
%gobuild -o bin/gvproxy github.com/containers/gvisor-tap-vsock/cmd/gvproxy
%gobuild -o bin/gvforwarder github.com/containers/gvisor-tap-vsock/cmd/vm
popd
BUILDTAGS=$BUILDTAGS make docs docker-docs
make docs docker-docs
%install
install -dp %{buildroot}%{_unitdir}
make PREFIX=%{buildroot}%{_prefix} ETCDIR=%{buildroot}%{_sysconfdir} \
install.bin-nobuild install.man-nobuild install.systemd install.completions install.docker install.docker-docs-nobuild install.remote-nobuild
PODMAN_VERSION=%{version} %{__make} PREFIX=%{buildroot}%{_prefix} ETCDIR=%{buildroot}%{_sysconfdir} \
install.bin install.man install.systemd install.completions install.docker install.docker-docs install.remote
install -Z -m 644 contrib/systemd/auto-update/podman-auto-update.service %{buildroot}%{_userunitdir}/podman-auto-update.service
install -Z -m 644 contrib/systemd/auto-update/podman-auto-update.timer %{buildroot}%{_userunitdir}/podman-auto-update.timer
install -Z -m 644 contrib/systemd/user/podman.socket %{buildroot}%{_userunitdir}/podman.socket
install -Z -m 644 contrib/systemd/user/podman.service %{buildroot}%{_userunitdir}/podman.service
install -Z -m 644 contrib/systemd/user/podman-restart.service %{buildroot}%{_userunitdir}/podman-restart.service
install -Z -m 644 contrib/systemd/auto-update/podman-auto-update.service %{buildroot}%{_unitdir}/podman-auto-update.service
install -Z -m 644 contrib/systemd/auto-update/podman-auto-update.timer %{buildroot}%{_unitdir}/podman-auto-update.timer
install -Z -m 644 contrib/systemd/system/podman.socket %{buildroot}%{_unitdir}/podman.socket
install -Z -m 644 contrib/systemd/system/podman.service %{buildroot}%{_unitdir}/podman.service
install -Z -m 644 contrib/systemd/system/podman-restart.service %{buildroot}%{_unitdir}/podman-restart.service
sed -i 's;%{buildroot};;g' %{buildroot}%{_bindir}/docker
mv pkg/hooks/README.md pkg/hooks/README-hooks.md
for unit_file in %{buildroot}%{_unitdir}/*.service; do
sed -i 's;%{buildroot};;g' ${unit_file}
done
for user_unit_file in %{buildroot}%{_userunitdir}/*.service; do
sed -i 's;%{buildroot};;g' ${user_unit_file}
done
# install dnsname plugin
pushd dnsname-18822f9a4fb35d1349eb256f4cd2bfd372474d84
@ -253,9 +300,10 @@ pushd podman-machine-cni-0749884b8d1a455c68da30789e37811ec0809d51
popd
# install gvproxy
pushd gvisor-tap-vsock-0.5.0
pushd gvisor-tap-vsock-0.6.2
install -dp %{buildroot}%{_libexecdir}/%{name}
install -p -m0755 bin/gvproxy %{buildroot}%{_libexecdir}/%{name}
install -p -m0755 bin/gvforwarder %{buildroot}%{_libexecdir}/%{name}
popd
# do not include docker and podman-remote man pages in main package
@ -263,32 +311,36 @@ for file in `find %{buildroot}%{_mandir}/man[15] -type f | sed "s,%{buildroot},,
echo "$file*" >> podman.file-list
done
rm -f %{buildroot}%{_mandir}/man5/docker*.5
install -d -p %{buildroot}/%{_datadir}/%{name}/test/system
cp -pav test/system %{buildroot}/%{_datadir}/%{name}/test/
%global license %doc
%files
%license LICENSE
%doc README.md CONTRIBUTING.md pkg/hooks/README-hooks.md install.md transfer.md
%doc README.md CONTRIBUTING.md install.md transfer.md
%{_bindir}/%{name}
%dir %{_libexecdir}/%{name}
%{_libexecdir}/%{name}/rootlessport
%{_libexecdir}/%{name}/quadlet
%{_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
%{_unitdir}/%{name}-auto-update.service
%{_unitdir}/%{name}-auto-update.timer
%{_unitdir}/%{name}.service
%{_unitdir}/%{name}.socket
%{_unitdir}/%{name}-restart.service
%{_userunitdir}/%{name}-auto-update.service
%{_userunitdir}/%{name}-auto-update.timer
%{_userunitdir}/%{name}.service
%{_userunitdir}/%{name}.socket
%{_userunitdir}/%{name}-restart.service
%{_usr}/lib/tmpfiles.d/%{name}.conf
%{_unitdir}/%{name}*
%{_userunitdir}/%{name}*
%{_tmpfilesdir}/%{name}.conf
%{_systemdgeneratordir}/%{name}-system-generator
%{_systemdusergeneratordir}/%{name}-user-generator
%files docker
%{_bindir}/docker
%{_usr}/lib/tmpfiles.d/%{name}-docker.conf
%{_tmpfilesdir}/%{name}-docker.conf
%{_prefix}/share/user-tmpfiles.d/%{name}-docker.conf
%files help
%{_mandir}/man1/{docker*.1*,podman*.1*}
@ -304,20 +356,28 @@ done
%dir %{_datadir}/zsh/site-functions
%{_datadir}/zsh/site-functions/_%{name}-remote
%files tests
%license LICENSE
%{_datadir}/%{name}/test
%files plugins
%license dnsname-18822f9a4fb35d1349eb256f4cd2bfd372474d84/LICENSE
%doc dnsname-18822f9a4fb35d1349eb256f4cd2bfd372474d84/{README.md,README_PODMAN.md}
%dir %{_libexecdir}/cni
%{_libexecdir}/cni/dnsname
%{_libexecdir}/cni/%{name}-machine
%{_libexecdir}/cni/podman-machine
%files gvproxy
%license gvisor-tap-vsock-0.5.0/LICENSE
%doc gvisor-tap-vsock-0.5.0/README.md
%license gvisor-tap-vsock-0.6.2/LICENSE
%doc gvisor-tap-vsock-0.6.2/README.md
%dir %{_libexecdir}/%{name}
%{_libexecdir}/%{name}/gvproxy
%{_libexecdir}/%{name}/gvforwarder
%changelog
* Fri Jun 30 2023 lijian <lijian2@kylinos.cn> 1:4.5.1-1
- update to 4.5.1
* Tue Feb 14 2023 fushanqing <fushanqing@kylinos.cn> - 1:3.4.4-3
- fix obs build problem

BIN
v0.6.2.tar.gz Normal file

Binary file not shown.

Binary file not shown.

BIN
v2.0.2.tar.gz Normal file

Binary file not shown.

Binary file not shown.

BIN
v4.5.1.tar.gz Normal file

Binary file not shown.