NetBSD Problem Report #50133
From martin@aprisoft.de Thu Aug 6 15:29:39 2015
Return-Path: <martin@aprisoft.de>
Received: from mail.netbsd.org (mail.netbsd.org [149.20.53.66])
(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))
(Client CN "mail.netbsd.org", Issuer "Postmaster NetBSD.org" (verified OK))
by mollari.NetBSD.org (Postfix) with ESMTPS id 3B536A57FD
for <gnats-bugs@gnats.NetBSD.org>; Thu, 6 Aug 2015 15:29:39 +0000 (UTC)
Message-Id: <20150806152927.4C0E5ED0E4F@emmas.aprisoft.de>
Date: Thu, 6 Aug 2015 17:29:27 +0200 (CEST)
From: martin@NetBSD.org
Reply-To: martin@NetBSD.org
To: gnats-bugs@NetBSD.org
Subject: perl's setenv is incompatible with NetBSD
X-Send-Pr-Version: 3.95
>Number: 50133
>Category: pkg
>Synopsis: perl's setenv is incompatible with NetBSD
>Confidential: no
>Severity: serious
>Priority: medium
>Responsible: martin
>State: closed
>Class: sw-bug
>Submitter-Id: net
>Arrival-Date: Thu Aug 06 15:30:00 +0000 2015
>Closed-Date: Wed Jun 20 10:25:34 +0000 2018
>Last-Modified: Wed Jun 20 10:25:34 +0000 2018
>Originator: Martin Husemann
>Release: NetBSD 7.99.20
>Organization:
The NetBSD Foundation, Inc.
>Environment:
System: NetBSD whoever-brings-the-night.aprisoft.de 7.99.20 NetBSD 7.99.20 (WHOEVER) #71: Fri Jul 31 09:31:00 CEST 2015 martin@seven-days-to-the-wolves.aprisoft.de:/ssd/src/sys/arch/sparc64/compile/WHOEVER sparc64
Architecture: sparc64
Machine: sparc64
>Description:
Triggered by investigating a failing perl test on -current:
perl -e '$ENV{TZ} = "GMT-5"; ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(); print "$hour\n";$ENV{TZ} = "GMT+5"; ($sec,$min,$hour2,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(); print "$hour2\n";'
20
20
This should print two hour values 10 hours apart and does so on netbsd-6, but
fails in -current and netbsd-7.
Note that a proper C test program (either using setenv(3) or putenv(3)) does
work:
#include <time.h>
#include <stdio.h>
#include <stdlib.h>
static void test(void)
{
time_t now;
struct tm *t;
time(&now);
t = localtime(&now);
printf("hour: %d\n", t->tm_hour);
}
int main(int argc, char **argv)
{
putenv("TZ=GMT-5");
test();
putenv("TZ=GMT+5");
test();
return 0;
}
Perl seems to manualy play games with "environ".
>How-To-Repeat:
s/a
>Fix:
n/a
>Release-Note:
>Audit-Trail:
Responsible-Changed-From-To: pkg-manager->pkgsrc-p5-people
Responsible-Changed-By: bsiegert@NetBSD.org
Responsible-Changed-When: Sat, 08 Aug 2015 12:33:45 +0000
Responsible-Changed-Why:
Perl problem.
State-Changed-From-To: open->feedback
State-Changed-By: bsiegert@NetBSD.org
State-Changed-When: Sat, 08 Aug 2015 12:33:45 +0000
State-Changed-Why:
This is an upstream perl bug, not strictly a pkgsrc issue.
Did you report it upstream?
Responsible-Changed-From-To: pkgsrc-p5-people->martin
Responsible-Changed-By: martin@NetBSD.org
Responsible-Changed-When: Sat, 20 Feb 2016 16:40:26 +0000
Responsible-Changed-Why:
Take
State-Changed-From-To: feedback->open
State-Changed-By: martin@NetBSD.org
State-Changed-When: Sat, 20 Feb 2016 16:40:26 +0000
State-Changed-Why:
Not much hope in filing it upstream w/o patches
From: "Christos Zoulas" <christos@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/50133 CVS commit: src/lib/libc/time
Date: Sat, 20 Feb 2016 15:11:38 -0500
Module Name: src
Committed By: christos
Date: Sat Feb 20 20:11:37 UTC 2016
Modified Files:
src/lib/libc/time: localtime.c
Log Message:
PR/50133: Martin Husemann: Can't cache $TZ.
XXX: Pullup-7
To generate a diff of this commit:
cvs rdiff -u -r1.100 -r1.101 src/lib/libc/time/localtime.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
From: "Martin Husemann" <martin@netbsd.org>
To: gnats-bugs@gnats.NetBSD.org
Cc:
Subject: PR/50133 CVS commit: [netbsd-7] src/lib/libc/time
Date: Sun, 6 Mar 2016 18:01:48 +0000
Module Name: src
Committed By: martin
Date: Sun Mar 6 18:01:48 UTC 2016
Modified Files:
src/lib/libc/time [netbsd-7]: localtime.c
Log Message:
Pull up following revision(s) (requested by christos in ticket #1121):
lib/libc/time/localtime.c: revision 1.101
PR/50133: Martin Husemann: Can't cache $TZ.
XXX: Pullup-7
To generate a diff of this commit:
cvs rdiff -u -r1.82.2.1 -r1.82.2.2 src/lib/libc/time/localtime.c
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
State-Changed-From-To: open->feedback
State-Changed-By: maya@NetBSD.org
State-Changed-When: Tue, 19 Jun 2018 23:32:19 +0000
State-Changed-Why:
Is this fixed well enough now?
State-Changed-From-To: feedback->closed
State-Changed-By: martin@NetBSD.org
State-Changed-When: Wed, 20 Jun 2018 10:25:34 +0000
State-Changed-Why:
Works for me!
>Unformatted:
(Contact us)
$NetBSD: query-full-pr,v 1.43 2018/01/16 07:36:43 maya Exp $
$NetBSD: gnats_config.sh,v 1.9 2014/08/02 14:16:04 spz Exp $
Copyright © 1994-2017
The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.