Summary: | app-portage/genlop-0.30.5 Date::Manip error when using --date yesterday | ||
---|---|---|---|
Product: | Portage Development | Reporter: | Matthias Langer <m.langer798> |
Component: | Tools | Assignee: | Portage Tools Team <tools-portage> |
Status: | RESOLVED NEEDINFO | ||
Severity: | minor | CC: | Jimmy.Jazz, mcummings, michael, nikeow |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
Matthias Langer
2006-03-30 18:59:23 UTC
genlop --list --date yesterday ERROR: Date::Manip unable to determine TimeZone. at /usr/lib/perl5/vendor_perl/5.8.8/Date/Manip.pm line 3635 Date::Manip::Date_TimeZone called at /usr/lib/perl5/vendor_perl/5.8.8/Date/Manip.pm line 676 Date::Manip::Date_Init() called at /usr/lib/perl5/vendor_perl/5.8.8/Date/Manip.pm line 1446 Date::Manip::ParseDate('ARRAY(0x8142978)') called at /usr/bin/genlop line 200 main::parse('--date') called at /usr/bin/genlop line 948 I've already recompiled DateManip w/ no avail. What's up with this anyway? Is my Timezone wrong?? (In reply to comment #1) Same problem and it appends only when the user also in group portage isn't root. root reads /etc/localtime, but a user doesn't. (same bash environment, TZ not set) ls -l /etc/localtime gives, -rw-r--r-- 1 root root 2945 May 8 13:10 /etc/localtime # genlop --list --date 3 days ago Result when root executes the command: --- SIGCHLD (Child exited) @ 0 (0) --- read(3, "", 4096) = 0 fstat64(3, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0 close(3) = 0 rt_sigaction(SIGHUP, {SIG_IGN}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGINT, {SIG_IGN}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_DFL}, 8) = 0 waitpid(19741, [{WIFEXITED(s) && WEXITSTATUS(s) == 0}], 0) = 19741 rt_sigaction(SIGHUP, {SIG_DFL}, NULL, 8) = 0 rt_sigaction(SIGINT, {SIG_DFL}, NULL, 8) = 0 rt_sigaction(SIGQUIT, {SIG_DFL}, NULL, 8) = 0 stat64("/etc/TIMEZONE", 0x81680c8) = -1 ENOENT (No such file or directory) stat64("/etc/timezone", 0x81680c8) = -1 ENOENT (No such file or directory) time(NULL) = 1187346459 open("/etc/localtime", O_RDONLY) = 3 fstat64(3, {st_mode=S_IFREG|0644, st_size=2945, ...}) = 0 fstat64(3, {st_mode=S_IFREG|0644, st_size=2945, ...}) = 0 mmap2(NULL, 4096, PROT_READ|PROT_WRITE, MAP_PRIVATE|MAP_ANONYMOUS, -1, 0) = 0xb7bae000 read(3, "TZif2\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\f\0\0\0\f\0\0"..., 4096) = 2945 close(3) = 0 munmap(0xb7bae000, 4096) = 0 time(NULL) = 1187346459 time(NULL) = 1187346459 time(NULL) = 1187346459 stat64("/var/log/emerge.log", {st_mode=S_IFREG|0660, st_size=71079, ...}) = 0 open("/var/log/emerge.log", O_RDONLY|O_LARGEFILE) = 3 ioctl(3, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbfb86330) = -1 ENOTTY (Inappropriate ioctl for device) _llseek(3, 0, [0], SEEK_CUR) = 0 fstat64(3, {st_mode=S_IFREG|0660, st_size=71079, ...}) = 0 read(3, "1187027930: Started emerge on: A"..., 4096) = 4096 _llseek(3, 512, [512], SEEK_SET) = 0 _llseek(3, 0, [512], SEEK_CUR) = 0 close(3) = 0 A different result when a user is used instead, --- SIGCHLD (Child exited) @ 0 (0) --- close(6) = 0 ioctl(4, SNDCTL_TMR_TIMEBASE or TCGETS, 0xbf8e27f0) = -1 EINVAL (Invalid argument) _llseek(4, 0, 0xbf8e2810, SEEK_CUR) = -1 ESPIPE (Illegal seek) fstat64(4, {st_mode=S_IFIFO|0600, st_size=0, ...}) = 0 read(4, "", 4096) = 0 close(4) = 0 rt_sigaction(SIGHUP, {SIG_IGN}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGINT, {SIG_IGN}, {SIG_DFL}, 8) = 0 rt_sigaction(SIGQUIT, {SIG_IGN}, {SIG_DFL}, 8) = 0 waitpid(16015, [{WIFSIGNALED(s) && WTERMSIG(s) == SIGPIPE}], 0) = 16015 rt_sigaction(SIGHUP, {SIG_DFL}, NULL, 8) = 0 rt_sigaction(SIGINT, {SIG_DFL}, NULL, 8) = 0 rt_sigaction(SIGQUIT, {SIG_DFL}, NULL, 8) = 0 stat64("/etc/TIMEZONE", 0x81680c8) = -1 ENOENT (No such file or directory) stat64("/etc/timezone", 0x81680c8) = -1 ENOENT (No such file or directory) stat64("/etc/perl/Carp/Heavy.pmc", 0xbf8e29ec) = -1 ENOENT (No such file or directory) stat64("/etc/perl/Carp/Heavy.pm", 0xbf8e292c) = -1 ENOENT (No such file or directory) stat64("/usr/lib/perl5/vendor_perl/5.8.8/i686-linux-thread-multi/Carp/Heavy.pmc", 0xbf8e29ec) = -1 ENOENT (No such file or directory) stat64("/usr/lib/perl5/vendor_perl/5.8.8/i686-linux-thread-multi/Carp/Heavy.pm", [...] Date::Manip::ParseDate('ARRAY(0x81693a8)') called at /usr/bin/genlop line 200 main::parse('--date') called at /usr/bin/genlop line 948 ) = 434 exit_group(2) = ? Process 16013 detached Other strangeness when following the timezone man page. for an unprivileged user but in portage group, TZ=MET works TZ=:MET doesn't TZ=:Europe/Paris doesn't TZ=Europe/Paris doesn't All have successfully opened the TZ file in /usr/share/zoneinfo Could that be a bug in perl /usr/lib/perl5/vendor_perl/5.8.8/Date/Manip.pm file ? versions used: app-i18n/man-pages-fr-2.39.0 app-portage/genlop-0.30.7 app-shells/bash-3.2_p17 dev-lang/perl-5.8.8-r2 Thx Jj OK: Comment #0 is not a bug. genlop --help says: --date datestring1 [ --date datestring2] only shows results between datestring1 and datestring2. datestring2 dafaults to "now" if not explicitly set. (e.g. genlop --list --date 3 days ago) In other words, if datestring1 is 'today' you're asking it to list all packages emerged between "today" and "now". Since today == now, that should always be empty. As for comment #1 and comment #2: I haven't been able to reproduce this problem yet. If you are still seeing this problem please show me how your TIMEZONEs are set up by attaching the contents of /etc/conf.d/clock and showing me what version of sys-libs/timezone-data you have. |