commit a1314f5adc59be196ea5f6c77262a329dc09bfbaa99ef453ed0900d5ebcfcfb1 Author: Adrian Schröter Date: Fri May 3 16:21:08 2024 +0200 Sync from SUSE:SLFO:Main logrotate revision b5a30e9355fc190cef76614bca0a2070 diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..9b03811 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/logrotate-3.21.0.tar.xz b/logrotate-3.21.0.tar.xz new file mode 100644 index 0000000..f24c546 --- /dev/null +++ b/logrotate-3.21.0.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:8fa12015e3b8415c121fc9c0ca53aa872f7b0702f543afda7e32b6c4900f6516 +size 168532 diff --git a/logrotate-3.21.0.tar.xz.asc b/logrotate-3.21.0.tar.xz.asc new file mode 100644 index 0000000..2d3ea81 --- /dev/null +++ b/logrotate-3.21.0.tar.xz.asc @@ -0,0 +1,16 @@ +-----BEGIN PGP SIGNATURE----- + +iQIzBAABCAAdFiEEmSqW4HUFbnnNghT5hz2zdXKjezYFAmOYt7kACgkQhz2zdXKj +ezamwg//Va0b3lXdqMoQEDjOqsUUlKg2QMbtY/iWRARpXun1UeSCGTJLNZqKjobg +kIiD1vaRhf2Zv4OgZRD9XijrIPgOPkhsZMjTJIX7qVsw6qiZsmy666gKk22kbuV7 +V4Yt02QYq7xVPwbxY/X0ohjW/PlGrlgWJzBu6avuTSkxjhpSs7/seFaWuRtIJljb +uxQ9oEAra5oWtfnFDpooNJYgKtKcJlGmbW8NToIUWOgpxHCWVneNuyp+PC53aHt7 +2U4yiP6lIEqGQGu2qDvAKoVICRM5u6wZtwN9yyT0nhDKBtL0gNihj8/n0uaX132k +batg7a1Tl/H74W+eQS2rQLT4/lDkorrXpkuiAExKEfxqqj9bGufSI2CggN4oipNy +11nGKM3YStr+77QudJOA4FtaWh7hddQweISK10sXAVVuR+g+ut19nGcEyvENaQtP +dwNuWWkXO6rcEidsLlt0bqHBg4RG970dvvCclNoEf3KyONV2V0uNurBoPNmqDK6Y +yCtgt4AHq8j8/j9toYCcsATc4rKwvZr92kVY8MzKpWJ+GcElGzXB+OIHXAI+bECH +votVhKOq/O+08Fm1ZNmPR6LWADjbsvKIlT+6QnIM+F+MMxMopAaWbLv6suSww8Bu +dYdTKs9mGbZf885XZ/TVBNF4aemp5IqW1HsVDwgFGCY7vET89cU= +=+x00 +-----END PGP SIGNATURE----- diff --git a/logrotate-all b/logrotate-all new file mode 100644 index 0000000..fc31cfa --- /dev/null +++ b/logrotate-all @@ -0,0 +1,28 @@ +#!/bin/sh +set -eu + +configs= + +# Only read /usr/etc/logrotate.conf if /etc/logrotate.conf does not exist +if ! [ -e /etc/logrotate.conf ]; then + configs="$configs /usr/etc/logrotate.conf" +else + configs="$configs /etc/logrotate.conf" +fi + +# Then read in all of {/usr,}/etc/logrotate.d/*, with /etc/ overriding /usr/etc/. +dirs= +[ -d /usr/etc/logrotate.d ] && dirs="/usr/etc/logrotate.d" +[ -d /etc/logrotate.d ] && dirs="$dirs /etc/logrotate.d" + +if [ -n "$dirs" ]; then + for confname in $(find $dirs -type f -printf "%P\n" | sort -u); do + if [ -e "/etc/logrotate.d/$confname" ]; then + configs="$configs /etc/logrotate.d/$confname" + else + configs="$configs /usr/etc/logrotate.d/$confname" + fi + done +fi + +exec /usr/sbin/logrotate $configs diff --git a/logrotate.changes b/logrotate.changes new file mode 100644 index 0000000..a3be005 --- /dev/null +++ b/logrotate.changes @@ -0,0 +1,953 @@ +------------------------------------------------------------------- +Tue Jan 24 07:53:00 UTC 2023 - Fabian Vogt + +- Update to 3.21.0: + * add ignoreduplicates directive to allow duplicate file matches + * add --wait-for-state-lock option to wait for lock on the state file + * avoid failure when an anonymous non-privileged user runs logrotate + * support home dir expansion in olddir + * reduce unnecessary rename operations with start N where N > 1 + * unify handling of log levels + * do not print error: when exit code is unaffected + +------------------------------------------------------------------- +Mon Jan 23 13:21:08 UTC 2023 - Fabian Vogt + +- Replace the vendor config logic: + * Remove logrotate-vendor-dir.patch and the code from logrotate.service + (also addresses boo#1202406) + * Add a wrapper script which collects all config files in the right + order +- Create logrotate.keyring with kdudka's public key +- Drop logrotate-rpmlintrc: rpmlint doesn't look at /usr/etc/logrotate.d/, + so the false positive doesn't trigger. + +------------------------------------------------------------------- +Wed Sep 14 11:15:55 UTC 2022 - Stefan Schubert + +- Ignoring vendor logs settings in /usr/etc/logrotate.d if they + have already been defined by the the admin in the /etc/logrotate.d + directory (bsc#1173319). + +- Removed logrotate-3.20.0-man_logrotate.patch. +- Added logrotate-vendor-dir.patch + +------------------------------------------------------------------- +Mon Jun 20 12:06:17 UTC 2022 - Stefan Schubert + +- Removed %{_distconfdir}/logrotate.d directory from spec file. + It will be handled by package filesystem. + +------------------------------------------------------------------- +Wed May 25 20:06:20 UTC 2022 - Michael Ströder + +- update to 3.20.1: + * drop world-readable permission on state file even when ACLs are enabled (#446) +- removed obsolete logrotate-CVE-2022-1348-follow-up.patch + +------------------------------------------------------------------- +Wed May 25 15:31:32 UTC 2022 - David Anes + +- Security fix: (bsc#1199652, CVE-2022-1348) + * Add follow-up upstream patch for the introduced fix. + * Added patch logrotate-CVE-2022-1348-follow-up.patch + +- Update patch: + * logrotate-3.19.0-man_logrotate.patch -> logrotate-3.20.0-man_logrotate.patch + +------------------------------------------------------------------- +Wed May 25 13:34:17 UTC 2022 - Michael Ströder + +- update to 3.20.0: + * fix potential DoS from unprivileged users via the state file (CVE-2022-1348) + * fix a misleading debug message with copytruncate and rotate 0 (#443) + * add support for unsigned time_t (#438) + * do not lock state file /dev/null (#433) + +------------------------------------------------------------------- +Thu Feb 24 10:36:07 UTC 2022 - Stefan Schubert + +- Added own logrotate.service file in order to define a new order + of parsed config files: + /usr/etc/logrotate.conf Default configuration file defined by + the vendor. + /usr/etc/logrotate.d/* Directory for additional configuration + files defined by the vendor. + /etc/logrotate.conf Default configuration file defined by + the administrator. (optional) + /etc/logrotate.d/* Directory for additional configuration + files defined by the administrator. + (optional) +- drop logrotate-3.19.0-systemd_add_home_env.patch: + - included in new logrotate.service +- Adapted man page: logrotate-3.19.0-man_logrotate.patch + +------------------------------------------------------------------- +Fri Jan 7 20:23:36 UTC 2022 - Michael Ströder + +- update to 3.19.0: + * continue on EINTR in compressLogFile() (#430) + * enforce stricter parsing of configuration files (#427, #431) + * avoid confusing error message in debug mode (#426) + * fix full_write() on incomplete write (#415) + * do not use alloca() any more (#412) + * do not rotate hard links unless allowhardlink is used (#407) + * change directory after dropping privileges (#397) + * add defence in depth when dropping privileges (#400) + * remove invalid configuration on error (#408) + * do not open symbolic link log files by accident (#399) + * do not write state if state file is /dev/null (#395) +- rebased logrotate-3.13.0-systemd_add_home_env.patch + and renamed to logrotate-3.19.0-systemd_add_home_env.patch +- removed obsolete logrotate-dont_warn_on_size=_syntax.patch + +------------------------------------------------------------------- +Tue Oct 19 11:36:39 UTC 2021 - Manfred Hollstein + +- Add patch: + * logrotate-dont_warn_on_size=_syntax.patch (boo#1191816) + +------------------------------------------------------------------- +Thu May 27 16:31:55 UTC 2021 - Dirk Müller + +- update to 3.18.1: + * fix memory leaks on error-handling paths + * make `renamecopy` and `copytruncate` override each other + * improve error handling in the parser of configuration files + * improve user experience for non-privileged users of logrotate + +------------------------------------------------------------------- +Wed Feb 3 07:45:15 UTC 2021 - Pedro Monreal + +- Update to 3.18.0: + * Allow UIDs and GIDs to be specified numerically + * Add support for Zstandard compressed files + * Make delaycompress not to fail with rotate 0 + +------------------------------------------------------------------- +Tue Jul 28 09:02:52 UTC 2020 - Pedro Monreal + +- Update to 3.17.0: + * lock state file to prevent parallel execution of logrotate + * add '.bak' extension to default taboo list + * allow to pass a home-relative path to 'include' + * 'switch_user_permanently': skip switchback check if switched to root + * logrotate.service: enable 'ProtectClock' to restrict setting of clock + * delete old logs hit by 'maxage' regardless of 'dateext' + +------------------------------------------------------------------- +Wed Apr 15 07:22:01 UTC 2020 - Thorsten Kukuk + +- Require /usr/bin/xz instead of xz to make it working with busybox + +------------------------------------------------------------------- +Mon Mar 2 12:04:01 UTC 2020 - Tomáš Chvátal + +- Update to 3.16.0 bsc#1160281: + * fix compilation with gcc-10, which defaults to -fno-common (#288) + * reduce number of open() operations on state file (#282) + * validate user/group given to the su directive early (#276) + * add hardening options to systemd unit file in examples (#274, #291) + * fix crash of logrotate on invalid configuration with include (#271) + * fix heap buffer overflow on too long logfile extension (#270) + +------------------------------------------------------------------- +Wed Jan 8 08:28:20 UTC 2020 - Tomáš Chvátal + +- Update to 3.15.1: + * use correct create mode in examples/btmp (#257) + * fix several bugs found by fuzzing (#254) + * do not abort globbing on a broken symlink (#251) + * rearrange logrotate.8 man page to improve readability (#248) + * encourage admins to use the su directive in logrotate.8 man page (#236) + +------------------------------------------------------------------- +Thu Jan 2 07:46:43 CET 2020 - kukuk@suse.de + +- Use systemd_ordering instead of systemd_requires + +------------------------------------------------------------------- +Thu Apr 4 11:12:28 UTC 2019 - Pedro Monreal Gonzalez + +- Version update to 3.15.0: + * timer unit: change trigger fuzz from 12h to 1h + * service unit: only run if /var/log is mounted + * preserve fractional part of timestamps when compressing + * re-indent source code using spaces only + * minage: avoid rounding issue while comparing the amount of seconds + * never remove old log files if rotate -1 is specified + * return non-zero exit status if a config file contains an error + * make copytruncate work with rotate 0 + * warn user if both size and the time interval options are used + * pass rotated log file name as the 2nd argument of the postrotate + script when sharedscript is not enabled + * rename logrotate-default to logrotate.conf +- Added asc file. + +------------------------------------------------------------------- +Thu Sep 13 08:13:52 UTC 2018 - Tomáš Chvátal + +- Rebase the logrotate-3.13.0-systemd_add_home_env.patch to be + unified patch again + +------------------------------------------------------------------- +Mon Sep 10 12:08:24 UTC 2018 - Jan Engelhardt + +- Use noun phrase. Trim filler wording from description. + Add a note that it is unrelated to journald. + +------------------------------------------------------------------- +Fri Sep 7 10:33:52 UTC 2018 - liedke@rz.uni-mannheim.de + +- Version update to 3.14.0: + * make configure show support status for SELinux and ACL at the end + * make logrotate build again on FreeBSD + * move wtmp and btmp definitions from logrotate.conf to + separate configuration files in logrotate.d + * print a warning about logrotate doing nothing when -d is used + * do not reject executable config files + * add hardening options to logrotate.service in examples + * fix spurious compressor failure when using su and compress + * keep logrotate version in .tarball-version in release tarballs + * introduce the hourago configuration directive + * ignore empty patterns in tabooext to avoid exclusion of everything + * properly report skipped test cases instead of pretending success + +------------------------------------------------------------------- +Thu Jun 7 09:51:50 UTC 2018 - kstreitova@suse.com + +- Add "Environment=HOME=/root" to logrotate.service file in order + to allow mariadb to rotate its logs when the database has a root + password defined [bsc#1093617] +- Added patch: + * logrotate-3.13.0-systemd_add_home_env.patch + +------------------------------------------------------------------- +Tue Apr 3 13:34:57 CEST 2018 - kukuk@suse.de + +- Use %license instead of %doc [bsc#1082318] + +------------------------------------------------------------------- +Fri Jan 5 15:56:13 UTC 2018 - pmonrealgonzalez@suse.com + +- Version update to 3.13.0: + * make distribution tarballs report logrotate version properly + * make (un)compress work even if stdin and/or stdout are closed (#154) + * remove -s from DEFAULT_MAIL_COMMAND and improve its documenation (#152) + * uncompress logs before mailing them even if delaycompress is enabled (#151) + * handle unlink of a non-existing log file as a warning only (#144) + * include compile-time options in the output of logrotate --version (#145) + * make logrotate --version print to stdout instead of stderr (#145) + * flush write buffers before syncing state file (#148) + * specify (un)compress utility explicitly in tests (#137) + * enable running tests in parallel (#132) + * explicitly map root UID/GID to 0 on Cygwin (#133) + * add .dpkg-bak and .dpkg-del to default tabooext list (#134) + +------------------------------------------------------------------- +Fri Jul 7 08:43:42 UTC 2017 - tchvatal@suse.com + +- Version update to 3.12.3: + * Fixed accident removal of rotated files with dateext. (#118) + * Line comments inside globs in config files are now skipped. (#109) + * logrotate now recovers from a corrupted state file. (#45) + * createolddir now creates old directory as unprivileged user. (#114) + * weekly rotations are now predictable and configurable. (#93) + * Errors in config files are no longer treated as fatal errors. (#81) + * configure --with-default-mail-command specifies default mail command. (#100) + * Fixed heap buffer overflow when parsing crafted config file. (#33) + * build fixes related to -Werror (#119) and -Werror=format= (#108) + * configure --enable-werror now controls use of the -Werror flag (#123) + * copy and copytruncate directives now work together again + * unlink() is no longer preceded by open() unless shred is enabled (#124) + * compress and uncompress now take commands from $PATH, too (#122) +- By default disable werror while building + +------------------------------------------------------------------- +Fri Jul 7 08:28:18 UTC 2017 - tchvatal@suse.com + +- Remove aaa_base compat setting that is from 2003, we do not + support such migration anymore + +------------------------------------------------------------------- +Wed Dec 28 11:19:13 UTC 2016 - tchvatal@suse.com + +- Version update to 3.11.0: + * Merges from distribution patchsets and small fixes around +- Remove all patches merged upstream: + * logrotate-addextension.patch + * logrotate-autoext.patch + * logrotate-conf.patch + * logrotate-fix-test62_with_bash-4.4.patch + * logrotate-manpage_config_clarification.patch + * logrotate-var-lib-misc.patch + * logrotate-3.7.8-suse.patch + +------------------------------------------------------------------- +Mon Nov 21 12:03:14 UTC 2016 - tchvatal@suse.com + +- Fix post scriptlet condition bnc#1011120 + +------------------------------------------------------------------- +Sat Nov 12 22:08:25 CET 2016 - kukuk@suse.de + +- Move logrotate.status to /var/lib/misc following FHS/LSB and + making implementing read-only root filesystem much easier. + [FATE#322036] +- Add patch: + * logrotate-var-lib-misc.patch + +------------------------------------------------------------------- +Wed Oct 5 11:38:13 UTC 2016 - tchvatal@suse.com + +- Version update to 3.10.0 fate#322037: + * Update url to point to github +- Remove upstreamed patch: + * logrotate-3.7.8-mess_err.patch +- Rebase patches: + * logrotate-3.7.8-suse.patch + * logrotate-addextension.patch + * logrotate-autoext.patch + * logrotate-fix-test62_with_bash-4.4.patch + +------------------------------------------------------------------- +Mon Oct 3 14:46:34 UTC 2016 - dimstar@opensuse.org + +- Add logrotate-fix-test62_with_bash-4.4.patch: Fix the test suite + when running with bash 4.4 (gh#logrotate/logrotate#66). + +------------------------------------------------------------------- +Mon Jun 22 12:53:44 UTC 2015 - kstreitova@suse.com + +- update to 3.9.1 + * 3.9.1 + - Fix off-by-one error which can lead to crash when copytruncate + is used. + * 3.9.0 + - Fix crash when using long dateformat. [nmerdan] + - Add support for %H dateformat. [czchen] + - Fix regression introduced in 3.8.9 when when rotating multiple + logs when one of them is missing. + - In the debug mode, do not skip the code-path which handles the + case when the last rotation does not exist. [Sergey Vidishev] + - Show more precise description when "log does not need rotating". + - Add new -l option to log verbose output to file. The file is + overwritten on every logrotate execution. + - Allow rotation of sparse files with copytruncate. + * update logrotate-addextension.patch +- use spec-cleaner +- remove unused PreReq tags + +------------------------------------------------------------------- +Tue May 19 23:42:27 UTC 2015 - crrodriguez@opensuse.org + +- Enable Persistent timer since we are now in systemd 219. + +------------------------------------------------------------------- +Fri Feb 20 11:04:12 UTC 2015 - p.drouand@gmail.com + +- Update to version 3.8.9 + * Add new directive "createolddir" and "nocreateolddir". These directives + can be used to create the directory specified by olddir with particular + "mode", "owner" and "group". + * Continue with rotation even when first log from logset is removed + during the rotation. + * Fix crash on BSD systems introduced in 3.8.8 caused by different qsort_r + function. Function qsort is now used instead. + * Fix potential buffer overflow in usage of strncat function. + * Fix compilation with musl-libc. + * Add experimental 'renamecopy' directive to allow 'olddir' on different + physical device. See the "man logrotate" for more information. +- Remove logrotate-fail_if_ENOENT_and_nomissingok.patch; merged on + upstream release +- Updated patches + * logrotate-3.7.8-addextension.patch > logrotate-addextension.patch + * logrotate-3.7.8-autoext.patch > logrotate-autoext.patch + * logrotate-3.7.8-conf.patch > logrotate-conf.patch + * logrotate-manpage_config_clarification.patch +- Remove redunant %clean section + +------------------------------------------------------------------- +Thu Jun 26 12:01:30 UTC 2014 - vcizek@suse.com + +- temporarily remove the 'Persistent' option from logrotate.timer + * our current systemd doesn't support it yet (bnc#884338) + +------------------------------------------------------------------- +Thu Apr 3 17:16:40 UTC 2014 - crrodriguez@opensuse.org + +- Also, avoid logrotate unit activation when the system is + on battery power. + +------------------------------------------------------------------- +Thu Apr 3 14:10:21 UTC 2014 - crrodriguez@opensuse.org + +- BuildRequire systemd 197 or later. + +------------------------------------------------------------------- +Wed Apr 2 22:45:56 UTC 2014 - crrodriguez@opensuse.org + +- Migrate from cron to systemd timer units, this is overall + the most important package to migrate since it is one + of the very few base components that hard-require cron. + +------------------------------------------------------------------- +Tue Apr 1 15:11:22 UTC 2014 - vcizek@suse.com + +- return error when nomissingok is specified and the log path + doesn't exist (bnc#871217) + * added logrotate-fail_if_ENOENT_and_nomissingok.patch + +------------------------------------------------------------------- +Thu Nov 7 21:57:31 UTC 2013 - sweet_f_a@gmx.de + +- enable acl support to preserve ACLs during rotation + +------------------------------------------------------------------- +Thu Nov 7 20:26:51 UTC 2013 - sweet_f_a@gmx.de + +- update to 3.8.7, fix bnc#849436 +- Changelog 3.8.7: + * Fixed --force/-f option handling together with "size" directive + (3.8.5 regression). + * Use "logrotate_tmp_t" context for SELinux tests and if this + context does not exist, skip SELinux related tests. +- Changelog 3.8.6 + * Fixed memory corruption caused by rotation directory which + does not exist with "sharedscripts" together with "prerotate" + script. + +------------------------------------------------------------------- +Tue Aug 20 12:53:27 UTC 2013 - vcizek@suse.com + +- install COPYING file (bnc#817870) + +------------------------------------------------------------------- +Thu Aug 1 12:36:57 UTC 2013 - vcizek@suse.com + +- mention in the manpage that = is an allowed separator in the + config file (bnc#831072) + * added logrotate-manpage_config_clarification.patch + +------------------------------------------------------------------- +Thu Jul 25 14:19:48 UTC 2013 - vcizek@suse.com + +- update to 3.8.5 + * dropped logrotate-3.7.9-compressoptions.patch (upstream) + * refreshed other patches + Changelog: + - Improved rotation during daylight saving time and between timezone + changes. + - Fixed ACL setting problem caused by ext3 erroneously reporting ENOSYS + instead of ENOSUP. + - Do not continue with rotation if state file is corrupted. + - Make logrotate.status creation atomic. + - Allow "hourly" rotation. See manpage for more information. + - Use "/bin/echo" in tests. Fixes tests execution in Dash. + - Do no try to parse config files bigger than 16MB. + - Improved manpage consistency and formatting. + - Fix race condition between acl_set_fd() and fchmod(). + - Added --version command line option + - Disable ACL tests if logrotate is not compiled WITH_ACL support or if + ACLs are not supported by the system running tests + - Disable SELinux tests if logrotate is not compiled WITH_SELINUX support + or if SELinux is not supported by the system running tests + - Fixed bug which prevented skipping particular log file config + if the config contained errors. + - Fixed skipping of configs containing firstaction/lastaction scripts + with '}' character in case of error before these scripts. + - Support also 'K' unit for *size directives. + - Added preremove option to let admin to do something with the old logs + before they are removed by logrotate. + - Fixed possible loop in tabooext parsing. + - Move code to set SELinux context before compressLogFile calls to create + compressed log files with the proper context. + - Call prerotate/postrotate script only for really rotated files in + nosharedscripts mode (as stated in man page). + - Fixed setting "size" bigger than 4GB on 32bit architectures + - Do not overwrite mode set by "create" option when using ACL. "create" + directive is now not mixed up with ACLs. If you use "create" in config + file and log file has some ACLs set, ACLs are not kept and are + overwritten by the mode set in "create" directive. + - Mode argument in "create" directive can be omitted. Only owner and group + is set in this case. Check man page for more info. + - show error and ignore config if '{' is not present after log files + declaration + - support whitespaces in compressoptions directive + - support for tilde expansion in config files + - 'su' directive does not affect script execution - scripts + are executed as a root if 'su' directive is present + - fixed mail sending for 'mailfirst', 'dateext' and 'delaycompress' + combination + - do not use gzip/gunzip from /usr/local on Solaris + - add O_NOFOLLOW when opening files as safeguard against symlink tricks. + Symlinks rotation is now officially unsupported. It didn't work + as expected in the past anyway. + - do not run external programs with uid != euid + - fixed potential bad-free when ACL is used + - Do not include alloca.h on NetBSD, since alloca() is declared in + stdlib.h there + +------------------------------------------------------------------- +Tue Apr 16 08:23:18 UTC 2013 - mmeister@suse.com + +- Added url as source. + Please see http://en.opensuse.org/SourceUrls + +------------------------------------------------------------------- +Fri Sep 30 15:34:40 UTC 2011 - uli@suse.com + +- cross-build fix: use %__cc macro + +------------------------------------------------------------------- +Wed Sep 7 14:30:29 UTC 2011 - vcizek@suse.com + +- update to 3.8.1 +- dropped CVE patches as they were merged to upstream +- changelog + - fixed 1 memory leak in prerotateSingleLog + - do not redirect logrotate errors to /dev/null in cron script + - fixed "size" directive parsing + - handle situation when acl_get_fd is supported, but acl_set_fd is not + - added "maxsize" directive (see man page) + - added "dateyesterday" option (see man page) + - fixed crash when config file had exactly 4096*N bytes + - added WITH_ACL make option to link against -lacl and preserve ACLs + during rotation + - added "su" option to define user/group for rotation. Logrotate now + skips directories which are world writable or writable by group + which is not "root" unless "su" directive is used. + - fixed CVE-2011-1098: race condition by creation of new files + - fixed possible shell injection when using "shred" directive (CVE-2011-1154) + - fixed escaping of file names within 'write state' action (CVE-2011-1155) + - better 'size' directive description + - fixed possible buffer-overflow when reading config files + +------------------------------------------------------------------- +Wed Sep 7 12:51:41 UTC 2011 - vcizek@suse.com + +- allow whitespace separated options in compressoptions (bnc#711780) + +------------------------------------------------------------------- +Mon Jul 25 10:25:56 UTC 2011 - jengelh@medozas.de + +- Change compression scheme to xz + +------------------------------------------------------------------- +Tue May 10 14:23:08 UTC 2011 - puzel@novell.com + +- add logrotate-CVE-2011-1098.patch (bnc#677336) +- add logrotate-shred-CVE-2011-1154.patch (bnc#679661) +- add logrotate-CVE-2011-1155.patch (bnc#679662) +- use spec-cleaner + +------------------------------------------------------------------- +Thu Nov 18 12:44:55 UTC 2010 - lnussel@suse.de + +- also rotate /var/log/btmp + +------------------------------------------------------------------- +Tue Sep 14 13:01:46 UTC 2010 - puzel@novell.com + +- use proper syslog facility/priority in logrotate cron + script (bnc#636236) + +------------------------------------------------------------------- +Tue Aug 17 15:29:49 UTC 2010 - puzel@novell.com + +- update to logrotate-3.7.9 + - don't copy config files on the stack -- mmap them instead + (fixes segfaults with too large/invalid config files) + - symlinked conf file man page as requested by Fedora guidelines + - added rotating (copying) non-writable, readable files + - fixed missingok problem with globs + - fixed bug when log files could be removed even there was + some error in rotation process. + - allow setting size greater than 4.2GB in configuration file + - pass currently rotated file to postrotate/prerotate script + in nosharedscripts mode + - added new TabooExts: ".disabled", ".dpkg-old", ".dpkg-dist", + ".dpkg-new", ".cfsaved", ".ucf-old", ".ucf-dist", ".ucf-new" + - Don't change utime atime/mtime when compressing files + - Better *rotate scripts parser. + - Allow 'include' directive in log file definitions +- merge logrotate-3.7.8-cron-check-for-another-instance.patch into + logrotate-3.7.8-suse.patch +- add logrotate-rpmlintrc: suppress false-positive rpmlint warning + +------------------------------------------------------------------- +Sun Dec 20 16:30:04 CET 2009 - jengelh@medozas.de + +- enable parallel build + +------------------------------------------------------------------- +Fri Mar 6 15:31:04 CET 2009 - puzel@suse.cz + +- update to 3.7.8 + - do not exit on status file errors + - limit config file inclusion nesting + - use hashes for status file handling + - dateformat to allow unixtime + - manual page corrections +- drop hashes patch (upstream) + +------------------------------------------------------------------- +Wed Dec 10 19:48:49 CET 2008 - schwab@suse.de + +- Fix compresscmd default. + +------------------------------------------------------------------- +Tue Oct 21 15:16:03 CEST 2008 - puzel@suse.cz + +- logrotate-3.7.7-hashes.patch (bnc#415072) + +------------------------------------------------------------------- +Tue Sep 30 13:17:04 CEST 2008 - puzel@suse.cz + +- use chekcproc in logrotate.cron script instead of pgrep (bnc#426162) + +------------------------------------------------------------------- +Wed Sep 3 11:20:54 CEST 2008 - puzel@suse.cz + +- update to 3.7.7 + - dateformat + - fix possible buffer overflows in strings handling + - change logInfo handling + - fix compile warnings + - tabooext honor wildcards + - fix selinux support with dateext + - various minor bugfixes +- removed logrotate-3.7.5-errorHandling.patch, logrotate-3.7.5-shred.patch, + logrotate-3.7.5-cfengine.patch, logrotate-3.7.5-date.patch, + logrotate-3.7.5-logfn.patch + - merged to upstream + +------------------------------------------------------------------- +Mon Aug 25 15:08:14 CEST 2008 - prusnak@suse.cz + +- enabled SELinux support [Fate#303662] + +------------------------------------------------------------------- +Wed Aug 20 11:05:19 CEST 2008 - puzel@suse.cz + +- added logrotate-3.7.5-cron-check-for-another-instance.patch + - cronjob exits immediately if there is another logrotate instance + running + - fixes (bnc#415072) + +------------------------------------------------------------------- +Thu Aug 14 17:36:08 CEST 2008 - puzel@suse.cz + +- fix rpmlint warnings: + - make test moved to %check section + - require cron + +------------------------------------------------------------------- +Thu Jan 31 14:08:47 CET 2008 - ro@suse.de + +- log error if target file already exists + (upgrade from MESS_DEBUG to MESS_ERROR) + +------------------------------------------------------------------- +Wed Oct 31 18:01:58 CET 2007 - ro@suse.de + +- added bzip2 as dependency since it's used as default compressor + (#334555) + +------------------------------------------------------------------- +Thu Aug 16 15:33:29 CEST 2007 - ro@suse.de + +- update to 3.7.5 with some bugfixes containing: + - 251040 config option size not handled correctly +- added the current fedora patchkit which adds shred support + +------------------------------------------------------------------- +Mon Aug 7 18:07:58 CEST 2006 - ro@suse.de + +- try adding new option "addextension" which provides what + some users expected the old "extension" keyword to do + +------------------------------------------------------------------- +Wed Jun 21 12:40:30 CEST 2006 - ro@suse.de + +- update to 3.7.4 + - adds the "minsize" option +- clean up comments in sample logrotate.conf (#183440) + +------------------------------------------------------------------- +Wed Jan 25 21:37:59 CET 2006 - mls@suse.de + +- converted neededforbuild to BuildRequires + +------------------------------------------------------------------- +Wed Jan 11 19:05:18 CET 2006 - ro@suse.de + +- fixed segfault in autoext patch (#142021) + +------------------------------------------------------------------- +Fri Dec 9 14:58:46 CET 2005 - ro@suse.de + +- updated to 3.7.3 +- removed upstreamed patches +- added autoext patch for determining file extension + from used compression program + +------------------------------------------------------------------- +Tue Oct 18 12:42:16 CEST 2005 - ro@suse.de + +- update to upstream patchkit + +------------------------------------------------------------------- +Tue Oct 11 02:19:17 CEST 2005 - ro@suse.de + +- update to 3.7.2 and some upstream patches + +------------------------------------------------------------------- +Tue Oct 11 01:41:53 CEST 2005 - ro@suse.de + +- fix else case in maxage patch (thanks to pvrabec) + +------------------------------------------------------------------- +Tue Jul 26 16:26:57 CEST 2005 - ro@suse.de + +- added noTMPDIR and selinux patches + +------------------------------------------------------------------- +Fri May 20 00:28:58 CEST 2005 - ro@suse.de + +- update to 3.7.1 + +------------------------------------------------------------------- +Wed Apr 20 17:12:50 CEST 2005 - ro@suse.de + +- cron-script: give some more details when things fail + +------------------------------------------------------------------- +Mon Sep 6 17:44:42 CEST 2004 - ro@suse.de + +- changed patch sequence, simple ones first +- added one-liner fix from cvs +- fix mail call +- fix uninitialized variable when mailing out first rotation +- fix number of logs kept with dateext + +------------------------------------------------------------------- +Thu Mar 25 16:40:34 CET 2004 - ro@suse.de + +- adapted logger path (#36947) + +------------------------------------------------------------------- +Mon Feb 23 15:58:48 CET 2004 - ro@suse.de + +- update to version 3.7 + +------------------------------------------------------------------- +Fri Oct 17 11:51:01 CEST 2003 - ro@suse.de + +- don't build as root +- use defattr + +------------------------------------------------------------------- +Mon Oct 13 16:19:27 CEST 2003 - ro@suse.de + +- updated to 3.6.10 and ported patches + +------------------------------------------------------------------- +Thu Jun 12 11:14:24 CEST 2003 - kukuk@suse.de + +- /etc/logrotate.d is part of filesystem + +------------------------------------------------------------------- +Thu Jan 23 01:47:13 CET 2003 - ro@suse.de + +- update to 3.6.6 (some tmpfile fixes, new options supported) +- remove system-config /etc/logrotate.d/aaa_base and all code + messing with it (all logrotate configs have been moved to + their respective packages) +- add /etc/logrotate.d/wtmp + +------------------------------------------------------------------ +Thu Jan 23 00:34:41 CET 2003 - ro@suse.de + +- remove mgetty logfiles + +------------------------------------------------------------------- +Mon Jan 20 18:13:36 CET 2003 - ro@suse.de + +- remove i4l logfiles + +------------------------------------------------------------------- +Thu Jan 16 00:00:40 CET 2003 - ro@suse.de + +- removed xdm logfile from main config (in XFree86 now) + +------------------------------------------------------------------- +Wed Jan 15 15:12:06 CET 2003 - ro@suse.de + +- removed more files from main config and moved to their packages + +------------------------------------------------------------------- +Mon Nov 11 00:23:01 CET 2002 - ro@suse.de + +- fix deprecated multiline string literals + +------------------------------------------------------------------- +Mon Oct 14 12:30:53 CEST 2002 - ro@suse.de + +- remove postgresql logfile from config on update (#20860) + +------------------------------------------------------------------- +Mon Oct 14 11:24:50 CEST 2002 - ro@suse.de + +- moved syslog logrotation config to syslogd package + +------------------------------------------------------------------- +Mon Sep 23 15:41:35 CEST 2002 - ro@suse.de + +- mark logrotate.del as missingok + +------------------------------------------------------------------- +Mon Sep 9 15:05:11 CEST 2002 - ro@suse.de + +- remove handling of /var/account/pacct (moved to acct package) + +------------------------------------------------------------------- +Fri Aug 16 11:20:47 CEST 2002 - ro@suse.de + +- dropped insserv from prereq (not used) + +------------------------------------------------------------------- +Mon Aug 5 08:57:21 CEST 2002 - kukuk@suse.de + +- Add rm and mv to PreRequires + +------------------------------------------------------------------- +Wed Jul 31 00:47:28 CEST 2002 - ro@suse.de + +- fixed typo in specfile +- added comment in config-file about bzip2 usage + +------------------------------------------------------------------- +Mon Jul 29 17:53:09 CEST 2002 - ro@suse.de + +- removed fetchmail logrotate entry (#17279) + +------------------------------------------------------------------- +Mon Jul 29 16:24:17 CEST 2002 - ro@suse.de + +- removed apache,smail,perforce,abuild components +- remove old entries also from logrotate.d/aaa_base on update + +------------------------------------------------------------------- +Mon Jul 29 14:32:24 CEST 2002 - ro@suse.de + +- squid components removed (done in squid package now) (#17278) + +------------------------------------------------------------------- +Fri Jul 19 16:23:39 CEST 2002 - gd@suse.de + +- fixed samba log paths + +------------------------------------------------------------------- +Fri Jul 12 13:49:04 CEST 2002 - kukuk@suse.de + +- Fix post-install script for the case that there is no rc.config + +------------------------------------------------------------------- +Mon Jun 24 14:00:30 CEST 2002 - ro@suse.de + +- fixed squid log paths (#16557) + +------------------------------------------------------------------- +Wed May 8 23:27:09 CEST 2002 - ro@suse.de + +- uucp-logfiles are handled by own config + +------------------------------------------------------------------- +Mon Mar 18 23:26:12 CET 2002 - ro@suse.de + +- don't rotate any file for /var/log/news.* + +------------------------------------------------------------------- +Fri Mar 1 00:13:07 CET 2002 - ro@suse.de + +- don't overwrite logfiles with dateext if run more than once + a day (partial solution for #13202) + +------------------------------------------------------------------- +Mon Feb 25 14:29:46 CET 2002 - ro@suse.de + +- install etc_logfiles as 644 + +------------------------------------------------------------------- +Tue Feb 19 00:24:25 CET 2002 - ro@suse.de + +- removed yast from logrotate.d + +------------------------------------------------------------------- +Sat Feb 16 12:50:25 CET 2002 - ro@suse.de + +- removed postgresql logfile (handled by package) + +------------------------------------------------------------------- +Mon Jan 7 00:13:27 CET 2002 - ro@suse.de + +- take wtmp out of default config + +------------------------------------------------------------------- +Fri Dec 14 15:00:17 CET 2001 - ro@suse.de + +- really remove old variable from rc.config + +------------------------------------------------------------------- +Wed Dec 12 13:51:59 CET 2001 - ro@suse.de + +- mark files in /etc/logrotate.d as noreplace + +------------------------------------------------------------------- +Tue Dec 11 01:43:54 CET 2001 - ro@suse.de + +- implement maxage if dateext is not used +- uncompress log for mail if maillast is used + +------------------------------------------------------------------- +Mon Dec 10 14:01:53 CET 2001 - ro@suse.de + +- added etc_logfiles as reminder to sources +- moved convert script into postinstall and try to find + old etc/logfiles and use etc_logfiles as fallback +- added yast and syslog to /etc/logrotate.d as config files + +------------------------------------------------------------------- +Mon Dec 10 01:24:03 CET 2001 - ro@suse.de + +- added maxage extension + +------------------------------------------------------------------- +Thu Dec 6 12:44:14 CET 2001 - ro@suse.de + +- split patches for purpose + +------------------------------------------------------------------- +Tue Dec 4 17:52:14 CET 2001 - ro@suse.de + +- archiving option changed to "dateext" and + works completely transparent otherwise + +------------------------------------------------------------------- +Tue Nov 27 02:05:26 CET 2001 - ro@suse.de + +- added multiple rotation criteria can be selected at one time +- added/completed implementation for days (max days) + +------------------------------------------------------------------- +Mon Nov 26 18:11:14 CET 2001 - ro@suse.de + +- added archiving option +- added script to convert /etc/logfiles + +------------------------------------------------------------------- +Tue Nov 13 11:59:20 CET 2001 - ro@suse.de + +- initial package for SuSE Linux (version 3.5.9) + diff --git a/logrotate.default b/logrotate.default new file mode 100644 index 0000000..5877043 --- /dev/null +++ b/logrotate.default @@ -0,0 +1,23 @@ +# see "man logrotate" for details +# rotate log files weekly +weekly + +# keep 4 weeks worth of backlogs +rotate 4 + +# create new (empty) log files after rotating old ones +create + +# use date as a suffix of the rotated file +dateext + +# uncomment this if you want your log files compressed +compress + +# comment these to switch compression to use gzip or another +# compression scheme +compresscmd /usr/bin/xz +uncompresscmd /usr/bin/xzdec + +# Additinal location (directory or file) for rotation information +# include diff --git a/logrotate.keyring b/logrotate.keyring new file mode 100644 index 0000000..f3fd59f --- /dev/null +++ b/logrotate.keyring @@ -0,0 +1,52 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- + +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 +lwvfpMesuQ== +=XhUt +-----END PGP PUBLIC KEY BLOCK----- diff --git a/logrotate.service b/logrotate.service new file mode 100644 index 0000000..8ab8b81 --- /dev/null +++ b/logrotate.service @@ -0,0 +1,35 @@ +[Unit] +Description=Rotate log files +Documentation=man:logrotate(8) man:logrotate.conf(5) +RequiresMountsFor=/var/log +ConditionACPower=true + +[Service] +Type=oneshot +ExecStart=/usr/sbin/logrotate-all + +# performance options +Nice=19 +IOSchedulingClass=best-effort +IOSchedulingPriority=7 +Environment=HOME=/root + +# hardening options +# details: https://www.freedesktop.org/software/systemd/man/systemd.exec.html +# no ProtectHome for userdir logs +# no PrivateNetwork for mail deliviery +# no NoNewPrivileges for third party rotate scripts +# no RestrictSUIDSGID for creating setgid directories +LockPersonality=true +MemoryDenyWriteExecute=true +PrivateDevices=true +PrivateTmp=true +ProtectClock=true +ProtectControlGroups=true +ProtectHostname=true +ProtectKernelLogs=true +ProtectKernelModules=true +ProtectKernelTunables=true +ProtectSystem=full +RestrictNamespaces=true +RestrictRealtime=true diff --git a/logrotate.spec b/logrotate.spec new file mode 100644 index 0000000..5b0a292 --- /dev/null +++ b/logrotate.spec @@ -0,0 +1,113 @@ +# +# spec file for package logrotate +# +# Copyright (c) 2023 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +%{!?_distconfdir: %global _distconfdir %{_prefix}%{_sysconfdir}} + +Name: logrotate +Version: 3.21.0 +Release: 0 +Summary: Cron service for rotating, compressing, mailing and removing system log files +License: GPL-2.0-or-later +Group: System/Base +URL: https://github.com/logrotate/logrotate +Source0: https://github.com/%{name}/%{name}/releases/download/%{version}/%{name}-%{version}.tar.xz +# SUSE specific logrotate configurations +Source1: logrotate.wtmp +Source2: logrotate.default +Source3: logrotate.service +Source4: logrotate-all +Source10: https://github.com/%{name}/%{name}/releases/download/%{version}/%{name}-%{version}.tar.xz.asc +Source11: logrotate.keyring +BuildRequires: acl +BuildRequires: automake +BuildRequires: libacl-devel +BuildRequires: pkgconfig +BuildRequires: pkgconfig(libselinux) +BuildRequires: pkgconfig(popt) +BuildRequires: pkgconfig(systemd) >= 197 +Requires: %{_bindir}/xz +%{?systemd_ordering} + +%description +The logrotate utility does automatic rotation, compression, mailing and removal +of log files. Logrotate can be set to handle a log file daily, weekly, monthly, +or when the log file reaches a certain size. Normally, logrotate runs as a +daily cron job. + +It manages plain files only and is not involved in systemd's journal rotation. + +%prep +%autosetup -p1 + +%build +autoreconf -f -i +%configure \ + --disable-silent-rules \ + --with-state-file-path=%{_localstatedir}/lib/misc/logrotate.status \ + --disable-werror +%make_build + +%check +%make_build check + +%install +%make_install +mkdir -p %{buildroot}%{_distconfdir}/logrotate.d +install -m 644 %{SOURCE1} %{buildroot}%{_distconfdir}/logrotate.d/wtmp +install -m 644 %{SOURCE2} %{buildroot}%{_distconfdir}/logrotate.conf +install -D -m 644 %{SOURCE3} %{buildroot}%{_unitdir}/%{name}.service +install -D -m 755 %{SOURCE4} %{buildroot}%{_sbindir}/logrotate-all +install -D -m 0644 examples/%{name}.timer %{buildroot}%{_unitdir}/%{name}.timer +ln -s service %{buildroot}%{_sbindir}/rc%{name} + +%pre +#only the timer can be enabled/disabled/masked ! +%service_add_pre %{name}.service %{name}.timer + +%post +%{remove_and_set MAX_DAYS_FOR_LOG_FILES} +# Move /var/lib/logrotate.status +if [ -f %{_localstatedir}/lib/logrotate.status -a ! -f %{_localstatedir}/lib/misc/logrotate.status ]; then + mv %{_localstatedir}/lib/logrotate.status %{_localstatedir}/lib/misc/logrotate.status ||: +fi + +%service_add_post %{name}.service %{name}.timer + +%preun +%service_del_preun %{name}.service %{name}.timer + +%postun +%service_del_postun %{name}.service %{name}.timer + +%files +%if %{?suse_version} <= 1500 +%dir %{_distconfdir} +%endif +%license COPYING +%doc ChangeLog.md README.md +%{_sbindir}/logrotate +%{_sbindir}/logrotate-all +%{_sbindir}/rc%{name} +%{_mandir}/man8/logrotate.8%{?ext_man} +%{_mandir}/man5/logrotate.conf.5%{?ext_man} +%{_distconfdir}/logrotate.conf +%{_distconfdir}/logrotate.d/wtmp +%{_unitdir}/%{name}.service +%{_unitdir}/%{name}.timer + +%changelog diff --git a/logrotate.wtmp b/logrotate.wtmp new file mode 100644 index 0000000..538e3c4 --- /dev/null +++ b/logrotate.wtmp @@ -0,0 +1,10 @@ +/var/log/wtmp /var/log/btmp { + compress + dateext + maxage 365 + rotate 99 + size=+400k + notifempty + missingok + copytruncate +}