diff --git a/logrotate-3.8.0-handle-acl-not-supported.patch b/logrotate-3.8.0-handle-acl-not-supported.patch new file mode 100644 index 0000000..913f2df --- /dev/null +++ b/logrotate-3.8.0-handle-acl-not-supported.patch @@ -0,0 +1,67 @@ +Index: logrotate.c +=================================================================== +--- logrotate.c (revision 335) ++++ logrotate.c (working copy) +@@ -410,13 +410,15 @@ + } + if (prev_acl) { + if (acl_set_fd(outFile, prev_acl) == -1) { +- message(MESS_ERROR, "setting ACL for %s: %s\n", +- compressedName, strerror(errno)); +- acl_free(prev_acl); +- prev_acl = NULL; +- close(inFile); +- close(outFile); +- return 1; ++ if (errno != ENOTSUP) { ++ message(MESS_ERROR, "setting ACL for %s: %s\n", ++ compressedName, strerror(errno)); ++ acl_free(prev_acl); ++ prev_acl = NULL; ++ close(inFile); ++ close(outFile); ++ return 1; ++ } + } + acl_free(prev_acl); + prev_acl = NULL; +@@ -624,14 +626,16 @@ + } + #ifdef WITH_ACL + if (prev_acl) { +- if (acl_set_fd(fdsave, prev_acl) == -1) { +- message(MESS_ERROR, "setting ACL for %s: %s\n", +- saveLog, strerror(errno)); +- acl_free(prev_acl); +- prev_acl = NULL; +- close(fdsave); +- close(fdcurr); +- return 1; ++ if ((fdsave, prev_acl) == -1) { ++ if (errno != ENOTSUP) { ++ message(MESS_ERROR, "setting ACL for %s: %s\n", ++ saveLog, strerror(errno)); ++ acl_free(prev_acl); ++ prev_acl = NULL; ++ close(fdsave); ++ close(fdcurr); ++ return 1; ++ } + } + acl_free(prev_acl); + prev_acl = NULL; +@@ -1331,9 +1335,11 @@ + #ifdef WITH_ACL + if (prev_acl) { + if (acl_set_fd(fd, prev_acl) == -1) { +- message(MESS_ERROR, "setting ACL for %s: %s\n", +- log->files[logNum], strerror(errno)); +- hasErrors = 1; ++ if (errno != ENOTSUP) { ++ message(MESS_ERROR, "setting ACL for %s: %s\n", ++ log->files[logNum], strerror(errno)); ++ hasErrors = 1; ++ } + } + acl_free(prev_acl); + prev_acl = NULL; diff --git a/logrotate.spec b/logrotate.spec index 0718467..ad39fbe 100644 --- a/logrotate.spec +++ b/logrotate.spec @@ -1,12 +1,13 @@ Summary: Rotates, compresses, removes and mails system log files Name: logrotate Version: 3.8.0 -Release: 2%{?dist} +Release: 3%{?dist} License: GPL+ Group: System Environment/Base Url: https://fedorahosted.org/logrotate/ Source: https://fedorahosted.org/releases/l/o/logrotate/logrotate-%{version}.tar.gz Patch0: logrotate-3.8.0-no-cron-redirection.patch +Patch1: logrotate-3.8.0-handle-acl-not-supported.patch Requires: coreutils >= 5.92 libsepol libselinux popt libacl BuildRequires: libselinux-devel popt-devel libacl-devel @@ -27,6 +28,7 @@ log files on your system. %setup -q %patch0 -p1 +%patch1 %build make %{?_smp_mflags} RPM_OPT_FLAGS="$RPM_OPT_FLAGS" WITH_SELINUX=yes WITH_ACL=yes @@ -57,6 +59,10 @@ rm -rf $RPM_BUILD_ROOT %attr(0644, root, root) %verify(not size md5 mtime) %config(noreplace) %{_localstatedir}/lib/logrotate.status %changelog +* Wed Aug 01 2011 Jan Kaluza 3.8.0-3 +- fix #726980 - work properly when acl_get_fd is supported, + but acl_set_fd is not + * Wed Jul 20 2011 Jan Kaluza 3.8.0-2 - fix #722825 - do not redirect logrotate output in cron script