I'm not sure if you're waiting for a confirmation from me, but this patch seems to work perfectly! Merge away :).
-- You received this bug notification because you are a member of Ubuntu Touch seeded packages, which is subscribed to logrotate in Ubuntu. https://bugs.launchpad.net/bugs/1320201 Title: behaviour in debug mode doesn't match real behaviour Status in logrotate package in Ubuntu: Confirmed Bug description: Situation: a single log file (no earlier rotates) and a logrotate status that says it is time to rotate. # ls -l /var/log/mail.log* -rw-r----- 1 syslog adm 287 May 16 11:27 /var/log/mail.log # cat /var/lib/logrotate/status logrotate state -- version 2 "/var/log/mail.log" 2012-3-31 # cat /tmp/test.conf /var/log/mail.log { rotate 4 weekly missingok notifempty compress delaycompress sharedscripts postrotate reload rsyslog >/dev/null 2>&1 || true endscript } logrotate in debug mode will fail, because it simulates removing a non-existing mail.log.5.gz: # logrotate -d /tmp/test.conf; echo $? reading config file /tmp/test.conf reading config info for /var/log/mail.log Handling 1 logs rotating pattern: /var/log/mail.log weekly (4 rotations) empty log files are not rotated, old logs are removed considering log /var/log/mail.log log needs rotating rotating log /var/log/mail.log, log->rotateCount is 4 dateext suffix '-20140516' glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' previous log /var/log/mail.log.1 does not exist renaming /var/log/mail.log.4.gz to /var/log/mail.log.5.gz (rotatecount 4, logstart 1, i 4), renaming /var/log/mail.log.3.gz to /var/log/mail.log.4.gz (rotatecount 4, logstart 1, i 3), renaming /var/log/mail.log.2.gz to /var/log/mail.log.3.gz (rotatecount 4, logstart 1, i 2), renaming /var/log/mail.log.1.gz to /var/log/mail.log.2.gz (rotatecount 4, logstart 1, i 1), renaming /var/log/mail.log.0.gz to /var/log/mail.log.1.gz (rotatecount 4, logstart 1, i 0), renaming /var/log/mail.log to /var/log/mail.log.1 running postrotate script running script (multiple) with arg /var/log/mail.log : " reload rsyslog >/dev/null 2>&1 || true " removing old log /var/log/mail.log.5.gz error: error opening /var/log/mail.log.5.gz: No such file or directory 1 logrotate's real behaviour handles this situation correctly: # logrotate -v /tmp/test.conf; echo $? reading config file /tmp/test.conf reading config info for /var/log/mail.log Handling 1 logs rotating pattern: /var/log/mail.log weekly (4 rotations) empty log files are not rotated, old logs are removed considering log /var/log/mail.log log needs rotating rotating log /var/log/mail.log, log->rotateCount is 4 dateext suffix '-20140516' glob pattern '-[0-9][0-9][0-9][0-9][0-9][0-9][0-9][0-9]' previous log /var/log/mail.log.1 does not exist renaming /var/log/mail.log.4.gz to /var/log/mail.log.5.gz (rotatecount 4, logstart 1, i 4), old log /var/log/mail.log.4.gz does not exist renaming /var/log/mail.log.3.gz to /var/log/mail.log.4.gz (rotatecount 4, logstart 1, i 3), old log /var/log/mail.log.3.gz does not exist renaming /var/log/mail.log.2.gz to /var/log/mail.log.3.gz (rotatecount 4, logstart 1, i 2), old log /var/log/mail.log.2.gz does not exist renaming /var/log/mail.log.1.gz to /var/log/mail.log.2.gz (rotatecount 4, logstart 1, i 1), old log /var/log/mail.log.1.gz does not exist renaming /var/log/mail.log.0.gz to /var/log/mail.log.1.gz (rotatecount 4, logstart 1, i 0), old log /var/log/mail.log.0.gz does not exist log /var/log/mail.log.5.gz doesn't exist -- won't try to dispose of it renaming /var/log/mail.log to /var/log/mail.log.1 running postrotate script 0 Summary: # logrotate -d /tmp/test.conf; echo $? [..] removing old log /var/log/mail.log.5.gz error: error opening /var/log/mail.log.5.gz: No such file or directory exitcode: 1 # logrotate -v /tmp/test.conf; echo $? [..] log /var/log/mail.log.5.gz doesn't exist -- won't try to dispose of it exitcode: 0 1) The release of Ubuntu you are using, via 'lsb_release -rd' or System -> About Ubuntu Description: Ubuntu 12.04.3 LTS Release: 12.04 2) The version of the package you are using, via 'apt-cache policy pkgname' or by checking in Software Center logrotate: Installed: 3.7.8-6ubuntu5 Candidate: 3.7.8-6ubuntu5 3) What you expected to happen debug mode should not output an error and should have exitcode 0 4) What happened instead debug mode prints an error and has exitcode 1 To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/logrotate/+bug/1320201/+subscriptions -- Mailing list: https://launchpad.net/~touch-packages Post to : touch-packages@lists.launchpad.net Unsubscribe : https://launchpad.net/~touch-packages More help : https://help.launchpad.net/ListHelp