bug#31216: commit 217b8c2e0 produces 'Can't locate Date/Parse.pm in @INC Error' perl error

2018-04-20 Thread Julien Lepiller
Le Thu, 19 Apr 2018 10:39:10 -0400,
Leo Famulari  a écrit :

> On Wed, Apr 18, 2018 at 11:14:40PM -0400, George myglc2 Clemmer wrote:
> > Commit ...
> > 
> > 217b8c2e0 * gnu: perl: Replace with 5.26.2 [fixes
> > CVE-2018-{6797,6798,6913}].
> > 
> > ... caused the attached perl script that worked like this ...
> > 
> > g1@g1 ~/.mail-mirror$ guix environment --ad-hoc perl perl-timedate
> > make wget g1@g1 ~/.mail-mirror [env]$ perl mb2md-3.20.pl
> > Usage:
> >mb2md -h
> >mb2md [-c] -m [-d destdir]
> >mb2md [-c] -s sourcefile [-d destdir]
> >mb2md [-c] -s sourcedir [-l wu-mailboxlist] [-R|-f
> > somefolder] [-d destdir] [-r strip_extension] g1@g1 ~/.mail-mirror
> > [env]$
> > 
> > 
> > ... to stop working ...
> > 
> > g1@g1 ~/.mail-mirror$  guix environment --ad-hoc perl perl-timedate
> > make wget g1@g1 ~/.mail-mirror [env]$  perl mb2md-3.20.pl
> > Can't locate Date/Parse.pm in @INC (you may need to install the
> > Date::Parse module) (@INC
> > contains: 
> > /gnu/store/wpwb4ig3qhv3m7axjlid2c0f1jqzp09p-profile/lib/perl5/site_perl/5.26.2/x86_64-linux-thread-multi
> >  
> > /gnu/store/wpwb4ig3qhv3m7axjlid2c0f1jqzp09p-profile/lib/perl5/site_perl/5.26.2
> >  /gnu/store/wpwb4ig3qhv3m7axjlid2c0f1jqzp09p-profile/lib/perl5/site_perl 
> > /gnu/store/ynk3rg3i791i6k7rz2imbyj9wyfjrnrc-perl-5.26.2/lib/perl5/site_perl/5.26.2/x86_64-linux-thread-multi
> >  
> > /gnu/store/ynk3rg3i791i6k7rz2imbyj9wyfjrnrc-perl-5.26.2/lib/perl5/site_perl/5.26.2
> >  
> > /gnu/store/ynk3rg3i791i6k7rz2imbyj9wyfjrnrc-perl-5.26.2/lib/perl5/5.26.2/x86_64-linux-thread-multi
> >  /gnu/store/ynk3rg3i791i6k7rz2imbyj9wyfjrnrc-perl-5.26.2/lib/perl5/5.26.2)
> > at mb2md-3.20.pl line 385. BEGIN failed--compilation aborted at
> > mb2md-3.20.pl line 385. g1@g1 ~/.mail-mirror [env]$
> > 
> > TIA - George  
> 
> I believe this is fixed by commit
> 44b98b00026e62766620dbc4330a305282d61069.
> 
> Can you try again and let me know?

Hi, I don't think this is fully fixed. On current master, trying to run
po4a (a perl application that guix now depends on to generate the
translation of the manual), I get the following:

[env]$ po4a-updatepo
Can't locate Locale/Po4a/Po.pm in @INC (you may need to install the
Locale::Po4a::Po module) (@INC
contains: 
/gnu/store/b10z3mm4nyvzwq6b7537nhckmilbv7bm-po4a-0.47/lib/perl5/site_perl 
/home/tyreunom/.guix-profile/lib/perl5/site_perl 
/home/tyreunom/.guix-profile/lib/perl5/site_perl 
/home/tyreunom/.guix-profile/lib/perl5/site_perl 
/gnu/store/43vb2vnv7alwi40ms5qsb9i84rs0xb6s-perl-5.26.2/lib/perl5/site_perl/5.26.2/x86_64-linux-thread-multi
 
/gnu/store/43vb2vnv7alwi40ms5qsb9i84rs0xb6s-perl-5.26.2/lib/perl5/site_perl/5.26.2
 
/gnu/store/43vb2vnv7alwi40ms5qsb9i84rs0xb6s-perl-5.26.2/lib/perl5/5.26.2/x86_64-linux-thread-multi
 /gnu/store/43vb2vnv7alwi40ms5qsb9i84rs0xb6s-perl-5.26.2/lib/perl5/5.26.2)
