[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Bad install defaults for KDElibs



On Fri, Dec 12, 2003 at 03:03:40PM +0100, Achim Bohnet wrote:
> On Friday 12 December 2003 13:31, Thomas Zander wrote:
> > -----BEGIN PGP SIGNED MESSAGE-----
> > Hash: SHA1
> > 
> > Hi,
> > 
> > in the package kdelibs-data the /etc/kderc file is present (its a 
> > symlink), this is not very nice since that means it becomes impossible to 
> > have another version of KDE running on the same machine.
> 
> Right.  I usualy delete the file.  dpkg-divert did not work (tried long ago).

I don't understand why deletion is actually needed as mentioned below,
but ymmv.

> > KDE allows multiple versions by using the KDEDIR env-var to be set before 
> > calling startkde.  Unfortunately the new (own-compiled) version will then
> 
> KDEDIR is no solution for Debian because debian follows the fhs and can't
> install everything under a common root KDEDIR.   Next environment var are
> fragile and error prone.

Indeed, I don't even think if Debian tried to use KDEDIR it would work
for the reason mentioned below about how kde_confdir works.

> > find the paths to the /usr/bin and /usr/lib and start using that, getting 
> > a nice mix of versions on my desktop.
> > 
> > I recommend to use KDEDIR and friends instead of the kderc file.
> 
> No need for KDEDIR(S):  KDE std dir lookup includes
> 
>   a) /etc/kderc				# used by all KDE installations
>   b) $kdeconf_dir/system.kdeglobals	# aka /etc/kde3/ on Debian
>   c) hardcoded stuff in kstandarddirs.cpp(.in)
> 
> As a) points to b),  a) is just a duplicate but at the same time
> confuses other parallel KDE
> installations.  AFAIR remember most (if not all) vars in system.kdeglobals
> are identical to compiled in values in kstandarddirs.cpp(.in).  All derived from
> debian/debiandirs file.

If you don't use /etc/kderc and don't store configs in
$prefix/share/config (iow use /etc/kde3) then KDE will not know where
to locate other files since it forces everything to be located under the
$prefix it was installed in. IOW $kdeconf_dir = $prefix/share/config
which is hardcoded into the library itself, yes its a f*cking nasty
hack (KDE is filled with them), but I don't know how to patch around
it cleanly so I just use the /etc/kderc to override it. Also the KDE
lookup looks in KDEDIR before /etc/kderc or did the last time I checked.

For example:

/home/ccheney/.kde/bin/:/usr/local/bin/:/usr/bin/

with KDEDIR=/opt/kde3 it should show as:

/home/ccheney/.kde/bin/:/opt/kde3/bin:/usr/local/bin/:/usr/bin/

Am I missing something?

BTW the only things I have listed in system.kdeglobals now are things
that differ from upstream KDE since I realized the others weren't really
needed.

> Summary: get rid of /etc/kderc, Debians KDE will not notice.

For reasons noted above KDE definitely would notice...

Chris

Attachment: signature.asc
Description: Digital signature


Reply to: