Subject: Re: [bug#41350] [PATCH v3 1/3] utils: Move 'reset-timestamps' out of database.

From: Jan Nieuwenhuizen <[email-masked]>
Date: Wed, 27 May 2020 11:10:30 +0200

Ludovic Courtès writes:

Hi!

> "Jan (janneke) Nieuwenhuizen" <[email-masked]> skribis:
>
>> This supports calling reset-timestamps without loading sqlite3.
>>
>> * guix/store/database.scm (reset-timestamps): Move to...
>> * guix/utils.scm (reset-timestamps): ... here.
>> * gnu/build/vm.scm: Include it.
>
> Please open different issues for different patch series so that each one
> is visible.  :-)

Okay...yes this "grew" out of the wip-hurd-vm => qemu-cross => etc. :-/

>> --- a/gnu/build/vm.scm
>> +++ b/gnu/build/vm.scm
>> @@ -26,6 +26,7 @@
>>    #:use-module (guix build utils)
>>    #:use-module (guix build store-copy)
>>    #:use-module (guix build syscalls)
>> +  #:use-module ((guix utils) #:select (reset-timestamps))
>
> We shouldn’t include (guix utils) on the build side because it pulls in
> the host (guix config), which is bad because it’s user-specific:
>
> scheme@(guile-user)> ,use(guix modules)
> scheme@(guile-user)> ,pp (source-module-closure '((guix utils)))
> $7 = ((guix utils)
>  (guix config)
>  (guix memoization)
>  (guix profiling)
>  (guix build utils)
>  (guix build syscalls))

Oh, crap!

> Or we have to remember to do the ((guix config) => ,(make-config.scm))
> dance.
>
> What’s the problem with loading sqlite3?

When running a native qemu-image with cross-built content, any .GO files
for TARGET are skipped and .SCM load fine, except for sqlite.  It fails
trying to load the sqlite3.so

Greetings,
Janneke

-- 
Jan Nieuwenhuizen <[email-masked]> | GNU LilyPond http://lilypond.org
Freelance IT http://JoyofSource.com | Avatar® http://AvatarAcademy.com