at /gnu/store/b10z3mm4nyvzwq6b7537nhckmilbv7bm-po4a-0.47/bin/.po4a-updatepo-real
line 168.

What fixed the issue was adding
$GUIX_ENVIRONMENT/lib/perl5/site_perl/5.26.1 to the PERL5LIB variable.

It used to work until very recently, but I wonder why the version number
is 5.26.1 if perl is 5.26.2?





bug#31227: emacs-lispy is broken

2018-04-20 Thread Clément Lassieur
Hi,

emacs-lispy is broken (void-variable hydra-lispy-x on load) since commit
b5904fcc34596e0aabb85020808b746e4c8b39a0.

Clément





bug#31085: Unexpected behaviour when running `guix build lilypond'

2018-04-20 Thread Diego Nicola Barbato
Hello

l...@gnu.org (Ludovic Courtès) writes:

> Hello,
>
> Diego Nicola Barbato  skribis:
>
>> I have experienced some unexpected behaviour when running `guix build
>> lilypond':
>> After verifying that there was a substitute available with `guix weather
>> -m m.scm' (Where m.scm evaluates to a manifest containing only lilypond)
>> I ran `guix build lilypond --dry-run' which claimed that a substitute
>> would be downloaded.  I then ran `guix build lilypond' which proceeded
>> to build lilypond from source (instead of downloading the substitute).
>>
>> Upon explaining this on IRC it was suggested that I try running `guix
>> build --no-grafts lilypond' (which actually downloaded the substitute)
>> then deleting the locally built lilypond with `guix gc --delete
>> /gnu/store/...' and finally running `guix build lilypond' again (which,
>> this time, grafted the substituted lilypond instead of building it from
>> source again).  While this fixed the issue I was told that this
>> behaviour was indeed unexpected.
>
> We’d have to see if this is still reproducible, but I have a plausible
> explanation.

I can consistently reproduce this in a VM with the following steps:

First I run:

 $ qemu-system-x86_64 -enable-kvm -snapshot -m 4G $(guix system vm-image 
bare-bones.scm --image-size=8G)

(Where bare-bones.scm is the bare-bones.tmpl after replacing /dev/sdX
with /dev/sda.)

Then after logging in as root:

 # guix pull --commit=872bda5de52a8f0514230ebc4e9680aab74f509a
 # guix build --dry-run lilypond

Which returns:

52.1 MB would be downloaded:
   /gnu/store/0amx7bcbs518lkqwfh2azmqrp2yqib0g-lilypond-2.19.80
   /gnu/store/7b5ykfl6jbrdl8j7xp630fga4as3234z-ghostscript-9.22
   /gnu/store/j4vj7h3wyb532g2j0axzjj43z2a0dg81-python-2.7.14
   /gnu/store/k2ak44m0miind785x22mmpbcwi0mq7hq-freetype-2.8.1
   /gnu/store/mkhfqx7m7pniyic0kh0lnafmajymn4dr-guile-1.8.8
   /gnu/store/pwbx5fhjrq9crr1c0d2x08ch0l6vr3cv-pango-1.40.14
   /gnu/store/qm8ri32n0rkh749v3jb3x8s8ksjl7yd3-fontconfig-2.12.6
   /gnu/store/sm37m59gq3smxxz8gs4jikn50qg0g7xh-glib-2.54.2

