Package: systemd-cron
Version: 1.3.1+ds1-1
Severity: important
Ranges without steps (1-12) are not correctly parsed by
systemd-crontab-generator.
For example, the line:
55-59 11 * * 1-6 true
results in the following:
$ ./systemd-crontab-generator /tmp/test
Traceback (most recent call last):
File "./systemd-crontab-generator", line 273, in <module>
for job in parse_crontab(filename, withuser=False):
File "./systemd-crontab-generator", line 125, in parse_crontab
'm': parse_time_unit(minutes, MINUTES_SET),
File "./systemd-crontab-generator", line 138, in parse_time_unit
map(parse_period(mapping), value.split(','))), set())))
File "./systemd-crontab-generator", line 157, in parser
value = mapping(value)
ValueError: invalid literal for int() with base 10: '55-59'
The attached patch fixes the issue.
-- System Information:
Debian Release: jessie/sid
APT prefers unstable
APT policy: (900, 'unstable'), (800, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 3.16-3-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Versions of packages systemd-cron depends on:
ii init-system-helpers 1.21
ii python 2.7.8-1
pn python:any <none>
ii systemd-sysv 215-5+b1
systemd-cron recommends no packages.
systemd-cron suggests no packages.
--- systemd-crontab-generator.Orig 2014-10-22 14:53:01.915149745 +0200
+++ systemd-crontab-generator 2014-10-22 14:57:04.614228021 +0200
@@ -154,8 +154,8 @@
try:
range, step = value.split('/')
except ValueError:
- value = mapping(value)
- return slice(value, value + 1)
+ range = value
+ step = 1
if range == '*':
return slice(None, None, int(step))