Hi Paul, in Ubuntu we consider this a release critical bug, because a single glob failure in any configuration file can break the entire logrotate system. Thus we applied a quick hack (thanks to Jean-Baptiste Lallement) which works around the problem. syslog will stil get the glob errors, but at least the following logrotate.d files will be processed. This kind of breaks "nomissingok", but I don't think that it was ever intended to break the *entire* log rotation, it should just stop the current config file.
I think it's appropriate for Lenny as well, but that's your call, of course. Thank you, Martin -- Martin Pitt | http://www.piware.de Ubuntu Developer (www.ubuntu.com) | Debian Developer (www.debian.org)
diff -u logrotate-3.7.1/debian/changelog logrotate-3.7.1/debian/changelog --- logrotate-3.7.1/debian/changelog +++ logrotate-3.7.1/debian/changelog @@ -1,3 +1,14 @@ +logrotate (3.7.1-3ubuntu2) intrepid; urgency=low + + * Add debian/patches/glob-failure.patch: Prevent logrotate from failing + completely if one glob in any included file fails. This more or less + behaves like an implied # "missingok" now, which isn't correctly parsed in + the current version. Fixing it properly is a very intrusive change. + (LP: #256891) Thanks to Jean-Baptiste Lallement for analyzing the problem + and proposing the patch! + + -- Martin Pitt <[EMAIL PROTECTED]> Wed, 08 Oct 2008 13:59:23 +0200 + logrotate (3.7.1-3ubuntu1) intrepid; urgency=low * Drop mailx to Suggests for Ubuntu; it's only used on request, and we diff -u logrotate-3.7.1/debian/patches/series logrotate-3.7.1/debian/patches/series --- logrotate-3.7.1/debian/patches/series +++ logrotate-3.7.1/debian/patches/series @@ -24,0 +25 @@ +glob-failure.patch only in patch2: unchanged: --- logrotate-3.7.1.orig/debian/patches/glob-failure.patch +++ logrotate-3.7.1/debian/patches/glob-failure.patch @@ -0,0 +1,19 @@ +# Prevent logrotate from failing completely if one glob in any +# included file fails. This more or less behaves like an implied +# "missingok" now, which isn't correctly parsed in the current +# version. +# Ubuntu: https://bugs.launchpad.net/bugs/256891 +# Debian: http://bugs.debian.org/277652 +Index: logrotate-3.7.1/config.c +=================================================================== +--- logrotate-3.7.1.orig/config.c 2008-10-08 13:56:36.000000000 +0200 ++++ logrotate-3.7.1/config.c 2008-10-08 13:56:45.000000000 +0200 +@@ -968,7 +968,7 @@ + + message(MESS_ERROR, "%s:%d glob failed for %s\n", + configFile, lineNum, argv[argNum]); +- return 1; ++ continue; + } + + newlog->files = realloc(newlog->files, sizeof(*newlog->files) *
signature.asc
Description: Digital signature

