missingok does not work
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
logrotate (Debian) |
Fix Released
|
Unknown
|
|||
logrotate (Ubuntu) |
Fix Released
|
High
|
Martin Pitt | ||
Feisty |
Won't Fix
|
Undecided
|
Unassigned | ||
Gutsy |
Fix Released
|
Undecided
|
Martin Pitt | ||
Hardy |
Fix Released
|
High
|
Martin Pitt | ||
Intrepid |
Fix Released
|
High
|
Martin Pitt |
Bug Description
Binary package hint: logrotate
When a package is removed, but not purged, "missingok" usually prevents logrotate from complaining about missing files. That has regressed a while ago, see Debian bug for details.
--
SRU justification: Any logrotate.d/* file with a nonexisting log directory breaks complete log rotation.
Test case:
Create a logrotate snippet with nonexisting file:
echo -e '/var/log/
Now check log rotation with
logrotate -d -f /etc/logrotate.conf
With the broken package, it stops at foo, without processing any further files:
[...]
reading config file foo
error: error accessing /var/log/
error: foo:1 glob failed for /var/log/
# exit code 1
With the fixed package, it still logs the glob error, but goes on:
[...]
reading config file foo
error: error accessing /var/log/
error: foo:1 glob failed for /var/log/
reading config info for /var/log/
reading config file ppp
[...]
However, if "missingok" is not specified, logrotate should continue to stop completely:
echo -e '/var/log/
$ logrotate -d -f /etc/logrotate.conf
[...]
error: error accessing /var/log/
error: foo:1 glob failed for /var/log/
reading config info for /var/log/
error: foo:3 glob failure without missingok
# exit code 1
Changed in logrotate: | |
status: | Unknown → New |
Changed in logrotate: | |
status: | Triaged → In Progress |
Changed in logrotate: | |
importance: | High → Low |
milestone: | none → ubuntu-8.10 |
Changed in logrotate: | |
status: | New → Fix Released |
This leads to accumulation of large quantities of log files, raising severity.