summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'app-admin/logrotate/files/logrotate-3.20.1-log-changes.patch')
-rw-r--r--app-admin/logrotate/files/logrotate-3.20.1-log-changes.patch147
1 files changed, 147 insertions, 0 deletions
diff --git a/app-admin/logrotate/files/logrotate-3.20.1-log-changes.patch b/app-admin/logrotate/files/logrotate-3.20.1-log-changes.patch
new file mode 100644
index 000000000000..b7c4bb5275db
--- /dev/null
+++ b/app-admin/logrotate/files/logrotate-3.20.1-log-changes.patch
@@ -0,0 +1,147 @@
+https://bugs.gentoo.org/847382#c3
+https://github.com/logrotate/logrotate/commit/31cf1099ab8514dfcae5a980bc77352edd5292f8
+https://github.com/logrotate/logrotate/commit/7b1fa328bf70eb8434166f151bd075cd1440d0dc
+
+From 31cf1099ab8514dfcae5a980bc77352edd5292f8 Mon Sep 17 00:00:00 2001
+From: Kamil Dudka <kdudka@redhat.com>
+Date: Fri, 27 May 2022 09:56:07 +0200
+Subject: [PATCH] lockState: do not print `error:` when exit code is unaffected
+
+Closes: https://github.com/logrotate/logrotate/pull/448
+--- a/logrotate.c
++++ b/logrotate.c
+@@ -3050,8 +3050,8 @@ static int lockState(const char *stateFilename, int skip_state_lock)
+ }
+
+ if (sb.st_mode & S_IROTH) {
+- message(MESS_ERROR, "state file %s is world-readable and thus can"
+- " be locked from other unprivileged users."
++ message(MESS_NORMAL, "warning: state file %s is world-readable"
++ " and thus can be locked from other unprivileged users."
+ " Skipping lock acquisition...\n",
+ stateFilename);
+ close(lockFd);
+
+From 7b1fa328bf70eb8434166f151bd075cd1440d0dc Mon Sep 17 00:00:00 2001
+From: Kamil Dudka <kdudka@redhat.com>
+Date: Fri, 27 May 2022 16:02:57 +0200
+Subject: [PATCH] log: unify handling of log levels
+
+Use MESS_WARN instead of MESS_NORMAL and make it always use
+the `warning:` prefix. MESS_WARN is now mapped to LOG_WARNING
+for syslog.
+
+Also drop MESS_VERBOSE, which was not set anywhere.
+
+Closes: https://github.com/logrotate/logrotate/pull/239
+Closes: https://github.com/logrotate/logrotate/pull/449
+--- a/config.c
++++ b/config.c
+@@ -643,7 +643,7 @@ static void set_criterium(enum criterium *pDst, enum criterium src, int *pSet)
+ {
+ if (*pSet && (*pDst != src)) {
+ /* we are overriding a previously set criterium */
+- message(MESS_VERBOSE, "warning: '%s' overrides previously specified '%s'\n",
++ message(MESS_DEBUG, "note: '%s' overrides previously specified '%s'\n",
+ crit_to_string(src), crit_to_string(*pDst));
+ }
+ *pDst = src;
+@@ -1021,7 +1021,7 @@ static int readConfigFile(const char *configFile, struct logInfo *defConfig)
+
+ if (getuid() == ROOT_UID) {
+ if ((sb_config.st_mode & 07533) != 0400) {
+- message(MESS_NORMAL,
++ message(MESS_WARN,
+ "Potentially dangerous mode on %s: 0%o\n",
+ configFile, (unsigned) (sb_config.st_mode & 07777));
+ }
+@@ -1386,7 +1386,7 @@ static int readConfigFile(const char *configFile, struct logInfo *defConfig)
+ RAISE_ERROR();
+ }
+ } else if (!strcmp(key, "errors")) {
+- message(MESS_NORMAL,
++ message(MESS_WARN,
+ "%s: %d: the errors directive is deprecated and no longer used.\n",
+ configFile, lineNum);
+ } else if (!strcmp(key, "mail")) {
+--- a/log.c
++++ b/log.c
+@@ -40,9 +40,12 @@ static void log_once(FILE *where, int level, const char *format, va_list args)
+ {
+ switch (level) {
+ case MESS_DEBUG:
+- case MESS_NORMAL:
+- case MESS_VERBOSE:
+ break;
++
++ case MESS_WARN:
++ fprintf(where, "warning: ");
++ break;
++
+ default:
+ fprintf(where, "error: ");
+ break;
+@@ -78,10 +81,11 @@ void message(int level, const char *format, ...)
+ priority |= LOG_DEBUG;
+ break;
+ case MESS_DEBUG:
+- case MESS_VERBOSE:
+- case MESS_NORMAL:
+ priority |= LOG_INFO;
+ break;
++ case MESS_WARN:
++ priority |= LOG_WARNING;
++ break;
+ case MESS_ERROR:
+ priority |= LOG_ERR;
+ break;
+--- a/log.h
++++ b/log.h
+@@ -5,8 +5,7 @@
+
+ #define MESS_REALDEBUG 1
+ #define MESS_DEBUG 2
+-#define MESS_VERBOSE 3
+-#define MESS_NORMAL 4
++#define MESS_WARN 4
+ #define MESS_ERROR 5
+ #define MESS_FATAL 6
+
+--- a/logrotate.c
++++ b/logrotate.c
+@@ -3050,7 +3050,7 @@ static int lockState(const char *stateFilename, int skip_state_lock)
+ }
+
+ if (sb.st_mode & S_IROTH) {
+- message(MESS_NORMAL, "warning: state file %s is world-readable"
++ message(MESS_WARN, "state file %s is world-readable"
+ " and thus can be locked from other unprivileged users."
+ " Skipping lock acquisition...\n",
+ stateFilename);
+@@ -3106,7 +3106,7 @@ int main(int argc, const char **argv)
+ POPT_AUTOHELP { NULL, 0, 0, NULL, 0, NULL, NULL }
+ };
+
+- logSetLevel(MESS_NORMAL);
++ logSetLevel(MESS_WARN);
+ setlocale (LC_ALL, "");
+
+ optCon = poptGetContext("logrotate", argc, argv, options, 0);
+@@ -3117,7 +3117,7 @@ int main(int argc, const char **argv)
+ switch (arg) {
+ case 'd':
+ debug = 1;
+- message(MESS_NORMAL, "WARNING: logrotate in debug mode does nothing"
++ message(MESS_WARN, "logrotate in debug mode does nothing"
+ " except printing debug messages! Consider using verbose"
+ " mode (-v) instead if this is not what you want.\n\n");
+ /* fallthrough */
+--- a/test/test-0080.sh
++++ b/test/test-0080.sh
+@@ -10,4 +10,4 @@ cleanup 80
+ preptest test.log 80 1 0
+
+ $RLR -d test-config.80 2>&1 | \
+- grep -q "warning: 'daily' overrides previously specified 'size'"
++ grep -q "note: 'daily' overrides previously specified 'size'"
+