Subject: bug#20037: problem still persist

From: Tomáš Čech <[email-masked]>
Date: Mon, 6 Apr 2015 23:06:39 +0200

On Sun, Apr 05, 2015 at 11:05:34PM +0200, Ludovic Courtès wrote:
>Tomáš Čech <[email-masked]> skribis:
>
>> I'm afraid I can reproduce it.
>
>It’s a different problem this time.  :-)
>
>> ----------------------%<----my-config.scm----begin---->%-------------------
>
>[...]
>
>>  (packages
>>   (append
>>    (list
>>     ;; absolutely necessary
>>     emacs lvm2 mc bash texinfo
>
>(Unrelated, but I personally find it more convenient to have only core
>packages in the global profile, and then have the rest in user
>profiles.)

(
I do agree with you, but
    emacs - default editor and interface for Guix
    lvm2 - I need it to mount filesystems
    mc - OK, this can be ommited
    bash - regardless being BASH fan and user - this de-facto standard, my
           scripts relies on bashism for speed and cleaner code (really! :)
    texinfo - I really need to access DMD and Guix manuals to be able to use
      	     them (already happened to me when I got lost without Internet
      	     connection)
)

>
>[...]
>
>>  (services
>>   (append
>>    (list
>>     (lsh-service #:port-number 22 #:root-login? #t #:initialize? #t)
>>     (slim-service)
>>     (wicd-service)
>>     (avahi-service)
>>     (dbus-service (list avahi wicd))
>>     (mingetty-service "ttyS0"))
>
>[...]
>
>>    ?: 0 [symlink "/gnu/store/z95z25d73kjza99s3w95lrdsiqlcdv0a-login" ...]
>>
>> ERROR: In procedure symlink:
>> ERROR: In procedure symlink: File exists
>
>The culprit is the ‘mingetty-service’ call above: since it uses a #:motd
>different from that used in the other ‘mingetty-service’ calls in
>%base-services, the thing tries to create a different pam.d/login file
>for it, but that fails because there’s already a pam.d/login file.
>
>The workaround is to write:
>
>    (mingetty-service "ttyS0"
>                      #:motd (text-file "motd" "
>This is the GNU operating system, welcome!\n\n"))

FTR (in case someone will face the same problem), text-file is in (guix store)
module so you will need to add that one as well.

>Since this is the same motd as the other mingetty services, everything
>is fine.
>
>This is of course unsatisfactory.  The more general issue is that
>service procedures need to be able to share state/configuration info,
>which I hope we can fix soon.

Thanks for your analysis. I can confirm that your workaround worked and I can
use Guix once again. Sorry for not recognizing this as another issue.

Thanks,

S_W