[Touch-packages] [Bug 1320201] Re: behaviour in debug mode doesn't match real behaviour

2015-06-09 Thread Gertjan Oude Lohuis
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 21 || 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 21 || 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 : 

[Touch-packages] [Bug 1320201] Re: behaviour in debug mode doesn't match real behaviour

2015-04-01 Thread Gertjan Oude Lohuis
Sorry for not responding earlier, haven't had a chance to test the new
behaviour. Great that this bug is fixed, will test it shortly. Thanks!

-- 
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 21 || 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 21 || 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 :