Files
infix/patches/podman/4.9.5/0002-Add-log-driver-for-syslog.patch
T
Joachim Wiberg b21043c7e5 package/podman: bump 4.5.0 -> 4.9.5
This major upgrade, along with the upgrade to Finit v4.14, is what is
needed to fix #1123, which was caused by some odd futex locking bug in
Podman that left lingering issues in /var/lib/containers state files.
The root cause as fixed already in v4.7.x, but since CNI is supported
up to and including 4.9.5, going with a later release seemd prudent.

Full changelogs at:
 - <https://github.com/containers/podman/releases/tag/v4.5.1>
 - <https://github.com/containers/podman/releases/tag/v4.6.0>
 - <https://github.com/containers/podman/releases/tag/v4.6.1>
 - <https://github.com/containers/podman/releases/tag/v4.6.2>
 - <https://github.com/containers/podman/releases/tag/v4.7.0>
 - <https://github.com/containers/podman/releases/tag/v4.7.1>
 - <https://github.com/containers/podman/releases/tag/v4.7.2>
 - <https://github.com/containers/podman/releases/tag/v4.8.0>
 - <https://github.com/containers/podman/releases/tag/v4.8.1>
 - <https://github.com/containers/podman/releases/tag/v4.8.2>
 - <https://github.com/containers/podman/releases/tag/v4.8.3>
 - <https://github.com/containers/podman/releases/tag/v4.9.0>
 - <https://github.com/containers/podman/releases/tag/v4.9.1>
 - <https://github.com/containers/podman/releases/tag/v4.9.2>
 - <https://github.com/containers/podman/releases/tag/v4.9.3>
 - <https://github.com/containers/podman/releases/tag/v4.9.4>
 - <https://github.com/containers/podman/releases/tag/v4.9.5>

Fixes #1123

Signed-off-by: Joachim Wiberg <troglobit@gmail.com>
2025-09-01 12:25:55 +02:00

99 lines
4.1 KiB
Diff

From 81b3c16e6f1a3aac7ab31157e3a199af52faeec8 Mon Sep 17 00:00:00 2001
From: Tobias Waldekranz <tobias@waldekranz.com>
Date: Wed, 18 Dec 2024 16:25:29 +0100
Subject: [PATCH 2/2] Add log driver for syslog
Organization: Addiva Elektronik
Signed-off-by: Tobias Waldekranz <tobias@waldekranz.com>
---
cmd/podman/common/completion.go | 2 +-
libpod/container_log_linux.go | 2 +-
libpod/define/config.go | 3 +++
libpod/oci_conmon_common.go | 2 ++
libpod/options.go | 2 +-
libpod/runtime_ctr.go | 2 +-
6 files changed, 9 insertions(+), 4 deletions(-)
diff --git a/cmd/podman/common/completion.go b/cmd/podman/common/completion.go
index 6c7400228..69195558f 100644
--- a/cmd/podman/common/completion.go
+++ b/cmd/podman/common/completion.go
@@ -957,7 +957,7 @@ func AutocompleteImageVolume(cmd *cobra.Command, args []string, toComplete strin
// -> "journald", "none", "k8s-file", "passthrough"
func AutocompleteLogDriver(cmd *cobra.Command, args []string, toComplete string) ([]string, cobra.ShellCompDirective) {
// don't show json-file
- logDrivers := []string{define.JournaldLogging, define.NoLogging, define.KubernetesLogging}
+ logDrivers := []string{define.JournaldLogging, define.NoLogging, define.KubernetesLogging, define.SyslogLogging}
if !registry.IsRemote() {
logDrivers = append(logDrivers, define.PassthroughLogging)
}
diff --git a/libpod/container_log_linux.go b/libpod/container_log_linux.go
index a708ad46d..b675f2e8d 100644
--- a/libpod/container_log_linux.go
+++ b/libpod/container_log_linux.go
@@ -28,7 +28,7 @@ const (
)
func init() {
- logDrivers = append(logDrivers, define.JournaldLogging)
+ logDrivers = append(logDrivers, define.JournaldLogging, define.SyslogLogging)
}
func (c *Container) readFromJournal(ctx context.Context, options *logs.LogOptions,
diff --git a/libpod/define/config.go b/libpod/define/config.go
index 7295f1425..66abfd0d9 100644
--- a/libpod/define/config.go
+++ b/libpod/define/config.go
@@ -82,6 +82,9 @@ const NoLogging = "none"
// PassthroughLogging is the string conmon expects when specifying to use the passthrough driver
const PassthroughLogging = "passthrough"
+// SyslogLogging is the string conmon expects when specifying to use the syslog driver
+const SyslogLogging = "syslog"
+
// DefaultRlimitValue is the value set by default for nofile and nproc
const RLimitDefaultValue = uint64(1048576)
diff --git a/libpod/oci_conmon_common.go b/libpod/oci_conmon_common.go
index 6dd54a8bc..f3696d8af 100644
--- a/libpod/oci_conmon_common.go
+++ b/libpod/oci_conmon_common.go
@@ -1318,6 +1318,8 @@ func (r *ConmonOCIRuntime) sharedConmonArgs(ctr *Container, cuuid, bundlePath, p
switch logDriver {
case define.JournaldLogging:
logDriverArg = define.JournaldLogging
+ case define.SyslogLogging:
+ logDriverArg = define.SyslogLogging
case define.NoLogging:
logDriverArg = define.NoLogging
case define.PassthroughLogging:
diff --git a/libpod/options.go b/libpod/options.go
index bc70e4a32..35047bade 100644
--- a/libpod/options.go
+++ b/libpod/options.go
@@ -1137,7 +1137,7 @@ func WithLogDriver(driver string) CtrCreateOption {
switch driver {
case "":
return fmt.Errorf("log driver must be set: %w", define.ErrInvalidArg)
- case define.JournaldLogging, define.KubernetesLogging, define.JSONLogging, define.NoLogging, define.PassthroughLogging:
+ case define.JournaldLogging, define.KubernetesLogging, define.JSONLogging, define.NoLogging, define.PassthroughLogging, define.SyslogLogging:
break
default:
return fmt.Errorf("invalid log driver: %w", define.ErrInvalidArg)
diff --git a/libpod/runtime_ctr.go b/libpod/runtime_ctr.go
index 648118c37..70582635f 100644
--- a/libpod/runtime_ctr.go
+++ b/libpod/runtime_ctr.go
@@ -543,7 +543,7 @@ func (r *Runtime) setupContainer(ctx context.Context, ctr *Container) (_ *Contai
}
switch ctr.config.LogDriver {
- case define.NoLogging, define.PassthroughLogging, define.JournaldLogging:
+ case define.NoLogging, define.PassthroughLogging, define.JournaldLogging, define.SyslogLogging:
break
default:
if ctr.config.LogPath == "" {
--
2.43.0