Subject: Re: [bug#40753] gnu: spacefm: Add dependencies for extra functionality.

From: Jan Nieuwenhuizen <[email-masked]>
Date: Mon, 27 Apr 2020 10:37:52 +0200

Raghav Gururajan writes:

Hello Raghav,

>> Does this work; SU is not SUDO?  Also, I don't see how <sudo>/bin/sudo
>> would work.  When I run this
>> 
>>     $(guix build sudo)/bin/sudo 
>> 
>> I get
>> 
>>     sudo: /gnu/store/l320ig872ny66d1yi6v7n4zb93iz50dx-sudo-1.8.31p1/bin/sudo
>> must be owned by uid 0 and have the setuid bit set
>> 
>> Am I missing something?
>
> The option just has the name "su". It can be sudo too. I wouldn't worry about
> this terminal_su option.

That's okay, I'm not really worried :-)

When I read a patch, and I cannot imagine how that would work, I would
like to learn more to understand it beter, or remove it.  I do not like
adding code that I do not understand, and also does not work.

> This is just has to be set, so that spacefm doesn't throw "no valid
> program found" error, now and then, because of default FHS path.
> SpaceFM primarily uses graphical_su, which has been set to 'ktsuss'.

Okay, that would explain something.  So, TERMINAL_SU just needs to be
set to "some" existing executable, but is not used?  What about

     `(#:phases
       (modify-phases %standard-phases
         (add-after 'unpack 'patch-spacefm-conf
           (lambda _
             ;; If terminal_su is unset, users get a popup:
             ;; "Please configure a valid Terminal SU command."
             (substitute* "etc/spacefm.conf"
               (("#terminal_su=/bin/su")
                "terminal_su=/run/current-system/profile/bin/false"))
             #t)))

I tested this, and it hase the same, partially functional result, as
using sudo and setting #graphical_su.  WDYT?

>> > +             (substitute* "etc/spacefm.conf"
>> > +               (("#graphical_su=/usr/bin/gksu")
>> > +                (string-append "graphical_su="
>> > +                               (string-append (assoc-ref inputs "ktsuss")
>> > +                                              "/bin/ktsuss"))))
>> > +             #t)))  
>> 
>> Changing the default configurations does not seem to work for me.  When
>> I select
>> 
>>     /File/Root Window
>> 
>> there is a pop-up that says: Please configure a valid Terminal SU
>> command.  Does it work for You?
>
> This is exactly the error I was talking about above. Once we apply this patch,
> the error appearing stops and ktsuss will pop right up.

Hmm.  Can you double check?  I tested your patch again today it (still)
does not work.  I get

    Please configure a valid Terminal SU command.

Only when I manually point spacefm to it's configuration file, like so

    /gnu/store/y24705ci3dcjiqdig3k3x18pc6aymnzc-spacefm-1.0.6/bin/spacefm -c /gnu/store/y24705ci3dcjiqdig3k3x18pc6aymnzc-spacefm-1.0.6/etc/spacefm/

then the popup disappears.  So now I am wondering, is the problem with
your setup or with mine?  What do you think?

By the way, the KTSUSS popup (when I see it) does not work for me.  Have
you tested KTSUSS?

Greetings,
janneke

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