diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/logrotate/Manifest b/sdk_container/src/third_party/coreos-overlay/app-admin/logrotate/Manifest index 0d34971c62..5c4851c7dd 100644 --- a/sdk_container/src/third_party/coreos-overlay/app-admin/logrotate/Manifest +++ b/sdk_container/src/third_party/coreos-overlay/app-admin/logrotate/Manifest @@ -1 +1,2 @@ -DIST logrotate-3.18.1.tar.gz 225226 BLAKE2B 6f40dfe89f9c6202263f16204a9cff07b921abc9a298b58649bb4968c9f498626741be334c47d4092da564ed75642b687ff6ef8781f69f5e25364f8635646d9d SHA512 c40f920686aee014c652f087c64f2a85e9e866a8717d1bd3f32a9dd7959a02962e6174de28ae685428b442e12079d0c8d91485611ca34a873ffae872a54ec9fe +DIST logrotate-3.20.1.tar.xz 166712 BLAKE2B 8481e0d746c6bcbe10f2686a921334c6f957c8d92520927de7bc8fb0b7631a444fedaa80f35bc2de7961b3d5833ce4ab885b1298b235b7f8b33cc3ae05438da6 SHA512 a9ed5796ab254f511d0029a8f29ef7557f62e12e3ea9af24e30b5b9f348b1c1a16df26d44314b78299916fb3b5000b9cd9eed7cee2cee8df11cfd8e40c79b092 +DIST logrotate-3.20.1.tar.xz.asc 833 BLAKE2B afc02177335bcd580e0617af8c50846b371c2d00ecd8fe329c2e298dc8c48823137625f455cea3d983a0d9971733297fa2c4d98ba3c6f72d2c07f8f21108cfe4 SHA512 2dd207feec431b223ff12f09f6cce14409d45e5bb3abaf2275dd773c7ee7c59ed7d32395e5869bfed70c970be4158fd299e6e269838378843dcb63ca5ebfa029 diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/logrotate/files/logrotate-3.20.1-log-changes.patch b/sdk_container/src/third_party/coreos-overlay/app-admin/logrotate/files/logrotate-3.20.1-log-changes.patch new file mode 100644 index 0000000000..b7c4bb5275 --- /dev/null +++ b/sdk_container/src/third_party/coreos-overlay/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 +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 +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'" + diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/logrotate/files/logrotate.conf b/sdk_container/src/third_party/coreos-overlay/app-admin/logrotate/files/logrotate.conf index 3f123ecf45..d25e023858 100644 --- a/sdk_container/src/third_party/coreos-overlay/app-admin/logrotate/files/logrotate.conf +++ b/sdk_container/src/third_party/coreos-overlay/app-admin/logrotate/files/logrotate.conf @@ -1,5 +1,13 @@ -# keep only the most recent old log. -rotate 1 +# +# Default logrotate(8) configuration file for Gentoo Linux. +# See "man logrotate" for details. + +# rotate log files weekly. +weekly +#daily + +# keep 4 weeks worth of backlogs. +rotate 4 # create new (empty) log files after rotating old ones. create @@ -10,20 +18,25 @@ dateext # compress rotated log files. compress -missingok notifempty nomail noolddir -# accept user provided configuration files in /etc. +# packages can drop log rotation information into this directory. include /etc/logrotate.d -# must match creation rules in /usr/lib/tmpfiles.d/var.conf +# no packages own wtmp and btmp -- we'll rotate them here. /var/log/wtmp { + monthly create 0664 root utmp - size 1M + minsize 1M + rotate 1 } /var/log/btmp { + missingok + monthly create 0600 root utmp - size 1M + rotate 1 } + +# system-specific logs may also be configured here. diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/logrotate/files/logrotate.service b/sdk_container/src/third_party/coreos-overlay/app-admin/logrotate/files/logrotate.service deleted file mode 100644 index 92dcd0368e..0000000000 --- a/sdk_container/src/third_party/coreos-overlay/app-admin/logrotate/files/logrotate.service +++ /dev/null @@ -1,5 +0,0 @@ -[Unit] -Description=Rotate and Compress System Logs - -[Service] -ExecStart=/usr/bin/logrotate /usr/share/logrotate/logrotate.conf diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/logrotate/files/logrotate.tmpfiles b/sdk_container/src/third_party/coreos-overlay/app-admin/logrotate/files/logrotate.tmpfiles index e0c2f7c293..dfb4ab66c1 100644 --- a/sdk_container/src/third_party/coreos-overlay/app-admin/logrotate/files/logrotate.tmpfiles +++ b/sdk_container/src/third_party/coreos-overlay/app-admin/logrotate/files/logrotate.tmpfiles @@ -1,2 +1 @@ d /var/lib/misc -d /etc/logrotate.d - - - - - diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/logrotate/logrotate-3.18.1-r1.ebuild b/sdk_container/src/third_party/coreos-overlay/app-admin/logrotate/logrotate-3.20.1-r1.ebuild similarity index 76% rename from sdk_container/src/third_party/coreos-overlay/app-admin/logrotate/logrotate-3.18.1-r1.ebuild rename to sdk_container/src/third_party/coreos-overlay/app-admin/logrotate/logrotate-3.20.1-r1.ebuild index 39b93d75d5..868b758df6 100644 --- a/sdk_container/src/third_party/coreos-overlay/app-admin/logrotate/logrotate-3.18.1-r1.ebuild +++ b/sdk_container/src/third_party/coreos-overlay/app-admin/logrotate/logrotate-3.20.1-r1.ebuild @@ -1,30 +1,37 @@ -# Copyright 1999-2021 Gentoo Authors +# Copyright 1999-2022 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 EAPI=7 -inherit systemd tmpfiles +VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/kamildudka.asc +inherit systemd tmpfiles verify-sig DESCRIPTION="Rotates, compresses, and mails system logs" HOMEPAGE="https://github.com/logrotate/logrotate" -SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.gz" +SRC_URI="https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.xz" +SRC_URI+=" verify-sig? ( https://github.com/${PN}/${PN}/releases/download/${PV}/${P}.tar.xz.asc )" LICENSE="GPL-2" SLOT="0" -KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" IUSE="acl +cron selinux" -DEPEND=" - >=dev-libs/popt-1.5 +DEPEND=">=dev-libs/popt-1.5 selinux? ( sys-libs/libselinux ) acl? ( virtual/acl )" RDEPEND="${DEPEND} selinux? ( sec-policy/selinux-logrotate ) cron? ( virtual/cron )" +BDEPEND="verify-sig? ( sec-keys/openpgp-keys-kamildudka )" STATEFILE="${EPREFIX}/var/lib/misc/logrotate.status" OLDSTATEFILE="${EPREFIX}/var/lib/logrotate.status" +PATCHES=( + "${FILESDIR}"/${PN}-3.15.0-ignore-hidden.patch + "${FILESDIR}"/${P}-log-changes.patch +) + move_old_state_file() { elog "logrotate state file is now located at ${STATEFILE}" elog "See bug #357275" @@ -39,13 +46,10 @@ install_cron_file() { newexe "${S}"/examples/logrotate.cron "${PN}" } -PATCHES=( - "${FILESDIR}/${PN}-3.15.0-ignore-hidden.patch" -) - src_prepare() { - sed -i -e 's#/usr/sbin/logrotate#/usr/bin/logrotate#' examples/logrotate.{cron,service} || die default + + sed -i -e 's#/usr/sbin/logrotate#/usr/bin/logrotate#' examples/logrotate.{cron,service} || die } src_configure() { @@ -55,23 +59,17 @@ src_configure() { --with-state-file-path="${STATEFILE}" } -src_test() { - emake test -} - src_install() { dobin logrotate doman logrotate.8 dodoc ChangeLog.md - insinto /usr/share/logrotate + insinto /etc doins "${FILESDIR}"/logrotate.conf use cron && install_cron_file - systemd_dounit examples/logrotate.timer - systemd_dounit "${FILESDIR}"/logrotate.service - systemd_enable_service multi-user.target logrotate.timer + systemd_dounit examples/logrotate.{service,timer} newtmpfiles "${FILESDIR}"/${PN}.tmpfiles ${PN}.conf keepdir /etc/logrotate.d diff --git a/sdk_container/src/third_party/coreos-overlay/app-admin/logrotate/metadata.xml b/sdk_container/src/third_party/coreos-overlay/app-admin/logrotate/metadata.xml index 7e0dcb9119..5fc3fca470 100644 --- a/sdk_container/src/third_party/coreos-overlay/app-admin/logrotate/metadata.xml +++ b/sdk_container/src/third_party/coreos-overlay/app-admin/logrotate/metadata.xml @@ -1,10 +1,10 @@ - - base-system@gentoo.org - Gentoo Base System - + + base-system@gentoo.org + Gentoo Base System + Logrotate allows for the automatic rotation compression, removal and mailing of log files. Logrotate can be set to handle a log