Debian Bug report logs - #277652
logrotate doesn't work properly when a package is removed

version graph

Package: logrotate; Maintainer for logrotate is Paul Martin <pm@debian.org>; Source for logrotate is src:logrotate (PTS, buildd, popcon).

Reported by: Anand Kumria <wildfire@progsoc.org>

Date: Thu, 21 Oct 2004 14:03:07 UTC

Severity: serious

Tags: patch

Merged with 320742, 366337, 391439, 444391

Found in versions 3.7-2, 3.7.1-3, logrotate/3.7-5

Fixed in version logrotate/3.7.1-5

Done: Paul Martin <pm@debian.org>

Bug is archived. No further changes may be made.

Toggle useless messages

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to debian-bugs-dist@lists.debian.org, Paul Martin <pm@debian.org>:
Bug#277652; Package logrotate. (full text, mbox, link).


Acknowledgement sent to Anand Kumria <wildfire@progsoc.org>:
New Bug report received and forwarded. Copy sent to Paul Martin <pm@debian.org>. (full text, mbox, link).


Message #5 received at submit@bugs.debian.org (full text, mbox, reply):

From: Anand Kumria <wildfire@progsoc.org>
To: Debian Bug Tracking System <submit@bugs.debian.org>
Subject: logrotate doesn't work properly when a package is removed
Date: Tue, 19 Oct 2004 10:02:02 +1000
Package: logrotate
Version: 3.7-2
Severity: normal

Hi,

I've removed tetrinet but still get email from logrotate.

