[kde-freebsd] Re: patch needed for Xsession

Kris Moore kris at pcbsd.org
Thu Oct 28 20:59:37 CEST 2010


On Wed, Oct 27, 2010 at 02:30:03PM -0600, M. Warner Losh wrote:
>   Greetings,
> 
> I just spent a few days fighting ssh-agent.  This normally trivial 
> affair has taken far too long.  After much head scratching, I've tracked 
> the problem down.
> 
> FreeBSD's /bin/sh behaves differently than other systems.  The commands:
>      sh -c export -p
> and
>      sh -c "export -p"
> are treated differently.  The trouble is that this dark corner of shell 
> syntax is actually used in Xsession that's shipped with KDE4:
> 
>    */csh|*/tcsh)
>      # [t]cshrc is always sourced automatically.
>      # Note that sourcing csh.login after .cshrc is non-standard.
>      xsess_tmp=`mktemp /tmp/xsess-env-XXXXXX`
>      $SHELL -c "if (-f /etc/csh.login) source /etc/csh.login; if (-f 
> ~/.login) source ~/.login; /bin/sh
>   -c export -p >! $xsess_tmp"
>      . $xsess_tmp
>      rm -f $xsess_tmp
>      ;;
> 
> The obvious fix of single quoting the export -p command above appears to 
> work for me.  While I'm working with jilles@ to see if this difference 
> is normal variation in the implementation of a POSIX shell, or a bug, we 
> need a patch to the appropriate port so that we work correctly for users 
> whose login shell is csh or tcsh.  The effect of this bug is that no 
> variables set in .login are visible to kde, which makes it impossible to 
> do the normal thing of setting up the ssh-agent there (in some cases).
> 
> I'm not entirely sure what the right port is, since I'm using PC-BSD 8.1 
> (Hubble Edition), so I thought I'd raise this issue here so that people 
> can work on the issue, give me pointers, etc.  I've cc'd Kris Moore who 
> is the pc-bsd lead so he knows about the issue.
> 
> Comments?
> 
> Warner

I've gone ahead and fixed the Xsession we ship in PC-BSD, however
this won't correct it for FreeBSD KDE users. This file is generated
when the user runs "genkdmconf", and I confimed that it still produces the
broken Xsession. We'll need to get it fixed there for everybody :)

-- 
Kris Moore
PC-BSD Software


More information about the kde-freebsd mailing list