You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
systemd/SOURCES/0732-generator-uninline-gen...

53 lines
2.0 KiB

From 657e89e5893fac4711fc9984bdb4861a66f84c5d Mon Sep 17 00:00:00 2001
From: Michal Sekletar <msekleta@redhat.com>
Date: Tue, 16 Jul 2024 18:19:45 +0200
Subject: [PATCH] generator: "uninline" generator_open_unit_file and
generator_add_symlink
Inlining of these functions changed ABI of libsystemd-shared which
causes issue on update when generators packaged in systemd-udev
subpackage fail to execute because of ABI change. systemd and the
library are already updated while systemd-udev subpackage is not and
hence old generators can't be started when systemd is reexecuting
due to internal library incompatibility.
rhel-only: bugfix
Resolves: RHEL-49495
---
src/shared/generator.c | 4 ++++
src/shared/generator.h | 5 +----
2 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/src/shared/generator.c b/src/shared/generator.c
index 284e5fc580..7f5ceb7128 100644
--- a/src/shared/generator.c
+++ b/src/shared/generator.c
@@ -109,6 +109,10 @@ int generator_add_symlink_full(
return 0;
}
+int generator_add_symlink(const char *dir, const char *dst, const char *dep_type, const char *src) {
+ return generator_add_symlink_full(dir, dst, dep_type, src, NULL);
+}
+
static int generator_add_ordering(
const char *dir,
const char *src,
diff --git a/src/shared/generator.h b/src/shared/generator.h
index 111900fd45..61bc79f0f7 100644
--- a/src/shared/generator.h
+++ b/src/shared/generator.h
@@ -13,10 +13,7 @@ int generator_open_unit_file(
FILE **file);
int generator_add_symlink_full(const char *dir, const char *dst, const char *dep_type, const char *src, const char *instance);
-
-static inline int generator_add_symlink(const char *dir, const char *dst, const char *dep_type, const char *src) {
- return generator_add_symlink_full(dir, dst, dep_type, src, NULL);
-}
+int generator_add_symlink(const char *dir, const char *dst, const char *dep_type, const char *src);
int generator_write_fsck_deps(
FILE *f,