/etc/cron.daily/logrotate:
error: error accessing /var/log/tetrinetx: No such file or directory
error: tetrinetx:1 glob failed for /var/log/tetrinetx/*.log
run-parts: /etc/cron.daily/logrotate exited with return code 1

anand@eve:~$ dpkg -l | grep tetri
ii  gtetrinet      0.7.7-1        multiplayer tetris-like game
rc  tetrinet-clien 0.11+CVS200310 Textmode client for tetrinet, a multiplayer 
rc  tetrinetx      1.13.16-10     Game server for Tetrinet

anand@eve:~$ dpkg -L tetrinetx
/etc/tetrinetx
/etc/tetrinetx/game.motd
/etc/tetrinetx/game.pmotd
/etc/tetrinetx/game.secure
/etc/tetrinetx/game.conf
/etc/default/tetrinetx
/etc/init.d/tetrinetx
/etc/logrotate.d/tetrinetx

anand@eve:~$ cat /etc/logrotate.d/tetrinetx 
/var/log/tetrinetx/*.log {
        weekly
        missingok
        rotate 52
        compress
        delaycompress
        notifempty
        create 640 games games
}

Thanks,
Anand

-- Package-specific info:
Contents of /etc/logrotate.d
total 60
-rw-r--r--  1 root root 137 Sep 24  2003 acpid
-rw-r--r--  1 root root 240 Apr 19  2004 apache2
-rw-r--r--  1 root root  79 Oct  3  2003 aptitude
-rw-r--r--  1 root root 384 Dec 23  2003 base-config
-rw-r--r--  1 root root 171 Aug  4 19:40 cupsys
-rw-r--r--  1 root root 170 Mar 25  2004 exim4-base
-rw-r--r--  1 root root 236 Apr 22 08:48 polipo
-rw-r--r--  1 root root 136 Nov 10  2003 postgresql
-rw-r--r--  1 root root 138 Sep  2 16:18 postgresql-contrib
-rw-r--r--  1 root root  94 Oct 31  2003 ppp
-rw-r--r--  1 root root 397 Dec 22  2003 quagga
-rw-r--r--  1 root root  68 Oct 20  2003 scrollkeeper
-rw-r--r--  1 root root 146 Mar  9  2004 sks
-rw-r--r--  1 root root 120 Jan 25  2003 tetrinetx
-rw-r--r--  1 root root  44 Oct  3  2003 xdm


-- System Information:
Debian Release: 3.1
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.6.9-rc4
Locale: LANG=C, LC_CTYPE=C

Versions of packages logrotate depends on:
ii  anacron                     2.3-10       a cron-like program that doesn't g
ii  base-passwd                 3.5.7        Debian base system master password
ii  cron                        3.0pl1-86    management of regular background p
ii  libc6                       2.3.2.ds1-16 GNU C Library: Shared libraries an
ii  libpopt0                    1.7-4        lib for parsing cmdline parameters

-- no debconf information



Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#277652; Package logrotate. (full text, mbox, link).


Acknowledgement sent to Paul Martin <pm@debian.org>:
Extra info received and forwarded to list. (full text, mbox, link).


Message #10 received at 277652@bugs.debian.org (full text, mbox, reply):

From: Paul Martin <pm@debian.org>
To: Anand Kumria <wildfire@progsoc.org>, 277652@bugs.debian.org
Subject: Re: Bug#277652: logrotate doesn't work properly when a package is removed
Date: Fri, 22 Oct 2004 01:48:18 +0100
On Tue, Oct 19, 2004 at 10:02:02AM +1000, Anand Kumria wrote:
> Package: logrotate
> Version: 3.7-2
> Severity: normal

> I've removed tetrinet but still get email from logrotate.
> 
> /etc/cron.daily/logrotate:
> error: error accessing /var/log/tetrinetx: No such file or directory
> error: tetrinetx:1 glob failed for /var/log/tetrinetx/*.log
> run-parts: /etc/cron.daily/logrotate exited with return code 1

This is odd. A "dpkg --remove" shouldn't get rid of the log files or
the log directory. A "dpkg --purge" should (and would also get rid of
the logrotate.d entry), but a remove ought to leave them there.

Did you remove the log directory manually?

The glob is failing as the directory /var/log/tetrinetx no longer
exists.

To fix, run "dpkg --purge tetrinetx".

-- 
Paul Martin <pm@debian.org>



Information forwarded to debian-bugs-dist@lists.debian.org, Paul Martin <pm@debian.org>:
Bug#277652; Package logrotate. (full text, mbox, link).


Acknowledgement sent to Anand Kumria <wildfire@progsoc.org>:
Extra info received and forwarded to list. Copy sent to Paul Martin <pm@debian.org>. (full text, mbox, link).


Message #15 received at 277652@bugs.debian.org (full text, mbox, reply):

From: Anand Kumria <wildfire@progsoc.org>
To: Paul Martin <pm@debian.org>
Cc: 277652@bugs.debian.org
Subject: Re: Bug#277652: logrotate doesn't work properly when a package is removed
Date: Fri, 22 Oct 2004 13:16:30 +1000
On Fri, Oct 22, 2004 at 01:48:18AM +0100, Paul Martin wrote:
> On Tue, Oct 19, 2004 at 10:02:02AM +1000, Anand Kumria wrote:
> > Package: logrotate
> > Version: 3.7-2
> > Severity: normal
> 
> > I've removed tetrinet but still get email from logrotate.
> > 
> > /etc/cron.daily/logrotate:
> > error: error accessing /var/log/tetrinetx: No such file or directory
> > error: tetrinetx:1 glob failed for /var/log/tetrinetx/*.log
> > run-parts: /etc/cron.daily/logrotate exited with return code 1
> 
> This is odd. A "dpkg --remove" shouldn't get rid of the log files or
> the log directory. A "dpkg --purge" should (and would also get rid of
> the logrotate.d entry), but a remove ought to leave them there.
> 
> Did you remove the log directory manually?

Nope - I never actually ran tetrinetx. I installed it for a week,
removed it a week later and discovered these email.

> The glob is failing as the directory /var/log/tetrinetx no longer
> exists.

yes, I know - I suspect the directory was never created.

> 
> To fix, run "dpkg --purge tetrinetx".

Yup, knew about that but thought you'd like to know about the bug.

Cheers,
Anand

-- 
linux.conf.au 2005   -  http://lca2005.linux.org.au/  -  Birthplace of Tux
April 18th to 23rd   -  http://lca2005.linux.org.au/  -       LINUX
Canberra, Australia  -  http://lca2005.linux.org.au/  -    Get bitten!



Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#277652; Package logrotate. (full text, mbox, link).


Acknowledgement sent to Paul Martin <pm@debian.org>:
Extra info received and forwarded to list. (full text, mbox, link).


Message #20 received at 277652@bugs.debian.org (full text, mbox, reply):

From: Paul Martin <pm@debian.org>
To: Anand Kumria <wildfire@progsoc.org>, 277652@bugs.debian.org
Subject: Re: Bug#277652: logrotate doesn't work properly when a package is removed
Date: Sat, 23 Oct 2004 01:15:09 +0100
On Fri, Oct 22, 2004 at 01:16:30PM +1000, Anand Kumria wrote:
> On Fri, Oct 22, 2004 at 01:48:18AM +0100, Paul Martin wrote:

> > Did you remove the log directory manually?
> 
> Nope - I never actually ran tetrinetx. I installed it for a week,
> removed it a week later and discovered these email.
> 
> > The glob is failing as the directory /var/log/tetrinetx no longer
> > exists.
> 
> yes, I know - I suspect the directory was never created.

The directory is in the package. However, if no log files were ever
created, the directory will have been empty, and will have been removed
when you removed the package.

> > To fix, run "dpkg --purge tetrinetx".
> 
> Yup, knew about that but thought you'd like to know about the bug.

It's a tricky one.

The code in logrotate's config.c runs the glob before it parses the
subsequent "missingok". Were the "missingok" encountered before the
wildcard, the glob abort would have been correctly ignored.

The situation is fixable, though.

-- 
Paul Martin <pm@debian.org>



Information forwarded to debian-bugs-dist@lists.debian.org, Paul Martin <pm@debian.org>:
Bug#277652; Package logrotate. (full text, mbox, link).


Acknowledgement sent to Greg Kochanski <gpk@kochanski.org>:
Extra info received and forwarded to list. Copy sent to Paul Martin <pm@debian.org>. (full text, mbox, link).


Message #25 received at 277652@bugs.debian.org (full text, mbox, reply):

From: Greg Kochanski <gpk@kochanski.org>
To: Debian Bug Tracking System <277652@bugs.debian.org>
Subject: Yes -- this means that logrotate ignores subsequent directories
Date: Wed, 22 Dec 2004 10:35:28 +0000
Package: logrotate
Version: 3.7-2
Followup-For: Bug #277652


I see this same problem, but there is a consequence.
After removing squid, logrotate fails to rotate logs
for exim4.     I suspect the logrotate failure is
the result of not finding any logs for a package.
That causes logrotate to exit early, before it finishes
processing the entire list of directories.

I get the following e-mail:

/etc/cron.daily/logrotate:
error: error accessing /var/log/squid: No such file or directory
error: squid:4 glob failed for /var/log/squid/*.log
run-parts: /etc/cron.daily/logrotate exited with return code 1

And, I have exim4 logs that haven't rotated in months.

-- Package-specific info:
Contents of /etc/logrotate.d
total 56
-rw-r--r--  1 root root 366 Aug 30 07:02 apache
-rw-r--r--  1 root root  79 Oct  3  2003 aptitude
-rw-r--r--  1 root root 380 May  1  2002 base-config
-rw-r--r--  1 root root 171 Aug  4 10:40 cupsys
-rw-r--r--  1 root root 170 Apr 26  2004 exim4-base
-rw-r--r--  1 root root 711 Oct 28  2003 mysql-server
-rw-r--r--  1 root root 166 Jul 13  2002 ntop
-rw-r--r--  1 root root 236 Jul  2 22:04 polipo
-rw-r--r--  1 root root 328 Jul  7  2003 samba
-rw-r--r--  1 root root  68 Jul  1  2002 scrollkeeper
-rw-r--r--  1 root root 301 Dec 11  2003 squid
-rw-r--r--  1 root root 119 Jul 25  2003 sugarplum
-rw-r--r--  1 root root 224 Mar 10  2002 wu-ftpd
-rw-r--r--  1 root root  44 Apr 28  2004 xdm


-- System Information:
Debian Release: 3.1
  APT prefers testing
  APT policy: (500, 'testing')
Architecture: i386 (i686)
Kernel: Linux 2.6.8-1-686
Locale: LANG=C, LC_CTYPE=C (charmap=ANSI_X3.4-1968)

Versions of packages logrotate depends on:
ii  base-passwd                 3.5.7        Debian base system master password
ii  cron                        3.0pl1-86    management of regular background p
ii  libc6                       2.3.2.ds1-18 GNU C Library: Shared libraries an
ii  libpopt0                    1.7-5        lib for parsing cmdline parameters

-- no debconf information



Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#277652; Package logrotate. (full text, mbox, link).


Acknowledgement sent to Paul Martin <pm@debian.org>:
Extra info received and forwarded to list. (full text, mbox, link).


Message #30 received at 277652@bugs.debian.org (full text, mbox, reply):

From: Paul Martin <pm@debian.org>
To: Greg Kochanski <gpk@kochanski.org>, 277652@bugs.debian.org
Subject: Re: Bug#277652: Yes -- this means that logrotate ignores subsequent directories
Date: Wed, 22 Dec 2004 11:57:43 +0000
On Wed, Dec 22, 2004 at 10:35:28AM +0000, Greg Kochanski wrote:

> I see this same problem, but there is a consequence.
> After removing squid, logrotate fails to rotate logs
> for exim4.     I suspect the logrotate failure is
> the result of not finding any logs for a package.
> That causes logrotate to exit early, before it finishes
> processing the entire list of directories.

Could you show your /etc/logrotate.d/squid file?

A simple workaround is to "dpkg --purge squid", which removes squid's
configuration files, including the failing logrotate configuration
fragment.

-- 
Paul Martin <pm@debian.org>



Information forwarded to debian-bugs-dist@lists.debian.org, Paul Martin <pm@debian.org>:
Bug#277652; Package logrotate. (full text, mbox, link).


Acknowledgement sent to Greg Kochanski <gpk@kochanski.org>:
Extra info received and forwarded to list. Copy sent to Paul Martin <pm@debian.org>. (full text, mbox, link).


Message #35 received at 277652@bugs.debian.org (full text, mbox, reply):

From: Greg Kochanski <gpk@kochanski.org>
To: Paul Martin <pm@debian.org>
Cc: 277652@bugs.debian.org
Subject: Re: Bug#277652: Yes -- this means that logrotate ignores subsequent directories
Date: Wed, 22 Dec 2004 13:12:11 +0000
It seems to me to be a bug in logrotate.
An error of any kind in one of the logrotate directories
should not affect the processing of the other sets of logs.
I'll do the workaround, but also plan to submit a
bug against logrotate.


/etc/logrotate.d/squid contains the following:


#
#       Logrotate fragment for squid.
#
/var/log/squid/*.log {
        daily
        compress
        delaycompress
        rotate 2
        missingok
        nocreate
        sharedscripts
        prerotate
                test ! -x /usr/sbin/sarg-maint || /usr/sbin/sarg-maint
        endscript
        postrotate
                test ! -e /var/run/squid.pid || /usr/sbin/squid -k rotate
        endscript
}
~

Paul Martin wrote:
> On Wed, Dec 22, 2004 at 10:35:28AM +0000, Greg Kochanski wrote:
> 
> 
>>I see this same problem, but there is a consequence.
>>After removing squid, logrotate fails to rotate logs
>>for exim4.     I suspect the logrotate failure is
>>the result of not finding any logs for a package.
>>That causes logrotate to exit early, before it finishes
>>processing the entire list of directories.
> 
> 
> Could you show your /etc/logrotate.d/squid file?
> 
> A simple workaround is to "dpkg --purge squid", which removes squid's
> configuration files, including the failing logrotate configuration
> fragment.
> 



Information forwarded to debian-bugs-dist@lists.debian.org, Paul Martin <pm@debian.org>:
Bug#277652; Package logrotate. (full text, mbox, link).


Acknowledgement sent to Toni Mueller <support@oeko.net>:
Extra info received and forwarded to list. Copy sent to Paul Martin <pm@debian.org>. (full text, mbox, link).


Message #40 received at 277652@bugs.debian.org (full text, mbox, reply):

From: Toni Mueller <support@oeko.net>
To: 277652@bugs.debian.org
Cc: support@oeko.net
Subject: failure to rotate one set of logs breaks all other rotations
Date: Sat, 22 Jan 2005 13:41:23 +0100
Hi,

I've stumbled over a very similar problem: after removing a package
(squid2.7 in my case), no other logs were rotated anymore.

That's sort of a show-stopper if you have some logs growing fast...

Being forced to purge a package in order to keep using logrotate should
even warrant raising the severity, imho.


Best,
--Toni++



Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#277652; Package logrotate. (full text, mbox, link).


Acknowledgement sent to Paul Martin <pm@debian.org>:
Extra info received and forwarded to list. (full text, mbox, link).


Message #45 received at 277652@bugs.debian.org (full text, mbox, reply):

From: Paul Martin <pm@debian.org>
To: Toni Mueller <support@oeko.net>, 277652@bugs.debian.org
Subject: Re: Bug#277652: failure to rotate one set of logs breaks all other rotations
Date: Sun, 23 Jan 2005 13:43:26 +0000
On Sat, Jan 22, 2005 at 01:41:23PM +0100, Toni Mueller wrote:
> I've stumbled over a very similar problem: after removing a package
> (squid2.7 in my case), no other logs were rotated anymore.
> 
> That's sort of a show-stopper if you have some logs growing fast...
> 
> Being forced to purge a package in order to keep using logrotate should
> even warrant raising the severity, imho.

Has /var/log/squid/ been removed by the package's removal?

What error message does logrotate throw out?

This may be the glob problem.

-- 
Paul Martin <pm@debian.org>



Severity set to `important'. Request was from Paul Martin <pm@debian.org> to control@bugs.debian.org. (full text, mbox, link).


Merged 277652 320742. Request was from Paul Martin <pm@debian.org> to control@bugs.debian.org. (full text, mbox, link).


Merged 277652 320742 391439. Request was from Ted Percival <ted@midg3t.net> to control@bugs.debian.org. (full text, mbox, link).


Tags added: patch Request was from Ted Percival <ted@midg3t.net> to control@bugs.debian.org. (full text, mbox, link).


Merged 277652 320742 366337 391439. Request was from Ted Percival <ted@midg3t.net> to control@bugs.debian.org. (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Paul Martin <pm@debian.org>:
Bug#277652; Package logrotate. (full text, mbox, link).


Acknowledgement sent to Nelson Minar <nelson@monkey.org>:
Extra info received and forwarded to list. Copy sent to Paul Martin <pm@debian.org>. (full text, mbox, link).


Message #60 received at 277652@bugs.debian.org (full text, mbox, reply):

From: Nelson Minar <nelson@monkey.org>
To: 277652@bugs.debian.org
Subject: ntop triggers this bug
Date: Tue, 20 Feb 2007 09:24:55 -0800
I just got hit by this bug too. In my case, ntop left behind a file in 
logrotate.d:

error: error accessing /var/log/ntop: No such file or directory
error: ntop:1 glob failed for /var/log/ntop/*.log

While I understand that ntop is buggy for having left this logrotate 
config file in place, there's a design flaw in logrotate too. Just 
because it can't rotate the logs for one package doesn't mean it should 
stop rotating logs for all packages.



Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#277652; Package logrotate. (full text, mbox, link).


Acknowledgement sent to Paul Martin <pm@debian.org>:
Extra info received and forwarded to list. (full text, mbox, link).


Message #65 received at 277652@bugs.debian.org (full text, mbox, reply):

From: Paul Martin <pm@debian.org>
To: Nelson Minar <nelson@monkey.org>, 277652@bugs.debian.org
Subject: Re: Bug#277652: ntop triggers this bug
Date: Wed, 21 Feb 2007 15:46:10 +0000
On Tue, Feb 20, 2007 at 09:24:55AM -0800, Nelson Minar wrote:
> I just got hit by this bug too. In my case, ntop left behind a file in 
> logrotate.d:
> 
> error: error accessing /var/log/ntop: No such file or directory
> error: ntop:1 glob failed for /var/log/ntop/*.log
> 
> While I understand that ntop is buggy for having left this logrotate config 
> file in place, there's a design flaw in logrotate too. Just because it can't 
> rotate the logs for one package doesn't mean it should stop rotating logs for 
> all packages.

This ought to be working in 3.7.1 if the missingok directive has been given
before the glob occurs in the configuration file in /etc/logrotate.d/

                if (rc == GLOB_ABORTED) {
                    if(newlog->flags & LOG_FLAG_MISSINGOK)
                        continue;

                    message(MESS_ERROR, "%s:%d glob failed for %s\n",
                            configFile, lineNum, argv[argNum]);
                    return 1;
                }

Alternatively, "missingok" could be put in /etc/logrotate.conf.

-- 
Paul Martin <pm@debian.org>



Merged 277652 320742 366337 391439 444391. Request was from Martin Pitt <mpitt@debian.org> to control@bugs.debian.org. (Sun, 30 Sep 2007 12:15:33 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Paul Martin <pm@debian.org>:
Bug#277652; Package logrotate. (full text, mbox, link).


Acknowledgement sent to Richard Laager <rlaager@wiktel.com>:
Extra info received and forwarded to list. Copy sent to Paul Martin <pm@debian.org>. (full text, mbox, link).


Message #72 received at 277652@bugs.debian.org (full text, mbox, reply):

From: Richard Laager <rlaager@wiktel.com>
To: 277652@bugs.debian.org
Subject: Re: Bug#277652: logrotate doesn't work properly when a package is removed
Date: Wed, 16 Jul 2008 09:52:26 -0500
[Message part 1 (text/plain, inline)]
Paul Martin wrote:
> This ought to be working in 3.7.1 if the missingok directive has been given
> before the glob occurs in the configuration file in /etc/logrotate.d/

This leads to something like the following, correct?

missingok
/var/log/*/blah/whatever {
	...
}