Then:

 # guix build lilypond

Which, after downloading the dependencies, starts to build lilypond from
source.

> Substitute info is cached locally.  guix-daemon caches it under
> /var/guix/substitute/cache, but ‘guix weather’ caches it under
> ~/.cache/guix/substitute (that’s because it needs fine-grain control
> over substitute info and thus cannot simply use the
> ‘substitutable-path-info’ daemon RPC.)  Each cached entry has a
> time-to-live (TTL).
>
> What could have happened is that /var/guix/substitute/ had a
> not-expired-yet entry saying that there’s no substitute for LilyPond
> (which is why ‘guix build’ ended up building from source), whereas ‘guix
> weather’ was run at a point when there was a substitute.

The unexpected behaviour was that `guix build lilypond' started to build
lilypond from source after `guix build --dry-run lilypond' had claimed
that nothing would be built and that it would download a substitute.  I
assume that `guix build --dry-run' is not affected by the substitute
info used by `guix weather'.  I only ran `guix weather' in order to
double check that there were indeed substitutes available (Sorry for the
red herring).

Greetings

Diego





bug#31216: commit 217b8c2e0 produces 'Can't locate Date/Parse.pm in @INC Error' perl error

2018-04-20 Thread Leo Famulari
On Fri, Apr 20, 2018 at 02:41:52PM +0200, Julien Lepiller wrote:
> Hi, I don't think this is fully fixed. On current master, trying to run
> po4a (a perl application that guix now depends on to generate the
> translation of the manual), I get the following:
> 
> [env]$ po4a-updatepo
> Can't locate Locale/Po4a/Po.pm in @INC (you may need to install the
> Locale::Po4a::Po module) (@INC
> contains: 
> /gnu/store/b10z3mm4nyvzwq6b7537nhckmilbv7bm-po4a-0.47/lib/perl5/site_perl 
> /home/tyreunom/.guix-profile/lib/perl5/site_perl 
> /home/tyreunom/.guix-profile/lib/perl5/site_perl 
> /home/tyreunom/.guix-profile/lib/perl5/site_perl 
> /gnu/store/43vb2vnv7alwi40ms5qsb9i84rs0xb6s-perl-5.26.2/lib/perl5/site_perl/5.26.2/x86_64-linux-thread-multi
>  
> /gnu/store/43vb2vnv7alwi40ms5qsb9i84rs0xb6s-perl-5.26.2/lib/perl5/site_perl/5.26.2
>  
> /gnu/store/43vb2vnv7alwi40ms5qsb9i84rs0xb6s-perl-5.26.2/lib/perl5/5.26.2/x86_64-linux-thread-multi
>  /gnu/store/43vb2vnv7alwi40ms5qsb9i84rs0xb6s-perl-5.26.2/lib/perl5/5.26.2)
> at 
> /gnu/store/b10z3mm4nyvzwq6b7537nhckmilbv7bm-po4a-0.47/bin/.po4a-updatepo-real
> line 168.
> 
> What fixed the issue was adding
> $GUIX_ENVIRONMENT/lib/perl5/site_perl/5.26.1 to the PERL5LIB variable.
> 
> It used to work until very recently, but I wonder why the version number
> is 5.26.1 if perl is 5.26.2?

Okay, something still needs fixing but I'm not sure what. I won't be
able to take a closer look until Monday. Anyone else is free to try :)


signature.asc
Description: PGP signature


bug#31216: commit 217b8c2e0 produces 'Can't locate Date/Parse.pm in @INC Error' perl error

