SHA256
1
0
forked from pool/logrotate

Accepting request 1060789 from Base:System

OBS-URL: https://build.opensuse.org/request/show/1060789
OBS-URL: https://build.opensuse.org/package/show/openSUSE:Factory/logrotate?expand=0&rev=75
This commit is contained in:
Dominique Leuenberger 2023-01-26 12:56:49 +00:00 committed by Git OBS Bridge
commit f68d5e34b9
11 changed files with 132 additions and 111 deletions

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:742f6d6e18eceffa49a4bacd933686d3e42931cfccfb694d7f6369b704e5d094
size 166712

View File

@ -1,16 +0,0 @@
-----BEGIN PGP SIGNATURE-----
iQIzBAABCAAdFiEEmSqW4HUFbnnNghT5hz2zdXKjezYFAmKOSz8ACgkQhz2zdXKj
ezZHew/+Oc/4nfltNNFkK1FPmkfqNrehh69ho0AXDoR4Wtocyz9RTPL8Llfm4gEd
As1vzySNbUoGTJfDdnrhHZbBkrcLknZ8di8lQu9hkh/n7jB83ZxOFrUQv1bt2xbJ
W+Y3shL4X3TMdVkvsmH0o4VyMEJYcPMbuAUuLwPhRYTwgNCgwhSdb2xyYbsKyFYU
mnrmqeYIy4sXtAv+JPZLogBXmhx9ZbKV4qBY9zPlwvXaKyqJu47bgoUcEH9Kf54C
8f9k48+vJ8iyK3j4IAAjXqR/x+GCPQU0Px2Ft4KgFIMoC94IsUwEJQlZ08yzBL7s
ohoJJ/+9rjJI45t1JYRYmPEcGj1CaB05CbwJOOEk+x4AfzkZj6dZ0vm8M7Ux6PNb
eph/rOyEeAVxkUP17BdA9GmUTBgCM7nI4yFtXdY73qgMWBOUJR8iKbVqvL7/ke+7
rpTg7qp5VRFOQ1uEyRxAnqpfNZJ5asnj0PV5jxydN6chpg95fb/Q15ycydHXI+XD
LE7lLN0HhhMJTh5zttYFmoZzJ4EaO3F5WstTaKMu8s1/oOeEec1mfCnUgxM1K24V
acHOJEf8XQsz1vBVU3tQcuWQqYt7WMHzO9Rj3Nqs9/lDpHRfXAczuFkmGTO1EA1w
UaK2cdAgT2TfNfMmvKyYTWzIVFviF/A25jFK+eGDDL0rkh1DorI=
=M/va
-----END PGP SIGNATURE-----

BIN
logrotate-3.21.0.tar.xz (Stored with Git LFS) Normal file

Binary file not shown.

View File

@ -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-----

28
logrotate-all Normal file
View File

@ -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

View File

@ -1 +0,0 @@
addFilter(".*incoherent-logrotate-file /etc/logrotate.d/wtmp")

View File