In that case, isn't missingok going to apply to all (subsequent?) files
found in /etc/logrotate.d? This doesn't necessarily seem problematic in
practice, because on my system, every logrotate.d file is specifying
missingok. In that case, maybe the logrotate package should just specify
missingok in /etc/logrotate.conf, as you suggested (perhaps with a note
added to the man page indicating the default is different on Debian).

Richard
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Paul Martin <pm@debian.org>:
Bug#277652; Package logrotate. (full text, mbox, link).


Acknowledgement sent to Martin Pitt <mpitt@debian.org>:
Extra info received and forwarded to list. Copy sent to Paul Martin <pm@debian.org>. (full text, mbox, link).


Message #77 received at 277652@bugs.debian.org (full text, mbox, reply):

From: Martin Pitt <mpitt@debian.org>
To: 277652@bugs.debian.org
Subject: Confirmed in postgresql-common, too
Date: Mon, 11 Aug 2008 12:48:42 +0200
[Message part 1 (text/plain, inline)]
Hi all,

this has been confirmed in postgresql-common as well. So this is a
serious regression compared to Etch which ought to be fixed for Lenny.

Moving "missingok" above the glob is *not* the solution, it is at most
a temporary local workaround. We are not going to change a million
conffiles spread over all Debian packages and break backwards
compatibility "just because". It worked fine in earlier logrotate
versions, so it should somehow work today, too?