2018-04-20 Thread Leo Famulari
On Fri, Apr 20, 2018 at 07:46:45PM -0400, Leo Famulari wrote:
> On Fri, Apr 20, 2018 at 02:41:52PM +0200, Julien Lepiller wrote:
> > Hi, I don't think this is fully fixed. On current master, trying to run
> > po4a (a perl application that guix now depends on to generate the
> > translation of the manual), I get the following:
> > 
> > [env]$ po4a-updatepo
> > Can't locate Locale/Po4a/Po.pm in @INC (you may need to install the
> > Locale::Po4a::Po module) (@INC
> > contains: 
> > /gnu/store/b10z3mm4nyvzwq6b7537nhckmilbv7bm-po4a-0.47/lib/perl5/site_perl 
> > /home/tyreunom/.guix-profile/lib/perl5/site_perl 
> > /home/tyreunom/.guix-profile/lib/perl5/site_perl 
> > /home/tyreunom/.guix-profile/lib/perl5/site_perl 
> > /gnu/store/43vb2vnv7alwi40ms5qsb9i84rs0xb6s-perl-5.26.2/lib/perl5/site_perl/5.26.2/x86_64-linux-thread-multi
> >  
> > /gnu/store/43vb2vnv7alwi40ms5qsb9i84rs0xb6s-perl-5.26.2/lib/perl5/site_perl/5.26.2
> >  
> > /gnu/store/43vb2vnv7alwi40ms5qsb9i84rs0xb6s-perl-5.26.2/lib/perl5/5.26.2/x86_64-linux-thread-multi
> >  /gnu/store/43vb2vnv7alwi40ms5qsb9i84rs0xb6s-perl-5.26.2/lib/perl5/5.26.2)
> > at 
> > /gnu/store/b10z3mm4nyvzwq6b7537nhckmilbv7bm-po4a-0.47/bin/.po4a-updatepo-real
> > line 168.
> > 
> > What fixed the issue was adding
> > $GUIX_ENVIRONMENT/lib/perl5/site_perl/5.26.1 to the PERL5LIB variable.
> > 
> > It used to work until very recently, but I wonder why the version number
> > is 5.26.1 if perl is 5.26.2?
> 
> Okay, something still needs fixing but I'm not sure what. I won't be
> able to take a closer look until Monday. Anyone else is free to try :)

Btw, an easy way to start debugging would be to use `git bisect` to
confirm which commit introduced the problem.


signature.asc
Description: PGP signature


bug#31113: mcron ERROR: In procedure mktime:

2018-04-20 Thread Maxim Cournoyer
Hi Ludovic,

l...@gnu.org (Ludovic Courtès) writes:

> Hello,
>
> Rutger Helling  skribis:
>
>> I had this problem too. 
>>
>> Reverting commit cfbf6de18cc70d2e385feb5f61f9363f18e78ddf (gnu: mcron:
>> Update to 1.1 and deprecate "mcron2".) fixed it for me.
>
> This was a bug in mcron 1.1.
>
> Fixed in commit 67a51b675538065a4ec3eb06428d8a4021fdbb87, which updates
> to 1.1.1.

Thank you for taking care of it!

Maxim





bug#31216: commit 217b8c2e0 produces 'Can't locate Date/Parse.pm in @INC Error' perl error

2018-04-20 Thread Mark H Weaver
Hi,

Julien Lepiller  writes:

