diff --git a/sdk_container/src/third_party/portage-stable/app-admin/logrotate/Manifest b/sdk_container/src/third_party/portage-stable/app-admin/logrotate/Manifest index 5c4851c7dd..889283fbcb 100644 --- a/sdk_container/src/third_party/portage-stable/app-admin/logrotate/Manifest +++ b/sdk_container/src/third_party/portage-stable/app-admin/logrotate/Manifest @@ -1,2 +1,4 @@ -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 +DIST logrotate-3.21.0.tar.xz 168532 BLAKE2B f7fa0050bde51e2517eac8456ecf87648bc8423621830894ceb2a3ff6b9dfe32c5b53df6a4ee59aa91bd563ed94376a635159535f4fdc170fbc673354bcef508 SHA512 c576df7d2bc1a1db2f99befdd0ea627aef2d97bdcd4a7cdea76870623ba92fb1f04f1af6d15b75e4a9085f4aef2ae5e9843c4094cdd01e24d89872ccaf9c0d4a +DIST logrotate-3.21.0.tar.xz.asc 833 BLAKE2B b2099a0b8c15d1ea7f7325884027dff08dcc8305113411448797b8089d17026242a3f10bd6d7f3d865e3e339ec6fb5faf4ff48f8fd65bca3af4da8b335c3b5f1 SHA512 8f4c1853cd84f85c796b72b43048f4cf04e3409703e7669ee91e1d1aa5e9e5c04261fac1cdf85ec303508d5b6dbf126a44eb9ec819bcc772c664830d39e1068c +DIST logrotate-3.22.0.tar.xz 172108 BLAKE2B c1c9f1ff792905d2917e9ba3cee360c50259e1520e04073cb69abe475499adcf01aeb3cb4c6933af61255fbb5978577c4fdf9d6ab6ebf9568358d2446791c7f3 SHA512 16fd95b4daef779212008c4a968c7a7130be8d550f58531d24fc04599cb9adff6323a745725b3b14d7312ad36cb6646fe33a3defdb5b70cda2cec9646aab066a +DIST logrotate-3.22.0.tar.xz.asc 833 BLAKE2B 379d4fd71c6161211234903560770cf14a7ddf769b83e76ef27ad96d1204e2f4dc73d1e44aa69401db87c252c4471d5bdbace0555dfbb66c8751c20131a7751f SHA512 93664c45bfe9ea20aedc54fe216825db38eaf81d43b238cd7bf8ea3e03f7d282f53743fb6d914766a9ed0cb5b33376435d253db5b9ec7039facd66e25d349dd4 diff --git a/sdk_container/src/third_party/portage-stable/app-admin/logrotate/files/logrotate-3.20.1-log-changes.patch b/sdk_container/src/third_party/portage-stable/app-admin/logrotate/files/logrotate-3.20.1-log-changes.patch deleted file mode 100644 index b7c4bb5275..0000000000 --- a/sdk_container/src/third_party/portage-stable/app-admin/logrotate/files/logrotate-3.20.1-log-changes.patch +++ /dev/null @@ -1,147 +0,0 @@ -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/portage-stable/app-admin/logrotate/files/logrotate.conf b/sdk_container/src/third_party/portage-stable/app-admin/logrotate/files/logrotate.conf index 0b1d0b9265..d25e023858 100644 --- a/sdk_container/src/third_party/portage-stable/app-admin/logrotate/files/logrotate.conf +++ b/sdk_container/src/third_party/portage-stable/app-admin/logrotate/files/logrotate.conf @@ -1,19 +1,13 @@ -# Flatcar: This is a modified version of the default config that came -# with Gentoo Linux. - # # Default logrotate(8) configuration file for Gentoo Linux. # See "man logrotate" for details. # rotate log files weekly. -#weekly +weekly #daily # keep 4 weeks worth of backlogs. -#rotate 4 - -# Flatcar: keep only the most recent old log. -rotate 1 +rotate 4 # create new (empty) log files after rotating old ones. create @@ -24,8 +18,6 @@ dateext # compress rotated log files. compress -# Flatcar: If a file to rotate is missing, don't log an error. -missingok notifempty nomail noolddir @@ -34,14 +26,17 @@ noolddir include /etc/logrotate.d # no packages own wtmp and btmp -- we'll rotate them here. -# must match creation rules in /usr/lib/tmpfiles.d/var.conf /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/portage-stable/app-admin/logrotate/files/logrotate.service b/sdk_container/src/third_party/portage-stable/app-admin/logrotate/files/logrotate.service deleted file mode 100644 index 92dcd0368e..0000000000 --- a/sdk_container/src/third_party/portage-stable/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/portage-stable/app-admin/logrotate/files/logrotate.tmpfiles b/sdk_container/src/third_party/portage-stable/app-admin/logrotate/files/logrotate.tmpfiles index e0c2f7c293..dfb4ab66c1 100644 --- a/sdk_container/src/third_party/portage-stable/app-admin/logrotate/files/logrotate.tmpfiles +++ b/sdk_container/src/third_party/portage-stable/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/portage-stable/app-admin/logrotate/logrotate-3.20.1-r1.ebuild b/sdk_container/src/third_party/portage-stable/app-admin/logrotate/logrotate-3.21.0.ebuild similarity index 66% rename from sdk_container/src/third_party/portage-stable/app-admin/logrotate/logrotate-3.20.1-r1.ebuild rename to sdk_container/src/third_party/portage-stable/app-admin/logrotate/logrotate-3.21.0.ebuild index 59e516b607..5c8f335a35 100644 --- a/sdk_container/src/third_party/portage-stable/app-admin/logrotate/logrotate-3.20.1-r1.ebuild +++ b/sdk_container/src/third_party/portage-stable/app-admin/logrotate/logrotate-3.21.0.ebuild @@ -1,9 +1,9 @@ -# Copyright 1999-2022 Gentoo Authors +# Copyright 1999-2023 Gentoo Authors # Distributed under the terms of the GNU General Public License v2 -EAPI=7 +EAPI=8 -VERIFY_SIG_OPENPGP_KEY_PATH="${BROOT}"/usr/share/openpgp-keys/kamildudka.asc +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/kamildudka.asc inherit systemd tmpfiles verify-sig DESCRIPTION="Rotates, compresses, and mails system logs" @@ -13,15 +13,19 @@ SRC_URI+=" verify-sig? ( https://github.com/${PN}/${PN}/releases/download/${PV}/ 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 ~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} + acl? ( virtual/acl ) +" +RDEPEND=" + ${DEPEND} selinux? ( sec-policy/selinux-logrotate ) - cron? ( virtual/cron )" + cron? ( virtual/cron ) +" BDEPEND="verify-sig? ( sec-keys/openpgp-keys-kamildudka )" STATEFILE="${EPREFIX}/var/lib/misc/logrotate.status" @@ -29,7 +33,6 @@ OLDSTATEFILE="${EPREFIX}/var/lib/logrotate.status" PATCHES=( "${FILESDIR}"/${PN}-3.15.0-ignore-hidden.patch - "${FILESDIR}"/${P}-log-changes.patch ) move_old_state_file() { @@ -64,25 +67,12 @@ src_install() { doman logrotate.8 dodoc ChangeLog.md - # Flatcar: Put our config under /usr. We will point logrotate - # to use this configuration in the systemd unit we install - # below. User can always customize logrotate configuration by - # using drop-ins to point to a different path or by adding - # logrotate config files to /etc/logrotate.d. - insinto /usr/share/logrotate + insinto /etc doins "${FILESDIR}"/logrotate.conf use cron && install_cron_file - # Flatcar: Install our own systemd service file and enable it - # by default. - # - # TODO: We probably should just patch the example logrotate - # service unit, as it has a bunch of hardening and performance - # tuning stuff done. - 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/portage-stable/app-admin/logrotate/logrotate-3.22.0.ebuild b/sdk_container/src/third_party/portage-stable/app-admin/logrotate/logrotate-3.22.0.ebuild new file mode 100644 index 0000000000..169818f942 --- /dev/null +++ b/sdk_container/src/third_party/portage-stable/app-admin/logrotate/logrotate-3.22.0.ebuild @@ -0,0 +1,99 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/cgzones.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.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 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86" +IUSE="acl +cron selinux" + +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-cgzones )" + +STATEFILE="${EPREFIX}/var/lib/misc/logrotate.status" +OLDSTATEFILE="${EPREFIX}/var/lib/logrotate.status" + +PATCHES=( + "${FILESDIR}"/${PN}-3.15.0-ignore-hidden.patch +) + +move_old_state_file() { + elog "logrotate state file is now located at ${STATEFILE}" + elog "See bug #357275" + if [[ -e "${OLDSTATEFILE}" ]] ; then + elog "Moving your current state file to new location: ${STATEFILE}" + mv -n "${OLDSTATEFILE}" "${STATEFILE}" || die + fi +} + +install_cron_file() { + exeinto /etc/cron.daily + newexe "${S}"/examples/logrotate.cron "${PN}" +} + +src_prepare() { + default + + sed -i -e 's#/usr/sbin/logrotate#/usr/bin/logrotate#' examples/logrotate.{cron,service} || die +} + +src_configure() { + econf \ + $(use_with acl) \ + $(use_with selinux) \ + --with-state-file-path="${STATEFILE}" +} + +src_install() { + dobin logrotate + doman logrotate.8 + dodoc ChangeLog.md + + insinto /etc + doins "${FILESDIR}"/logrotate.conf + + use cron && install_cron_file + + systemd_dounit examples/logrotate.{service,timer} + newtmpfiles "${FILESDIR}"/${PN}.tmpfiles ${PN}.conf + + keepdir /etc/logrotate.d +} + +pkg_postinst() { + elog + elog "The ${PN} binary is now installed under /usr/bin. Please" + elog "update your links" + elog + + move_old_state_file + + tmpfiles_process ${PN}.conf + + if [[ -z ${REPLACING_VERSIONS} ]] ; then + elog "If you wish to have logrotate e-mail you updates, please" + elog "emerge virtual/mailx and configure logrotate in" + elog "/etc/logrotate.conf appropriately" + elog + elog "Additionally, /etc/logrotate.conf may need to be modified" + elog "for your particular needs. See man logrotate for details." + fi +}