@ -1,74 +0,0 @@
diff -Naur logrotate-3.20.1.org/config.c logrotate-3.20.1.patch/config.c
--- logrotate-3.20.1.org/config.c 2022-05-24 17:20:14.000000000 +0200
+++ logrotate-3.20.1.patch/config.c 2022-09-14 12:48:02.293003630 +0200
@@ -1847,11 +1847,19 @@
for (k = 0; k < log->numFiles; k++) {
if (!strcmp(log->files[k],
globResult.gl_pathv[glob_count])) {
- message(MESS_ERROR,
+#ifdef ENABLE_VENDORDIR
+ message(MESS_DEBUG,
+ "%s:%d duplicate log entry for %s --> ignoring\n",
+ configFile, lineNum,
+ globResult.gl_pathv[glob_count]);
+ state = STATE_SKIP_CONFIG;
+#else
+ message(MESS_ERROR,
"%s:%d duplicate log entry for %s\n",
configFile, lineNum,
globResult.gl_pathv[glob_count]);
- logerror = 1;
+ logerror = 1;
+#endif
goto duperror;
}
}
diff -Naur logrotate-3.20.1.org/configure.ac logrotate-3.20.1.patch/configure.ac
--- logrotate-3.20.1.org/configure.ac 2021-07-27 10:25:23.000000000 +0200
+++ logrotate-3.20.1.patch/configure.ac 2022-09-14 13:49:13.052981225 +0200
@@ -58,6 +58,14 @@
AS_IF([test "$ac_cv_lib_acl_acl_get_file" = yes],
echo "1" > ./test/test.ACL; WITH_ACL="yes";, echo "0" > ./test/test.ACL;)
+AC_ARG_ENABLE([vendordir],
+ AS_HELP_STRING([--enable-vendordir],[ignore redefined logs; prefering user defined logs defintions]))
+
+if test x"$enable_vendordir" = x"yes" ; then
+ AC_DEFINE([ENABLE_VENDORDIR],,
+ [ignore redefined logs; prefering user defined logs defintions])
+fi
+
DEFAULT_MAIL_COMMAND="/bin/mail"
COMPRESS_COMMAND="/bin/gzip"
UNCOMPRESS_COMMAND="/bin/gunzip"
diff -Naur logrotate-3.20.1.org/logrotate.8.in logrotate-3.20.1.patch/logrotate.8.in
--- logrotate-3.20.1.org/logrotate.8.in 2022-03-31 14:00:36.000000000 +0200
+++ logrotate-3.20.1.patch/logrotate.8.in 2022-09-14 13:06:32.116996856 +0200
@@ -48,6 +48,17 @@
is given on the command line, every file in that directory is used as
a config file.
.P
+If \fBlogrotate\fR is called via \fBsystemd\fR(1), following order of
+parsed config files is defined in the \fIlogrotate.service\fR file:
+.TS
+tab(:);
+l l l.
+\fI/usr/etc/logrotate.conf\fR:Default configuration file defined by the vendor.
+\fI/usr/etc/logrotate.d/*\fR:Directory for additional configuration files defined by the vendor.
+\fI/etc/logrotate.conf\fR:Default configuration file defined by the administrator. (optional)
+\fI/etc/logrotate.d/*\fR:Directory for additional configuration files defined by the administrator. (optional)
+.TE
+.P
If no command line arguments are given, \fBlogrotate\fR will print
version and copyright information, along with a short usage summary. If
any errors occur while rotating logs, \fBlogrotate\fR will exit with
@@ -752,7 +763,8 @@
tab(:);
l l l.
\fI@STATE_FILE_PATH@\fR:Default state file.
-\fI/etc/logrotate.conf\fR:Configuration options.
+\fI/usr/etc/logrotate.conf\fR:Configuration options defined by the vendor.
+\fI/etc/logrotate.conf\fR:Configuration options defined by the administrator.
.TE

View File

@ -1,3 +1,27 @@
-------------------------------------------------------------------
Tue Jan 24 07:53:00 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- 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 <fvogt@suse.com>
- 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 <schubi@suse.com>

52
logrotate.keyring Normal file
View File

@ -0,0 +1,52 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQINBFgjU54BEACwGTSIP9AVBahlfv/y4snLRvlU4UWWqn8bxjh/GFTVs+l8gqOD
3dT9AhbnMWfvr94nA6dXVVx8t8akn3ybVLKeii3vOSel8ayAnIXYjtowPh/TlheO
BSo4EcVo0IFLtiUhC0XHMngITkr6mGphzKOAjS5Kur1j09tawhWMtgeDWw9dZnvc
mH7f03mwvFv49YYqztaKcGvWlrLjj1O18Un5euGx18L+udG3RfeWMpzinwvcv2n7
sH45FVqH6wu/okOJkXShsD883NRlz652knvzuUZNqcc+l/uNm8FVB8hH7qvKJu7P
v1HpNSYlLqRpAREepYxdb/KJEJ5X3EoczLHM1zugB6cRi9REQ5rt1dqS8VOn5Svw
v4OZZUjZf/LvAB3KOl5RI40pa8zAI/ymxTZ6qZzFOp7u8XEy3GzURrYBMKJIW03Z
E61RI+7SJKr4yeboWSfYJbV6RQJyu8X77H9L0F6O+LHoLSoHIRmkcniwEMwl5THV
tUl9Daxgey+qNq1twLLV6vx8f8eyuPCdeP6ZhhUhOH4sAyh0oGZMHxiNhAFeyRdo
JqTXfgqLX39jwH54eJ3Cbhndwu47glipMO1HQX1XS5Rt7LfEMCTLUGSFW1xljLOI
8d9fExEyTzJMVIsQJoaAvPEX4cfhcAUFQLijPkt29Wvv3WsAIVFEgoLMNwARAQAB
tB9LYW1pbCBEdWRrYSA8a2R1ZGthQHJlZGhhdC5jb20+iQJUBBMBCAA+AhsDBQsJ
CAcCBhUICQoLAgQWAgMBAh4BAheAFiEEmSqW4HUFbnnNghT5hz2zdXKjezYFAl+1
eU8FCQ8W87EACgkQhz2zdXKjezaYpw//UwiegIs8Xe79CERudpz7AM0BbRE6VaAU
QP1dMsTzIUU3HqpRrRfuCLIcbbUb7lCzAmu0SShvrt1ZUY87RXZQDJFsbHneHIKb
wIxIr6bRtwv1+I9A6bIWYDPdjgost4v2O2GdvDegdC6aDFJa6p7uYF3YqR1GvlCN
RC0DPvoZLIaHO7q+9o9WN6pe1OBmHdkzfJue9FmJxUhXGhaFGNQ/E9ahZRWv7D4e
3fxH8B2lqgmLGAYsbMjgiOJFxcbIWMzltIj0hJ1x3ajUdY1B6rLf6QcgXnKJIXVR
Svp0s283PfhnCzoXvKFvBuUaXQfNsW3MnIJFJEWDuy1TzMdK44AmQp8iQTGVIajd
2Wdmxxd54dl3GjuHPXXJZ92DG5H52cC+4TZuM4yH9gvOxwtdIafOSkvtTHYh4POF
piqiM67UG2a8JkW7CKPGFqfrdkM+yOfU31ouHL68q3XIpkB4z1f2w6mscdW2d7AQ
3VLpb+WCeoWRy6HrRYAJZjs78Rea8N9dSzUOI2ac2OUR9Mqp6TMXed6V+6b1ogbI
4I0Ni8562kPFxnjiTUhrcXNroBvQUktkEXjuk5ZOG/fJaL0lN39Cq9ImznCEGuvn
mb+sZ//kH7N5w8tTc3mK4NvQw8LkDyS5LItx1H2Gzybxsl5d0OajJpUY4PZeppjH
rxXke/QpXHq5Ag0EWCNTngEQALkRI0PUaVE9j19uyjINlxb/3nwKHmbTChQzPJFn
adUwbmXfChmK/vyE8XBaIFIWSJ/94W9Y1/aGPlK4my7GqkiS4q6Lf32YWBNqihvH
mxKuIYv2+6Z8E34yRFwmbA20RpZCy7AGIg0/LACfM4Bw+DVUhTRMl2O/muKrxd/O
/WLn30RoYG+D4+mE0xJu+XsHivx2DqvdkKO+Rzo8131ByiWOk6P37McFtYiPjEjh
ztTBcnNjd+a3xB/XDHd1Lcs7GmBqw0X10KnxC8xSzSqGSRFYF1aJYdxhayxXGJz/
p1Dd6mt2eT46rYUGhFWlFH7FXGsWapR8ELY42clcFgGmQ7Yps+dZ6Kx8HnEYKsIY
ONBqjS/dTKSrOMvkCSY0CwiCjKPM5uan5lQ9GMwbEZOQ5dcEVJOiVSfneeYpEjD/
oyapPrDefdsCD5Gvt2kSbDZSDR5GeO8epZ02hu/zMQxDayqdLTxAaDByDVTvRCnc
BLDcpvzXVAUdjIkfzDqZlLRgZu/8oNjOpWypUEE0mQfus6fDOLrt1h/0SqcJar70
mi0QzBlOLrksJerXygDYJus80trCJPbr5DkCy2nQdfaeUissbt4kJTBirhhMtuyZ
bBOQ42qm5pGef74hye1dCUddlBcb/BmIecsQ5a7EegKBDoU6ZsLcs5xnPgNwJa5U
5VstABEBAAGJAjwEGAEIACYCGwwWIQSZKpbgdQVuec2CFPmHPbN1cqN7NgUCX7V5
agUJDxbzzAAKCRCHPbN1cqN7NiVdEACGZX+sMSfpW47ARmsg9EsWh983SafWEi4V
Gp3bRgOM3X4hwp8iFS/jpD8iNQpiRztSAx6s0l2pirAKFiKaaHrarVrYM4lrSoau
J1LeWeAy9jHRstk21Iu/myM8gfBdl9tOlrdv5NhD98tCdE/2hTtOLlZbYboNl+ug
0g/3yM4KPgqXLvVpS3QBoiueTfFoSawb20lZCcDon43BGg+wS/2j7Vu9Q1Dj3fEz
+QV4S7JvMFP6MYV2ITvj3xajXpRkuNG8s76o/u8m2PYQ77sAl+mN446Lp+bwdQeE
s7j79i/2kk+djVDtgTGyRyDD/4drXOMtVKRpxDDp1YOl896cRP4PJWNK8oLlF8IY
ItdhN/UijK6hZoXLyQDK/DQfmTjpGEQTzFCNW8CdwvTSjK7o6lJZtrv4R4rBJ3Sd
kcr9rQO/uGlYblzX70iXQMKpiCb1xo3MBCUFfiq05sTNVzRNVleo9nVf0WhCgnl7
M9Tojh31sra9IzDAy9exga8dD/tvnebYjXYmGXfQyrPAnSSTLSjAQmlNzgx8FM96
WB+XJDJFALy/MV35XKi9c5SLE3hSPEhqrwnTQ5g3jOPrexhUZR6w0qDXVoQH/3p0
vXqQ3yx3yrREeBOW6qhHeYk3w2z7EAg4nNovAHgd68zXE9ZfCAGfWIerZsOuhdHS
lwvfpMesuQ==
=XhUt
-----END PGP PUBLIC KEY BLOCK-----

View File

@ -6,15 +6,7 @@ ConditionACPower=true
[Service]
Type=oneshot
ExecStartPre=/bin/sh -c "/usr/bin/systemctl set-environment etc_conf=" ; \
/bin/sh -c "if [ -f /etc/logrotate.conf ]; then /usr/bin/systemctl set-environment etc_conf=/etc/logrotate.conf; fi" ; \
/bin/sh -c "/usr/bin/systemctl set-environment usr_etc_conf=" ; \
/bin/sh -c "if [ -f /usr/etc/logrotate.conf ]; then /usr/bin/systemctl set-environment usr_etc_conf=/usr/etc/logrotate.conf; fi" ; \
/bin/sh -c "/usr/bin/systemctl set-environment usr_etc_dir=" ; \
/bin/sh -c "if [ -d /usr/etc/logrotate.d ]; then /usr/bin/systemctl set-environment usr_etc_dir=/usr/etc/logrotate.d; fi" ; \
/bin/sh -c "/usr/bin/systemctl set-environment etc_dir=" ; \
/bin/sh -c "if [ -d /etc/logrotate.d ]; then /usr/bin/systemctl set-environment etc_dir=/etc/logrotate.d; fi"
ExecStart=/bin/sh -c "/usr/sbin/logrotate ${usr_etc_conf} ${etc_conf} ${etc_dir} ${usr_etc_dir}"
ExecStart=/usr/sbin/logrotate-all
# performance options
Nice=19

View File

@ -1,7 +1,7 @@
#
# spec file for package logrotate
#
# Copyright (c) 2022 SUSE LLC
# 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
@ -19,7 +19,7 @@
%{!?_distconfdir: %global _distconfdir %{_prefix}%{_sysconfdir}}
Name: logrotate
Version: 3.20.1
Version: 3.21.0
Release: 0
Summary: Cron service for rotating, compressing, mailing and removing system log files
License: GPL-2.0-or-later
@ -30,9 +30,9 @@ Source0: https://github.com/%{name}/%{name}/releases/download/%{version}/
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
Source100: %{name}-rpmlintrc
Patch0: logrotate-vendor-dir.patch
Source11: logrotate.keyring
BuildRequires: acl
BuildRequires: automake
BuildRequires: libacl-devel
@ -52,16 +52,14 @@ daily cron job.
It manages plain files only and is not involved in systemd's journal rotation.
%prep
%setup -q
%autopatch -p1
%autosetup -p1
%build
autoreconf -f -i
%configure \
--disable-silent-rules \
--with-state-file-path=%{_localstatedir}/lib/misc/logrotate.status \
--disable-werror \
--enable-vendordir
--disable-werror
%make_build
%check
@ -73,6 +71,7 @@ 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}
@ -102,6 +101,7 @@ fi
%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}