> Le Thu, 19 Apr 2018 10:39:10 -0400,
> Leo Famulari  a écrit :
>
>> I believe this is fixed by commit
>> 44b98b00026e62766620dbc4330a305282d61069.
>> 
>> Can you try again and let me know?
>
> Hi, I don't think this is fully fixed. On current master, trying to run
> po4a (a perl application that guix now depends on to generate the
> translation of the manual), I get the following:
>
> [env]$ po4a-updatepo
> Can't locate Locale/Po4a/Po.pm in @INC (you may need to install the
> Locale::Po4a::Po module) (@INC
> contains:
> /gnu/store/b10z3mm4nyvzwq6b7537nhckmilbv7bm-po4a-0.47/lib/perl5/site_perl
> /home/tyreunom/.guix-profile/lib/perl5/site_perl
> /home/tyreunom/.guix-profile/lib/perl5/site_perl
> /home/tyreunom/.guix-profile/lib/perl5/site_perl
> /gnu/store/43vb2vnv7alwi40ms5qsb9i84rs0xb6s-perl-5.26.2/lib/perl5/site_perl/5.26.2/x86_64-linux-thread-multi
> /gnu/store/43vb2vnv7alwi40ms5qsb9i84rs0xb6s-perl-5.26.2/lib/perl5/site_perl/5.26.2
> /gnu/store/43vb2vnv7alwi40ms5qsb9i84rs0xb6s-perl-5.26.2/lib/perl5/5.26.2/x86_64-linux-thread-multi
> /gnu/store/43vb2vnv7alwi40ms5qsb9i84rs0xb6s-perl-5.26.2/lib/perl5/5.26.2)
> at 
> /gnu/store/b10z3mm4nyvzwq6b7537nhckmilbv7bm-po4a-0.47/bin/.po4a-updatepo-real
> line 168.
>
> What fixed the issue was adding
> $GUIX_ENVIRONMENT/lib/perl5/site_perl/5.26.1 to the PERL5LIB variable.
>
> It used to work until very recently, but I wonder why the version number
> is 5.26.1 if perl is 5.26.2?

It's because perl is grafted: perl-5.26.1 is still used for building
packages, but then after everything is built, references to perl-5.26.1
are replaced with references to perl-5.26.2 by grafting.

The problem we're having with grafting perl is that grafting can only
rewrite a single component of the referenced filenames, namely the
directory name within /gnu/store.  In the case of perl this is not
enough because the precise Perl version number is included in
subdirectory names as well.

Commit 44b98b00026e62766620dbc4330a305282d61069 attempts to fix the
problem by installing a symlink $OUT/lib/perl5/5.26.1 in the perl-5.26.2
directory, and that certainly fixed many problems.

The problem here with p04a is that there's a second symlink that we
need: $OUT/lib/perl5/site_perl/5.26.1, and possibly a third for
$OUT/bin/perl5.26.1.

I'm testing a patch now and will push it soon.

  Mark





bug#31216: commit 217b8c2e0 produces 'Can't locate Date/Parse.pm in @INC Error' perl error

2018-04-20 Thread Mark H Weaver
I just pushed commit 5618193694b08855488b29fae1db42f05ca6deaf to
'master', which I hope will fix the remaining problems with our grafted
perl.

Can you verify and let us know?

  Mark





bug#31216: commit 217b8c2e0 produces 'Can't locate Date/Parse.pm in @INC Error' perl error

2018-04-20 Thread Mark H Weaver
Unfortunately, the compatibility symlinks are not sufficient.  The
problem is that other perl packages such a po4a are installing their
modules into $out/lib/perl5/site_perl/5.26.1, which conflicts with the
compatibility symlink that we're installing in perl.

When perl and po4a are put together into a profile, po4a has a directory
/lib/perl5/site_perl/5.26.1 and perl has its compatibility symlink
in the same relative location.  The (guix build union) code follows
perl's symlink to its target directory /lib/perl5/site_perl/5.26.2
and merges that with /lib/perl5/site_perl/5.26.1 to form
/lib/perl5/site_perl/5.26.1, but that not in any of the paths.

I'm now trying a different approach: hack the replacement perl to think
it is version 5.26.1, although it is actually 5.26.2.  I'll report back
soon.

   Mark





bug#31216: commit 217b8c2e0 produces 'Can't locate Date/Parse.pm in @INC Error' perl error

2018-04-20 Thread Mark H Weaver
I've now pushed another commit b5178b325409b1eaf953f8f3007a180cbd27b167
to master, which changes the replacement perl to think it is version
5.26.1, although it's actually version 5.26.2.  With this fix, I'm now
able to build guix without 'po4a' reporting errors.

Please try it out and let me know if there are still problems.

  Mark





bug#31210: Perl graft breakage

2018-04-20 Thread Mark H Weaver
My suggested approach of making compatibility symlinks didn't work.
See  for details and further discussion.

  Mark