From twtoal@ucdavis.edu Wed Jan 11 18:41:47 2017 Received: (at 1133) by bugs.x2go.org; 11 Jan 2017 17:41:48 +0000 X-Spam-Checker-Version: SpamAssassin 3.3.2 (2011-06-06) on ymir.das-netzwerkteam.de X-Spam-Level: X-Spam-Status: No, score=-1.4 required=3.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,RCVD_IN_SORBS_SPAM,URIBL_BLOCKED autolearn=no version=3.3.2 Received: from localhost (localhost [127.0.0.1]) by ymir.das-netzwerkteam.de (Postfix) with ESMTP id 66E563CDDE for <1133@bugs.x2go.org>; Wed, 11 Jan 2017 18:41:47 +0100 (CET) X-Virus-Scanned: Debian amavisd-new at ymir.das-netzwerkteam.de Received: from ymir.das-netzwerkteam.de ([127.0.0.1]) by localhost (ymir.das-netzwerkteam.de [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id 9pXGLoVReEGi for <1133@bugs.x2go.org>; Wed, 11 Jan 2017 18:41:40 +0100 (CET) Received: from mail-pf0-f193.google.com (mail-pf0-f193.google.com [209.85.192.193]) by ymir.das-netzwerkteam.de (Postfix) with ESMTPS id 1649E3CDDD for <1133@bugs.x2go.org>; Wed, 11 Jan 2017 18:41:40 +0100 (CET) Received: by mail-pf0-f193.google.com with SMTP id f144so14362514pfa.2 for <1133@bugs.x2go.org>; Wed, 11 Jan 2017 09:41:40 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ucdavis-edu.20150623.gappssmtp.com; s=20150623; h=mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=FCOjrOidOcRj0Wjhwka20X2yw68T5LQgW65sRBQLtug=; b=LYdGdW7rLCUxWIO64aE1USO0M1w7+LmBxJjsW9AQeAqkyI+80Go+KDswuAY3sqZxKP SSbJeKV0r505+gVUnyY+IECC+7iAlqxBLMK2Z9LUCVdfEqfgDFTpgM/tGFrEK2Ygz/7z pVFawhCi2xfGIm61rIhm9utNvpJJdhJR1jxvFAZHV5lRpeBF00HdubZP1EV5G6FGtTqw qKlIgddpPSmQg0LhBbA7TZFJ3P+/If5O7cHssSO1ccwvPfTb3y3kyuRF5tuN1ZVwf64P sqxmHC0/mOpvT/s1sVrwq/bo6eGYAwZrJekmYMJNRvIPvqKaMylNrxWiPok3pNWBoSKD SXRA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:subject:from:in-reply-to:date:cc :content-transfer-encoding:message-id:references:to; bh=FCOjrOidOcRj0Wjhwka20X2yw68T5LQgW65sRBQLtug=; b=Y0DT9o2dJ7ZHWKp9EhYPTTs2/4yFxLSwBjWvO94Z3SzbriZiI5DJNV4rT1KpfyTLKX BEq5rFSeIhCBecWKQyfSDfZDVTtngs+irsanOVPa8KkiyM7DoRhX1suKUtDLE/qrR4GY hbFg+T5jiyMojnw6A5HdmvxspkgPLE0nxovn6WM8/wE5vaLvXKf+Wg2Y34qMQFhedccg LvdB75y/+wkwpJDOohMiR2/dY3x4t6I02Ehy1pCXffxmaPXSNUKXYpkyeZ+aG7mYhOlA ePpoIoQ0dygMKE2PzgO7Ra9qULGQrhHgbmURDqgWsrn/YIoviCOOiuOtZf3nHHvgthoU k1mQ== X-Gm-Message-State: AIkVDXLmtCuxeTNvlLeyhcO0TK7Lorbx3pz+yJ8aTVWsQOZxY+GUlq8pzSmsoQ/zMsnkow== X-Received: by 10.99.116.22 with SMTP id p22mr12088672pgc.161.1484156498603; Wed, 11 Jan 2017 09:41:38 -0800 (PST) Received: from dhcp22-gc1.genomecenter.ucdavis.edu (dhcp22-gc1.genomecenter.ucdavis.edu. [128.120.136.85]) by smtp.gmail.com with ESMTPSA id r1sm15429137pgn.48.2017.01.11.09.41.36 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Wed, 11 Jan 2017 09:41:36 -0800 (PST) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 10.2 \(3259\)) Subject: Re: [X2Go-Dev] Bug#1133: Bug#1133: Inconsistent Perl used by server or its agent on connect From: Ted Toal In-Reply-To: <7b997594-addb-eced-9c41-1d520f712fa8@baur-itcs.de> Date: Wed, 11 Jan 2017 09:41:35 -0800 Cc: 1133@bugs.x2go.org Content-Transfer-Encoding: quoted-printable Message-Id: <9C7ACD7C-175E-4E19-8322-E3950DAD7159@ucdavis.edu> References: <7a1f025f-6a4f-9c6a-ffe6-4d18a712da86@baur-itcs.de> <836dd91e-6bc3-35e1-3759-e66b55715b1b@baur-itcs.de> <35BC44E5-C0D7-4B77-A09E-FBD00AD5193E@ucdavis.edu> <7b997594-addb-eced-9c41-1d520f712fa8@baur-itcs.de> To: Stefan Baur X-Mailer: Apple Mail (2.3259) Sorry for the mixup about lower case l and capital I. I don=E2=80=99t = know that using a different font would have helped in this case. I had = the wrong one specified and you found it and used it despite the font. = Btw, the web site where I found the option (perlmaven.com) also used a = font that didn=E2=80=99t distinguish it, which is how it propagated to = me. Perhaps that option on the shebang is not the best way to handle this. = But you are wrong to think that people should not or will not be setting = PERL5LIB in their .bashrc. It is normal practice among Perl users, and = in fact I would guess that the majority of Perl users do so. And that = breaks x2go. x2go should never assume that the environment variables = used by a program it is invoking, especially /usr/lib/perl, will be set = the way it wants them set, after .bashrc has run. ted > On Jan 11, 2017, at 1:05 AM, Stefan Baur = wrote: >=20 > Control: close -1 > thanks >=20 > [re-sent as the original message went to Ted's personal mailbox only] >=20 > Am 11.01.2017 um 02:48 schrieb Ted Toal: >>> perl has the -l option for specifying the PERL5LIB path. That > option can, and I think should, be used on the shebang of the x2go = perl > scripts: >>>=20 >>> #!/usr/bin/perl -l /usr/lib/perl5 >>>=20 >>> or something like that. I know the shebang line allows args. >=20 > Ted, >=20 > while we agree that options *can* be used on the shebang line, I > disagree that they should be used in our scripts for specifying > something that *is the default*. > You would, indeed, change the shebang to "#!/usr/bin/perl -T" if you > wanted to run the script in taint mode, which is a non-default = setting. >=20 > Also, the parameter to set the library path is not -l (lower-case L), > but -I (upper-case i). I would suggest using a font that displays = them > differently, it makes coding a lot easier. >=20 > Why explicitly setting the PERL5LIB path in the shebang line is a bad > idea can be shown like this: >=20 > First, run > perl -e 'print "@INC\n";' > to display the default. >=20 > On my system, this returns: > /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.20.2 > /usr/local/share/perl/5.20.2 /usr/lib/x86_64-linux-gnu/perl5/5.20 > /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.20 > /usr/share/perl/5.20 /usr/local/lib/site_perl . >=20 > Next, run > perl -I /foo -e 'print "@INC\n";' > which corresponds to setting -I /foo on the shebang line. >=20 > On my system, this returns: > /foo /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.20.2 > /usr/local/share/perl/5.20.2 /usr/lib/x86_64-linux-gnu/perl5/5.20 > /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.20 > /usr/share/perl/5.20 /usr/local/lib/site_perl . >=20 > Notice how the search path is extended, not replaced, by /foo ending = up > at the beginning. >=20 > Now let's see what happens when combining -I *and* a set PERL5LIB = variable: > PERL5LIB=3D/bar perl -I /foo -e 'print "@INC\n";' >=20 > This results in: > /foo /bar /etc/perl /usr/local/lib/x86_64-linux-gnu/perl/5.20.2 > /usr/local/share/perl/5.20.2 /usr/lib/x86_64-linux-gnu/perl5/5.20 > /usr/share/perl5 /usr/lib/x86_64-linux-gnu/perl/5.20 > /usr/share/perl/5.20 /usr/local/lib/site_perl . >=20 > You can see that /foo and /bar are added to the search path, with the > value of -I taking precedence, as in being listed and thus searched > first, over PERL5LIB. >=20 > And this is exactly NOT what a user expects, even though it would = solve > your percieved problem: >=20 > Standard Unix practice is that when an environment variable is set, it > should take precedence over any default, and a command line option set > should take precedence over any environment variable. >=20 > Adding -I /path/to/libs at the shebang line would break what is = expected > behavior. >=20 > No one keeps you from running a search and replace on all X2Go-related > scripts after installing them, though ... >=20 > However, I would strongly recommend against that and suggest = un-setting > PERL5LIB in .bashrc when an X2Go-related bash invocation is detected, > instead. >=20 > Why this doesn't work for you the way it does for us is what we're > tracking in Bug #1134, so again, closing this bug. >=20 > Kind Regards, > Stefan Baur > --=20 > BAUR-ITCS UG (haftungsbeschr=C3=A4nkt) > Gesch=C3=A4ftsf=C3=BChrer: Stefan Baur > Eichen=C3=A4ckerweg 10, 89081 Ulm | Registergericht Ulm, HRB 724364 > Fon/Fax 0731 40 34 66-36/-35 | USt-IdNr.: DE268653243 >=20 >=20