Thanks,

Martin

-- 
Martin Pitt                        | http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#277652; Package logrotate. (full text, mbox, link).


Acknowledgement sent to Paul Martin <pm@debian.org>:
Extra info received and forwarded to list. (full text, mbox, link).


Message #82 received at 277652@bugs.debian.org (full text, mbox, reply):

From: Paul Martin <pm@debian.org>
To: Martin Pitt <mpitt@debian.org>, 277652@bugs.debian.org
Subject: Re: Bug#277652: Confirmed in postgresql-common, too
Date: Mon, 11 Aug 2008 16:28:09 +0100
[Message part 1 (text/plain, inline)]
On Mon, Aug 11, 2008 at 12:48:42PM +0200, Martin Pitt wrote:
> this has been confirmed in postgresql-common as well. So this is a
> serious regression compared to Etch which ought to be fixed for Lenny.

It's not a regression compared with Etch as the bug predates Sarge, and
persists through *all* previous versions of logrotate.

Each individual file in /etc/logrotate.d inherits the settings from
/etc/logrotate.conf, and nothing else. Once the included file has been
parsed, the settings revert to those in /etc/logrotate.conf.

In other words, putting "missingok" at the start of a file in
/etc/logrotate.d/ won't affect the behaviour of logrotate for any other
package's logs.

