Subject: Re: bug#32478: pcscd service activation causes boot failure

From: Chris Marusich <[email-masked]>
Date: Mon, 20 Aug 2018 21:52:19 -0700

Hi Ludo and Arun,

[email-masked] (Ludovic Courtès) writes:

>> ERROR: In procedure dynamic-func:
>> In procedure dynamic-pointer: Symbol not found: strverscmp
>
> This is because (guix utils) pulls in lots of things that are not really
> meant to be used on the “build side” (a misnomer in this case, but you
> see what I mean ;-)).  Here, it assumes that dlopen support is available
> but it’s not because the activation snippet runs on the
> statically-linked Guile.

That makes sense.  I keep forgetting about this.  :-) Thank you for
reminding me!

> I think “TODO: Deduplicate” would be enough as a comment, or at least
> something more concise like “XXX: We cannot use (guix utils) because it
> requires a dynamically-linked Guile, hence the duplicate
> ‘switch-symlinks’.”  I leave it up to you!

Yes, I agree.  I'll simplify the comment.  I included the long comment
mainly in the hopes that somebody would be able to help me understand
why it wasn't working.

Arun Isaac <[email-masked]> writes:

>> Commit de30205ba0f63eb987097a9f47b6e4fd38cd9044 added a pcscd service
>> (hooray!).  However, its activation procedure doesn't always work.  The
>> system test passes, and the activation procedure works the first time
>> you boot, but if you reboot, it will fail because the symlink it creates
>> already exists.  The attached patch fixes the problem.
>
> Thanks for catching and fixing this! I am still in the process of
> building and testing your patch. I ran out of memory and had to `guix
> gc' and rebuild again. As you said, it takes a while. But, your patch
> LGTM. Please go ahead and push to master at your discretion, after
> addressing Ludo's feedback.

OK!  I've rewritten the comment as Ludo suggested and committed this to
master as 6fb6ac6857df31c55a640eead2a5f79edd7dab14.

Now, I'll close this bug report.

-- 
Chris