Subject: Re: [bug#28429] [PATCH] gnu: Add John the Ripper.

From: [email-masked] (Ludovic Courtès)
Date: Wed, 13 Sep 2017 23:22:21 +0200

Heya,

Eric Bavier <[email-masked]> skribis:

> On Wed, 13 Sep 2017 10:10:39 +0200

[...]

>> 
>> > +       `(#:configure-flags
>> > +         (list (string-append
>> > +                "CFLAGS="  
>> 
>> Is this to clear CFLAGS?  We should make sure to get “-O2 -g”.
>
> The macro definitions below must be put in CFLAGS, but yes, -O2 should
> be included.

OK.

>> 
>> > +                "-DJOHN_SYSTEMWIDE=1 "
>> > +                "-DJOHN_SYSTEMWIDE_EXEC='\"" %output "/libexec/john\"' "
>> > +                "-DJOHN_SYSTEMWIDE_HOME='\"" %output "/share/john\"'")
>> > +               "--disable-native-tests"
>> > +               "--disable-native-macro")  
>> 
>> Perhaps add a comment on these two flags.
>
> Sure.  John supports a "cpu fallback" feature to match, at runtime, the
> current processor with an executable appropriate for its supported
> instruction set.  This involves configuring and building multiple times
> with different optimization flags.  I wanted to implement this later
> after getting the rest of things working, so these two flags turn off
> the "-march=native" flag and instruction set discovery during
> 'configure'.

Oh, I see.  Thanks for explaining.

>> /etc/passwd in the build environment has this line (see
>> nix/libstore/build.cc:1859):
>> 
>>   nixbld:x:%1%:%2%:Nix build user:/:/noshell
>> 
>> Isn’t it sufficient to have “/” as the home directory?
>
> It seems the build user noes not have sufficient permissions to create a
> directory there?  The tests want to create "~/.john" (specifically
> "//.john").

And setting ‘HOME’ isn’t enough?  (There are several packages where we
do that right before the ‘check’ phase.)

> From dd9795e5d63beaf06f2e3c76944e82a5564dc87d Mon Sep 17 00:00:00 2001
> From: Eric Bavier <[email-masked]>
> Date: Mon, 11 Sep 2017 21:44:14 -0500
> Subject: [PATCH] gnu: Add John the Ripper.
>
> * gnu/packages/password-utils.scm (john-the-ripper-jumbo): New variable.

Perfect, thanks!

Ludo’.