This problem *may* have been addressed upstream, but I'm loath to introduce
changes this close to release.

-- 
Paul Martin <pm@debian.org>
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org, Paul Martin <pm@debian.org>:
Bug#277652; Package logrotate. (Wed, 08 Oct 2008 12:12:08 GMT) (full text, mbox, link).


Acknowledgement sent to Martin Pitt <martin.pitt@ubuntu.com>:
Extra info received and forwarded to list. Copy sent to Paul Martin <pm@debian.org>. (Wed, 08 Oct 2008 12:12:08 GMT) (full text, mbox, link).


Message #87 received at 277652@bugs.debian.org (full text, mbox, reply):

From: Martin Pitt <martin.pitt@ubuntu.com>
To: 277652@bugs.debian.org
Subject: Ubuntu patch
Date: Wed, 8 Oct 2008 14:10:17 +0200
[Message part 1 (text/plain, inline)]
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)
[logrotate.ignoreglobfailures.debdiff (text/plain, attachment)]
[signature.asc (application/pgp-signature, inline)]

Information forwarded to debian-bugs-dist@lists.debian.org:
Bug#277652; Package logrotate. (Wed, 08 Oct 2008 15:21:03 GMT) (full text, mbox, link).


Acknowledgement sent to Paul Martin <pm@debian.org>:
Extra info received and forwarded to list. (Wed, 08 Oct 2008 15:21:03 GMT) (full text, mbox, link).


