diff --git a/1200-tree-wide-check-more-log-message-format-in-log_struc.patch b/1200-tree-wide-check-more-log-message-format-in-log_struc.patch new file mode 100644 index 0000000..028872f --- /dev/null +++ b/1200-tree-wide-check-more-log-message-format-in-log_struc.patch @@ -0,0 +1,54 @@ +From b0134d872f6f7dd6b310d4791cb10dd78c0126fe Mon Sep 17 00:00:00 2001 +From: Yu Watanabe +Date: Tue, 18 Mar 2025 15:50:43 +0900 +Subject: [PATCH] tree-wide: check more log message format in log_struct() and + friends + +This introduce LOG_ITEM() macro that checks arbitrary formats in +log_struct(). +Then, drop _printf_ attribute from log_struct_internal(), as it does not +help so much, and compiler checked only the first format string. + +Hopefully, this silences false-positive warnings by Coverity. + +[dtardon: Backported just the new macros, not their use across the +source tree. I could easily avoid doing it at all, but the macros might +be useful for future backports.] + +(cherry picked from commit 3cf6a3a3d4acf8347ccd0250274f517e6b2e9fe6) + +Related: RHEL-100353 +--- + src/basic/log.h | 8 ++++++-- + 1 file changed, 6 insertions(+), 2 deletions(-) + +diff --git a/src/basic/log.h b/src/basic/log.h +index c51941c141..153c3571b6 100644 +--- a/src/basic/log.h ++++ b/src/basic/log.h +@@ -146,7 +146,7 @@ int log_struct_internal( + const char *file, + int line, + const char *func, +- const char *format, ...) _printf_(6,0) _sentinel_; ++ const char *format, ...) _sentinel_; + + int log_oom_internal( + int level, +@@ -305,11 +305,15 @@ bool log_on_console(void) _pure_; + /* Do a fake formatting of the message string to let the scanner verify the arguments against the format + * message. The variable will never be set to true, but we don't tell the compiler that :) */ + extern bool _log_message_dummy; +-# define LOG_MESSAGE(fmt, ...) "MESSAGE=%.0d" fmt, (_log_message_dummy && printf(fmt, ##__VA_ARGS__)), ##__VA_ARGS__ ++# define LOG_ITEM(fmt, ...) "%.0d" fmt, (_log_message_dummy && printf(fmt, ##__VA_ARGS__)), ##__VA_ARGS__ ++# define LOG_MESSAGE(fmt, ...) LOG_ITEM("MESSAGE=" fmt, ##__VA_ARGS__) + #else ++# define LOG_ITEM(fmt, ...) fmt, ##__VA_ARGS__ + # define LOG_MESSAGE(fmt, ...) "MESSAGE=" fmt, ##__VA_ARGS__ + #endif + ++#define LOG_MESSAGE_ID(id) LOG_ITEM("MESSAGE_ID=" id) ++ + void log_received_signal(int level, const struct signalfd_siginfo *si); + + /* If turned on, any requests for a log target involving "syslog" will be implicitly upgraded to the equivalent journal target */ diff --git a/1201-build-add-some-coloring-to-version-output.patch b/1201-build-add-some-coloring-to-version-output.patch new file mode 100644 index 0000000..2e923d7 --- /dev/null +++ b/1201-build-add-some-coloring-to-version-output.patch @@ -0,0 +1,29 @@ +From 907ba128ec81e8821433c2bdfed84169cd9c644b Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Mon, 23 Jan 2023 16:23:45 +0100 +Subject: [PATCH] build: add some coloring to --version output + +Make it easier to discern enabled and disabled build options. + +[dtardon: I picked just the def. of log_oom_warning(), as we don't +really need the rest.] + +(cherry picked from commit 4453ebe4db0511d25bed1040930ea6430c1bed91) + +Related: RHEL-100353 +--- + src/basic/log.h | 1 + + 1 file changed, 1 insertion(+) + +diff --git a/src/basic/log.h b/src/basic/log.h +index 153c3571b6..3527336278 100644 +--- a/src/basic/log.h ++++ b/src/basic/log.h +@@ -296,6 +296,7 @@ int log_emergency_level(void); + + #define log_oom() log_oom_internal(LOG_ERR, PROJECT_FILE, __LINE__, __func__) + #define log_oom_debug() log_oom_internal(LOG_DEBUG, PROJECT_FILE, __LINE__, __func__) ++#define log_oom_warning() log_oom_internal(LOG_WARNING, PROJECT_FILE, __LINE__, __func__) + + bool log_on_console(void) _pure_; + diff --git a/1202-core-output-log-cycle-path-in-one-log-message-not-ma.patch b/1202-core-output-log-cycle-path-in-one-log-message-not-ma.patch new file mode 100644 index 0000000..93ee11a --- /dev/null +++ b/1202-core-output-log-cycle-path-in-one-log-message-not-ma.patch @@ -0,0 +1,48 @@ +From 6973805b33c02c9613ca71003489c428fe1e894e Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 18 Jun 2025 11:47:06 +0200 +Subject: [PATCH] core: output log cycle path in one log message, not many + +Fixes: #35642 +(cherry picked from commit 201647e3f2ff04fbaebc1901431b7ff610f995fb) + +Related: RHEL-100353 +--- + src/core/transaction.c | 23 ++++++++++++++++------- + 1 file changed, 16 insertions(+), 7 deletions(-) + +diff --git a/src/core/transaction.c b/src/core/transaction.c +index bb51f51318..747c9101e3 100644 +--- a/src/core/transaction.c ++++ b/src/core/transaction.c +@@ -393,14 +393,23 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi + + unit_ids = merge_unit_ids(j->manager->unit_log_field, array); /* ignore error */ + +- STRV_FOREACH_PAIR(unit_id, job_type, array) +- /* logging for j not k here to provide a consistent narrative */ ++ size_t m = strv_length(array); ++ ++ _cleanup_free_ char *cycle_path_text = strdup("Found ordering cycle"); ++ if (m > 0) { ++ (void) strextendf(&cycle_path_text, " on %s/%s", array[0], array[1]); ++ if (m > 2) ++ (void) strextendf(&cycle_path_text, "; has dependency on %s/%s", array[2], array[3]); ++ } ++ ++ STRV_FOREACH_PAIR(unit_id, job_type, strv_skip(array, 4)) ++ (void) strextendf(&cycle_path_text, ", %s/%s", *unit_id, *job_type); ++ ++ /* logging for j not k here to provide a consistent narrative */ ++ if (cycle_path_text) + log_struct(LOG_WARNING, +- LOG_UNIT_MESSAGE(j->unit, +- "Found %s on %s/%s", +- unit_id == array ? "ordering cycle" : "dependency", +- *unit_id, *job_type), +- "%s", strna(unit_ids)); ++ LOG_UNIT_MESSAGE(j->unit, "%s", cycle_path_text), ++ LOG_ITEM("%s", strna(unit_ids))); + + if (delete) { + const char *status; diff --git a/1203-core-make-log-cycle-messages-recognizable-via-messag.patch b/1203-core-make-log-cycle-messages-recognizable-via-messag.patch new file mode 100644 index 0000000..1a99f01 --- /dev/null +++ b/1203-core-make-log-cycle-messages-recognizable-via-messag.patch @@ -0,0 +1,74 @@ +From c0f5bfe59f56321ebf62b73724b4a6a12e176946 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 18 Jun 2025 11:47:25 +0200 +Subject: [PATCH] core: make log cycle messages recognizable via message IDs + +(cherry picked from commit 5bbad6244ffc3849511c6ca652a27f1af550c599) + +Resolves: RHEL-100353 +--- + src/core/transaction.c | 9 +++++++-- + src/systemd/sd-messages.h | 9 +++++++++ + 2 files changed, 16 insertions(+), 2 deletions(-) + +diff --git a/src/core/transaction.c b/src/core/transaction.c +index 747c9101e3..2d4c48b82a 100644 +--- a/src/core/transaction.c ++++ b/src/core/transaction.c +@@ -3,6 +3,8 @@ + #include + #include + ++#include "sd-messages.h" ++ + #include "alloc-util.h" + #include "bus-common-errors.h" + #include "bus-error.h" +@@ -409,6 +411,7 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi + if (cycle_path_text) + log_struct(LOG_WARNING, + LOG_UNIT_MESSAGE(j->unit, "%s", cycle_path_text), ++ LOG_MESSAGE_ID(SD_MESSAGE_UNIT_ORDERING_CYCLE_STR), + LOG_ITEM("%s", strna(unit_ids))); + + if (delete) { +@@ -419,7 +422,8 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi + "Job %s/%s deleted to break ordering cycle starting with %s/%s", + delete->unit->id, job_type_to_string(delete->type), + j->unit->id, job_type_to_string(j->type)), +- "%s", strna(unit_ids)); ++ LOG_MESSAGE_ID(SD_MESSAGE_DELETING_JOB_BECAUSE_ORDERING_CYCLE_STR), ++ LOG_ITEM("%s", strna(unit_ids))); + + if (log_get_show_color()) + status = ANSI_HIGHLIGHT_RED " SKIP " ANSI_NORMAL; +@@ -438,7 +442,8 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi + log_struct(LOG_ERR, + LOG_UNIT_MESSAGE(j->unit, "Unable to break cycle starting with %s/%s", + j->unit->id, job_type_to_string(j->type)), +- "%s", strna(unit_ids)); ++ LOG_MESSAGE_ID(SD_MESSAGE_CANT_BREAK_ORDERING_CYCLE_STR), ++ LOG_ITEM("%s", strna(unit_ids))); + + return sd_bus_error_setf(e, BUS_ERROR_TRANSACTION_ORDER_IS_CYCLIC, + "Transaction order is cyclic. See system logs for details."); +diff --git a/src/systemd/sd-messages.h b/src/systemd/sd-messages.h +index 51241c9426..67765c0f05 100644 +--- a/src/systemd/sd-messages.h ++++ b/src/systemd/sd-messages.h +@@ -192,6 +192,15 @@ _SD_BEGIN_DECLARATIONS; + #define SD_MESSAGE_TPM_PCR_EXTEND SD_ID128_MAKE(3f,7d,5e,f3,e5,4f,43,02,b4,f0,b1,43,bb,27,0c,ab) + #define SD_MESSAGE_TPM_PCR_EXTEND_STR SD_ID128_MAKE_STR(3f,7d,5e,f3,e5,4f,43,02,b4,f0,b1,43,bb,27,0c,ab) + ++#define SD_MESSAGE_UNIT_ORDERING_CYCLE SD_ID128_MAKE(f2,7a,3f,94,40,6a,47,83,b9,46,a9,bc,84,9e,94,52) ++#define SD_MESSAGE_UNIT_ORDERING_CYCLE_STR SD_ID128_MAKE_STR(f2,7a,3f,94,40,6a,47,83,b9,46,a9,bc,84,9e,94,52) ++ ++#define SD_MESSAGE_DELETING_JOB_BECAUSE_ORDERING_CYCLE SD_ID128_MAKE(50,84,36,75,42,f7,47,2d,bc,6a,94,12,5d,5d,eb,ce) ++#define SD_MESSAGE_DELETING_JOB_BECAUSE_ORDERING_CYCLE_STR SD_ID128_MAKE_STR(50,84,36,75,42,f7,47,2d,bc,6a,94,12,5d,5d,eb,ce) ++ ++#define SD_MESSAGE_CANT_BREAK_ORDERING_CYCLE SD_ID128_MAKE(b3,11,2d,da,d1,90,45,53,8c,76,68,5b,a5,91,8a,80) ++#define SD_MESSAGE_CANT_BREAK_ORDERING_CYCLE_STR SD_ID128_MAKE_STR(b3,11,2d,da,d1,90,45,53,8c,76,68,5b,a5,91,8a,80) ++ + _SD_END_DECLARATIONS; + + #endif diff --git a/1204-core-change-ordering-cycle-log-message-log-levels.patch b/1204-core-change-ordering-cycle-log-message-log-levels.patch new file mode 100644 index 0000000..2681e9d --- /dev/null +++ b/1204-core-change-ordering-cycle-log-message-log-levels.patch @@ -0,0 +1,41 @@ +From 637b4c312f2dfbf2fadf6829550502359d195678 Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 18 Jun 2025 11:48:39 +0200 +Subject: [PATCH] core: change ordering cycle log message log levels + +Let's downgrade the log message about our attempts to deal with an +ordering cycle to warning, because this is a "positive" thing, we try to +improve an earlier error. + +OTOH increase the log level when we first log about the cycle to error, +since that highlights the actual problem. + +(cherry picked from commit fe458ad68e2813823c381c4010bad201f5e2c2be) + +Related: RHEL-100353 +--- + src/core/transaction.c | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/core/transaction.c b/src/core/transaction.c +index 2d4c48b82a..2dd3c1bac3 100644 +--- a/src/core/transaction.c ++++ b/src/core/transaction.c +@@ -409,7 +409,7 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi + + /* logging for j not k here to provide a consistent narrative */ + if (cycle_path_text) +- log_struct(LOG_WARNING, ++ log_struct(LOG_ERR, + LOG_UNIT_MESSAGE(j->unit, "%s", cycle_path_text), + LOG_MESSAGE_ID(SD_MESSAGE_UNIT_ORDERING_CYCLE_STR), + LOG_ITEM("%s", strna(unit_ids))); +@@ -417,7 +417,7 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi + if (delete) { + const char *status; + /* logging for j not k here to provide a consistent narrative */ +- log_struct(LOG_ERR, ++ log_struct(LOG_WARNING, + LOG_UNIT_MESSAGE(j->unit, + "Job %s/%s deleted to break ordering cycle starting with %s/%s", + delete->unit->id, job_type_to_string(delete->type), diff --git a/1205-core-cast-log_oom-got-void.patch b/1205-core-cast-log_oom-got-void.patch new file mode 100644 index 0000000..bb5983c --- /dev/null +++ b/1205-core-cast-log_oom-got-void.patch @@ -0,0 +1,25 @@ +From bcd3816f09ac86fc438c89377fef0f27fa25c57b Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Wed, 18 Jun 2025 11:51:45 +0200 +Subject: [PATCH] core: cast log_oom() got void + +(cherry picked from commit 6650e21349273a5274ce00d689ed881d2976a6e7) + +Related: RHEL-100353 +--- + src/core/transaction.c | 2 +- + 1 file changed, 1 insertion(+), 1 deletion(-) + +diff --git a/src/core/transaction.c b/src/core/transaction.c +index 2dd3c1bac3..3f62cfd79b 100644 +--- a/src/core/transaction.c ++++ b/src/core/transaction.c +@@ -382,7 +382,7 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi + + /* For logging below */ + if (strv_push_pair(&array, k->unit->id, (char*) job_type_to_string(k->type)) < 0) +- log_oom(); ++ (void) log_oom_warning(); + + if (!delete && hashmap_get(tr->jobs, k->unit) && !unit_matters_to_anchor(k->unit, k)) + /* Ok, we can drop this one, so let's do so. */ diff --git a/1206-core-when-removing-a-job-from-a-transaction-include-.patch b/1206-core-when-removing-a-job-from-a-transaction-include-.patch new file mode 100644 index 0000000..453fad6 --- /dev/null +++ b/1206-core-when-removing-a-job-from-a-transaction-include-.patch @@ -0,0 +1,26 @@ +From 115bb1c4d76b4b2ccd9f400b342facb610ec820d Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 19 Jun 2025 10:15:35 +0200 +Subject: [PATCH] core: when removing a job from a transaction, include in + structured log message which + +(cherry picked from commit becbd2ec4e00aafb656ebc4b2977c1f62adc2ee8) + +Related: RHEL-100353 +--- + src/core/transaction.c | 2 ++ + 1 file changed, 2 insertions(+) + +diff --git a/src/core/transaction.c b/src/core/transaction.c +index 3f62cfd79b..f61ab26bf8 100644 +--- a/src/core/transaction.c ++++ b/src/core/transaction.c +@@ -423,6 +423,8 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi + delete->unit->id, job_type_to_string(delete->type), + j->unit->id, job_type_to_string(j->type)), + LOG_MESSAGE_ID(SD_MESSAGE_DELETING_JOB_BECAUSE_ORDERING_CYCLE_STR), ++ LOG_ITEM("DELETED_UNIT=%s", delete->unit->id), ++ LOG_ITEM("DELETED_TYPE=%s", job_type_to_string(delete->type)), + LOG_ITEM("%s", strna(unit_ids))); + + if (log_get_show_color()) diff --git a/1207-catalog-add-entries-for-the-order-cycle-log-messages.patch b/1207-catalog-add-entries-for-the-order-cycle-log-messages.patch new file mode 100644 index 0000000..fda832c --- /dev/null +++ b/1207-catalog-add-entries-for-the-order-cycle-log-messages.patch @@ -0,0 +1,73 @@ +From 9af2c41e6a7d3f6034326f30e35c324c7e02274b Mon Sep 17 00:00:00 2001 +From: Lennart Poettering +Date: Thu, 19 Jun 2025 10:15:49 +0200 +Subject: [PATCH] catalog: add entries for the order cycle log messages + +Fixes: #35642 +(cherry picked from commit e4003f2d9cb93d09d99b87a3d2f68cb0889ecbe8) + +Related: RHEL-100353 +--- + catalog/systemd.catalog.in | 52 ++++++++++++++++++++++++++++++++++++++ + 1 file changed, 52 insertions(+) + +diff --git a/catalog/systemd.catalog.in b/catalog/systemd.catalog.in +index 4c29128f71..86d7067f6f 100644 +--- a/catalog/systemd.catalog.in ++++ b/catalog/systemd.catalog.in +@@ -539,3 +539,55 @@ Platform Configuration Register (PCR) @PCR@, on banks @BANKS@. + Whenever the system transitions to a new runtime phase, a different string is + extended into the specified PCR, to ensure that security policies for TPM-bound + secrets and other resources are limited to specific phases of the runtime. ++ ++-- f27a3f94406a4783b946a9bc849e9452 ++Subject: Unit ordering cycle found ++Defined-By: systemd ++Support: %SUPPORT_URL% ++Documentation: man:systemd(1) ++ ++A unit transaction was initiated that contains an ordering cycle, i.e. some ++unit that was requested to be started (either directly, or indirectly due to a ++requirement dependency such as Wants= or Requires=) is ordered before some ++other unit (via After=/Before=), but that latter unit is also ordered before ++the former by some dependency (either directly or indirectly). ++ ++Ordering cycles consist of at least two units, but might involve many ++more. They generally indicate a bug in the unit definitions, as a unit ++conceptually cannot be run both before and after some other unit, it must be ++strictly ordered either before or after. ++ ++The ordering cycle is shown in the log message. An attempt will be made to ++remove unit jobs from the transaction in order to make the transaction succeed ++at least partially. Note that such cycle breaking is not going to correct the ++issue, it is just an attempt to make the outcome less problematic. ++ ++The correct fix is to analyze the cycle in question and then break the cycle at ++the right place by removing the right After= or Before= lines from one or more ++of the involved unit files. ++ ++-- 5084367542f7472dbc6a94125d5debce ++Subject: Unit job deleted due to an ordering cycle ++Defined-By: systemd ++Support: %SUPPORT_URL% ++Documentation: man:systemd(1) ++ ++In order to address an ordering cycle between units that have been added to a ++transaction a job has been removed from the transaction. ++ ++The removed job is '@DELETED_TYPE@' for unit @DELETED_UNIT@. ++ ++The removal of the job is done in order to minimize the negative effect of an ++ordering cycle — it is not going to fix the underlying problem, which is a bug ++in the involved unit files. The deleted job might be fundamental for the other ++units in the transaction to operate, which hence might fail. ++ ++-- b3112ddad19045538c76685ba5918a80 ++Subject: Unable to break ordering cycle between units ++Defined-By: systemd ++Support: %SUPPORT_URL% ++Documentation: man:systemd(1) ++ ++It has been attempted to break an ordering cycle between units for which jobs ++have been enqueued as part of a transaction, but this was not successful. The ++transaction will fail. diff --git a/1208-tree-wide-check-more-log-message-format-in-log_struc.patch b/1208-tree-wide-check-more-log-message-format-in-log_struc.patch new file mode 100644 index 0000000..549b3c8 --- /dev/null +++ b/1208-tree-wide-check-more-log-message-format-in-log_struc.patch @@ -0,0 +1,46 @@ +From d281329eaba88a8ea16bda1c4216ee2d73376d90 Mon Sep 17 00:00:00 2001 +From: Yu Watanabe +Date: Tue, 18 Mar 2025 15:50:43 +0900 +Subject: [PATCH] tree-wide: check more log message format in log_struct() and + friends + +This introduce LOG_ITEM() macro that checks arbitrary formats in +log_struct(). +Then, drop _printf_ attribute from log_struct_internal(), as it does not +help so much, and compiler checked only the first format string. + +Hopefully, this silences false-positive warnings by Coverity. + +[dtardon: Backported just the immediate fix for a compiler warning.] + +(cherry picked from commit 3cf6a3a3d4acf8347ccd0250274f517e6b2e9fe6) + +Related: RHEL-100353 +--- + src/basic/log.c | 4 ++++ + 1 file changed, 4 insertions(+) + +diff --git a/src/basic/log.c b/src/basic/log.c +index 2e1642dc20..20bf45170c 100644 +--- a/src/basic/log.c ++++ b/src/basic/log.c +@@ -959,7 +959,9 @@ int log_struct_internal( + iovec[n++] = IOVEC_MAKE_STRING(header); + + va_start(ap, format); ++ DISABLE_WARNING_FORMAT_NONLITERAL; + r = log_format_iovec(iovec, ELEMENTSOF(iovec), &n, true, error, format, ap); ++ REENABLE_WARNING; + if (r < 0) + fallback = true; + else { +@@ -993,7 +995,9 @@ int log_struct_internal( + errno = ERRNO_VALUE(error); + + va_copy(aq, ap); ++ DISABLE_WARNING_FORMAT_NONLITERAL; + (void) vsnprintf(buf, sizeof buf, format, aq); ++ REENABLE_WARNING; + va_end(aq); + + if (startswith(buf, "MESSAGE=")) { diff --git a/1209-core-transaction-do-not-attempt-to-log-n-a-as-a-jour.patch b/1209-core-transaction-do-not-attempt-to-log-n-a-as-a-jour.patch new file mode 100644 index 0000000..081ffdc --- /dev/null +++ b/1209-core-transaction-do-not-attempt-to-log-n-a-as-a-jour.patch @@ -0,0 +1,46 @@ +From 218ce1e8353ba19e2886adb98379ba6c82f9692b Mon Sep 17 00:00:00 2001 +From: Mike Yuan +Date: Mon, 30 Jun 2025 17:57:08 +0200 +Subject: [PATCH] core/transaction: do not attempt to log "n/a" as a journal + field + +Follow-up for 3cf6a3a3d4acf8347ccd0250274f517e6b2e9fe6 + +(cherry picked from commit 1c8d653d2b8a82ed3944f03c2dea25ad1e2cc967) + +Related: RHEL-100353 +--- + src/core/transaction.c | 6 +++--- + 1 file changed, 3 insertions(+), 3 deletions(-) + +diff --git a/src/core/transaction.c b/src/core/transaction.c +index f61ab26bf8..f527fbf017 100644 +--- a/src/core/transaction.c ++++ b/src/core/transaction.c +@@ -412,7 +412,7 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi + log_struct(LOG_ERR, + LOG_UNIT_MESSAGE(j->unit, "%s", cycle_path_text), + LOG_MESSAGE_ID(SD_MESSAGE_UNIT_ORDERING_CYCLE_STR), +- LOG_ITEM("%s", strna(unit_ids))); ++ LOG_ITEM("%s", strempty(unit_ids))); + + if (delete) { + const char *status; +@@ -425,7 +425,7 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi + LOG_MESSAGE_ID(SD_MESSAGE_DELETING_JOB_BECAUSE_ORDERING_CYCLE_STR), + LOG_ITEM("DELETED_UNIT=%s", delete->unit->id), + LOG_ITEM("DELETED_TYPE=%s", job_type_to_string(delete->type)), +- LOG_ITEM("%s", strna(unit_ids))); ++ LOG_ITEM("%s", strempty(unit_ids))); + + if (log_get_show_color()) + status = ANSI_HIGHLIGHT_RED " SKIP " ANSI_NORMAL; +@@ -445,7 +445,7 @@ static int transaction_verify_order_one(Transaction *tr, Job *j, Job *from, unsi + LOG_UNIT_MESSAGE(j->unit, "Unable to break cycle starting with %s/%s", + j->unit->id, job_type_to_string(j->type)), + LOG_MESSAGE_ID(SD_MESSAGE_CANT_BREAK_ORDERING_CYCLE_STR), +- LOG_ITEM("%s", strna(unit_ids))); ++ LOG_ITEM("%s", strempty(unit_ids))); + + return sd_bus_error_setf(e, BUS_ERROR_TRANSACTION_ORDER_IS_CYCLIC, + "Transaction order is cyclic. See system logs for details."); diff --git a/systemd.spec b/systemd.spec index d2d983a..fb25d9d 100644 --- a/systemd.spec +++ b/systemd.spec @@ -21,7 +21,7 @@ Name: systemd Url: https://systemd.io Version: 252 -Release: 54%{?dist} +Release: 55%{?dist} # For a breakdown of the licensing, see README License: LGPLv2+ and MIT and GPLv2+ Summary: System and Service Manager @@ -1282,6 +1282,16 @@ Patch1196: 1196-core-include-peak-memory-in-unit_log_resources.patch Patch1197: 1197-run-include-peak-memory-in-output.patch Patch1198: 1198-core-ensure-init.scope-is-realized-after-drop-ins-ha.patch Patch1199: 1199-core-add-possibility-to-not-track-certain-unit-types.patch +Patch1200: 1200-tree-wide-check-more-log-message-format-in-log_struc.patch +Patch1201: 1201-build-add-some-coloring-to-version-output.patch +Patch1202: 1202-core-output-log-cycle-path-in-one-log-message-not-ma.patch +Patch1203: 1203-core-make-log-cycle-messages-recognizable-via-messag.patch +Patch1204: 1204-core-change-ordering-cycle-log-message-log-levels.patch +Patch1205: 1205-core-cast-log_oom-got-void.patch +Patch1206: 1206-core-when-removing-a-job-from-a-transaction-include-.patch +Patch1207: 1207-catalog-add-entries-for-the-order-cycle-log-messages.patch +Patch1208: 1208-tree-wide-check-more-log-message-format-in-log_struc.patch +Patch1209: 1209-core-transaction-do-not-attempt-to-log-n-a-as-a-jour.patch # Downstream-only patches (9000–9999) @@ -2159,6 +2169,18 @@ systemd-hwdb update &>/dev/null || : %{_prefix}/lib/dracut/modules.d/70rhel-net-naming-sysattrs/* %changelog +* Fri Aug 15 2025 systemd maintenance team - 252-55 +- tree-wide: check more log message format in log_struct() and friends (RHEL-100353) +- build: add some coloring to --version output (RHEL-100353) +- core: output log cycle path in one log message, not many (RHEL-100353) +- core: make log cycle messages recognizable via message IDs (RHEL-100353) +- core: change ordering cycle log message log levels (RHEL-100353) +- core: cast log_oom() got void (RHEL-100353) +- core: when removing a job from a transaction, include in structured log message which (RHEL-100353) +- catalog: add entries for the order cycle log messages (RHEL-100353) +- tree-wide: check more log message format in log_struct() and friends (RHEL-100353) +- core/transaction: do not attempt to log "n/a" as a journal field (RHEL-100353) + * Wed Aug 13 2025 systemd maintenance team - 252-54 - unit: add conditions and deps to make oomd.socket and .service consistent (RHEL-90417) - udev/net_id: introduce naming scheme for RHEL-9.7 (RHEL-25516)