Message #92 received at 277652@bugs.debian.org (full text, mbox, reply):

From: Paul Martin <pm@debian.org>
To: Martin Pitt <martin.pitt@ubuntu.com>, 277652@bugs.debian.org
Cc: control@bugs.debian.org
Subject: Re: Bug#277652: Ubuntu patch
Date: Wed, 8 Oct 2008 16:17:30 +0100
[Message part 1 (text/plain, inline)]
severity 277652 serious
tags 277652 patch pending
thanks
On Wed, Oct 08, 2008 at 02:10:17PM +0200, Martin Pitt wrote:

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

My response is to push the check to the end of the block. We're still going
to get people saying "why am I getting spammed by cron?" due to the error
messages.

How does this look? (I'm going to be giving it some testing before
uploading.)

--- logrotate-3.7.1.orig/config.c	2008-10-08 15:57:39.318679248 +0100
+++ logrotate-3.7.1/config.c	2008-10-08 16:09:33.203414313 +0100
@@ -370,6 +370,7 @@
     int createMode;
     struct stat sb, sb2;
     glob_t globResult;
+    int glob_failed;
     const char ** argv;
     int argc, argNum;
 
@@ -422,6 +423,7 @@
 
     message(MESS_DEBUG, "reading config file %s\n", configFile);
 
+    glob_failed = 0;
     start = buf;
     while (*start) {
 	while (isblank(*start) && (*start)) start++;
@@ -968,7 +970,8 @@
 
 		    message(MESS_ERROR, "%s:%d glob failed for %s\n",
 			    configFile, lineNum, argv[argNum]);
-		    return 1;
+		    glob_failed = 1;
+		    continue;
 		}
 
 		newlog->files = realloc(newlog->files, sizeof(*newlog->files) * 
@@ -1011,6 +1014,12 @@
 		message(MESS_ERROR, "%s:%d unxpected }\n", configFile, lineNum);
 		return 1;
 	    }
+	   
+	    if (glob_failed && !(newlog->flags & LOG_FLAG_MISSINGOK)) {
+	        message(MESS_ERROR, "%s:%d glob failure without missingok\n",
+			configFile, lineNum);
+	        return 1;
+	    }
 
 	    if (newlog->oldDir) {
 		for (i = 0; i < newlog->numFiles; i++) {
@@ -1046,6 +1055,7 @@
 	    }
 
 	    newlog = defConfig;
+	    glob_failed = 0;
 
 	    start++;
 	    while (isblank(*start)) start++;


-- 
Paul Martin <pm@debian.org>
[signature.asc (application/pgp-signature, inline)]

Severity set to `serious' from `important' Request was from Paul Martin <pm@debian.org> to control@bugs.debian.org. (Wed, 08 Oct 2008 15:21:04 GMT) (full text, mbox, link).


Tags added: patch, pending Request was from Paul Martin <pm@debian.org> to control@bugs.debian.org. (Wed, 08 Oct 2008 15:21:07 GMT) (full text, mbox, link).


Reply sent to Paul Martin <pm@debian.org>:
You have taken responsibility. (Wed, 08 Oct 2008 16:12:07 GMT) (full text, mbox, link).


Notification sent to Anand Kumria <wildfire@progsoc.org>:
Bug acknowledged by developer. (Wed, 08 Oct 2008 16:12:07 GMT) (full text, mbox, link).


Message #101 received at 277652-close@bugs.debian.org (full text, mbox, reply):

From: Paul Martin <pm@debian.org>
To: 277652-close@bugs.debian.org
Subject: Bug#277652: fixed in logrotate 3.7.1-5
Date: Wed, 08 Oct 2008 15:47:03 +0000
Source: logrotate
Source-Version: 3.7.1-5

We believe that the bug you reported is fixed in the latest version of
logrotate, which is due to be installed in the Debian FTP archive:

logrotate_3.7.1-5.diff.gz
  to pool/main/l/logrotate/logrotate_3.7.1-5.diff.gz
logrotate_3.7.1-5.dsc
  to pool/main/l/logrotate/logrotate_3.7.1-5.dsc
logrotate_3.7.1-5_i386.deb
  to pool/main/l/logrotate/logrotate_3.7.1-5_i386.deb



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to 277652@bugs.debian.org,
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Paul Martin <pm@debian.org> (supplier of updated logrotate package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing ftpmaster@debian.org)


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.8
Date: Wed, 08 Oct 2008 16:33:20 +0100
Source: logrotate
Binary: logrotate
Architecture: source i386
Version: 3.7.1-5
Distribution: unstable
Urgency: high
Maintainer: Paul Martin <pm@debian.org>
Changed-By: Paul Martin <pm@debian.org>
Description: 
 logrotate  - Log rotation utility
Closes: 277652
Changes: 
 logrotate (3.7.1-5) unstable; urgency=high
 .
   * globfix-277652: ignore glob failure until end of block, so that
     missingok can be taken into account. (Closes: #277652)
   * Urgency high for RC bug.
Checksums-Sha1: 
 468c988c45907d88b2a4f7e53332be74ed198ccf 1024 logrotate_3.7.1-5.dsc
 9b058ea0b68a91cba11883d56c66d04833872600 24106 logrotate_3.7.1-5.diff.gz
 5b254b418fc91c24c30469b5128f750104566930 36612 logrotate_3.7.1-5_i386.deb
Checksums-Sha256: 
 18bc710b72e02503774a9fb3c4f7e6042534ca9093860bbdef875a178c21acfd 1024 logrotate_3.7.1-5.dsc
 4fe9f41fb8b8a6ca60bcd75122a96fa9ac57b424430eeaf7560d98b90c35756a 24106 logrotate_3.7.1-5.diff.gz
 5e3ab87f353ecfe55f1afe62e1ad37c5d5dba4bf9eab9964a8f9c513f3546481 36612 logrotate_3.7.1-5_i386.deb
Files: 
 cc03824fb875ef1ae466cbb461234189 1024 admin important logrotate_3.7.1-5.dsc
 619d36e123f8d5d6e25a1544a589cf27 24106 admin important logrotate_3.7.1-5.diff.gz
 faee05bb1cc7dcc1511b106905e12618 36612 admin important logrotate_3.7.1-5_i386.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.9 (GNU/Linux)

iD8DBQFI7NL3+gi+rt7UWRIRAlOOAKCOS6wja707hujxxazSvdRowhDRLgCfR+Zw
D3Tvo7bxHu5SUZtNRjcNGOQ=
=k1Lr
-----END PGP SIGNATURE-----





Reply sent to Paul Martin <pm@debian.org>:
You have taken responsibility. (Wed, 08 Oct 2008 16:12:08 GMT) (full text, mbox, link).


Notification sent to Victor Wagner <vitus@45.free.net>:
Bug acknowledged by developer. (Wed, 08 Oct 2008 16:12:08 GMT) (full text, mbox, link).


Reply sent to Paul Martin <pm@debian.org>:
You have taken responsibility. (Wed, 08 Oct 2008 16:12:08 GMT) (full text, mbox, link).


Notification sent to Anthony DeRobertis <anthony@derobert.net>:
Bug acknowledged by developer. (Wed, 08 Oct 2008 16:12:08 GMT) (full text, mbox, link).


Reply sent to Paul Martin <pm@debian.org>:
You have taken responsibility. (Wed, 08 Oct 2008 16:12:09 GMT) (full text, mbox, link).


Notification sent to Ted Percival <ted@midg3t.net>:
Bug acknowledged by developer. (Wed, 08 Oct 2008 16:12:09 GMT) (full text, mbox, link).


Reply sent to Paul Martin <pm@debian.org>:
You have taken responsibility. (Wed, 08 Oct 2008 16:12:10 GMT) (full text, mbox, link).


Notification sent to Wojciech Zareba <wojtekz@comp.waw.pl>:
Bug acknowledged by developer. (Wed, 08 Oct 2008 16:12:10 GMT) (full text, mbox, link).


Information forwarded to debian-bugs-dist@lists.debian.org, Paul Martin <pm@debian.org>:
Bug#277652; Package logrotate. (Wed, 08 Oct 2008 17:27:03 GMT) (full text, mbox, link).


Acknowledgement sent to Martin Pitt <mpitt@debian.org>:
Extra info received and forwarded to list. Copy sent to Paul Martin <pm@debian.org>. (Wed, 08 Oct 2008 17:27:03 GMT) (full text, mbox, link).


Message #126 received at 277652@bugs.debian.org (full text, mbox, reply):

From: Martin Pitt <mpitt@debian.org>
To: Paul Martin <pm@debian.org>, 277652@bugs.debian.org
Subject: Re: Bug#277652: Ubuntu patch
Date: Wed, 8 Oct 2008 19:24:34 +0200
[Message part 1 (text/plain, inline)]
Hi Paul,

Paul Martin [2008-10-08 16:17 +0100]:
> My response is to push the check to the end of the block. We're still going
> to get people saying "why am I getting spammed by cron?" due to the error
> messages.

Indeed, that makes even more sense. Thanks for looking into it!

> --- logrotate-3.7.1.orig/config.c	2008-10-08 15:57:39.318679248 +0100
> +++ logrotate-3.7.1/config.c	2008-10-08 16:09:33.203414313 +0100
> @@ -968,7 +970,8 @@
>  
>  		    message(MESS_ERROR, "%s:%d glob failed for %s\n",
>  			    configFile, lineNum, argv[argNum]);
> -		    return 1;
> +		    glob_failed = 1;
> +		    continue;

Since you write the message in the hunk below, I think you need to
drop it here, otherwise you'd write it twice without missingok and
still once with missingok. Otherwise the idea is much better than my
hack, indeed.

Thanks!

Martin


-- 
Martin Pitt                        | http://www.piware.de
Ubuntu Developer (www.ubuntu.com)  | Debian Developer  (www.debian.org)
[signature.asc (application/pgp-signature, inline)]

Bug archived. Request was from Debbugs Internal Request <owner@bugs.debian.org> to internal_control@bugs.debian.org. (Mon, 16 Feb 2009 08:03:06 GMT) (full text, mbox, link).


Send a report that this bug log contains spam.


Debian bug tracking system administrator <owner@bugs.debian.org>. Last modified: Thu Jan 11 21:24:59 2018; Machine Name: buxtehude

Debian Bug tracking system

Debbugs is free software and licensed under the terms of the GNU Public License version 2. The current version can be obtained from https://bugs.debian.org/debbugs-source/.

Copyright © 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson, 2005-2017 Don Armstrong, and many other contributors.