Go to:
Gentoo Home
Documentation
Forums
Lists
Bugs
Planet
Store
Wiki
Get Gentoo!
Gentoo's Bugzilla – Attachment 48123 Details for
Bug 40698
several KDE apps broken by upgrade from 3.1 to 3.2 do to Gentoo's use of .kde3.x instead of .kde
Home
|
New
–
[Ex]
|
Browse
|
Search
|
Privacy Policy
|
[?]
|
Reports
|
Requests
|
Help
|
New Account
|
Log In
[x]
|
Forgot Password
Login:
[x]
startkde for 3.4.0_beta1
startkde (text/plain), 11.43 KB, created by
Dan Armak (RETIRED)
on 2005-01-10 12:31:44 UTC
(
hide
)
Description:
startkde for 3.4.0_beta1
Filename:
MIME Type:
Creator:
Dan Armak (RETIRED)
Created:
2005-01-10 12:31:44 UTC
Size:
11.43 KB
patch
obsolete
>#!/bin/sh ># ># DEFAULT KDE STARTUP SCRIPT ( KDE-3.3.91 ) ># > ># When the X server dies we get a HUP signal from xinit. We must ignore it ># because we still need to do some cleanup. >trap 'echo GOT SIGHUP' HUP > ># Gentoo init > ># Make sure this KDE is used by apps running from our env >export PATH="/usr/kde/3.4/bin:${PATH}" >export KDEDIR="/usr/kde/3.4" > ># KDE stores dotfiles in ~/.kde. To support running different minor versions ># (eg 3.3, 3.4, 4.0...) during gradual upgrades, we store each version's ># dotfiles in ~/.kdeX.Y. We used to make ~/.kde a symlink to a ~/.kdeX.Y, ># but some apps store the real name (with X.Y in it) inside their configfiles, ># so when we upgrade (and copy .kdeX.Y to .kdeX.(Y+1)) these files break horribly ># (bug #40698). Therefore we have to move directories around. ># ># If a user runs two different KDE versions at the same time, mayhem will result. > >cd ~ > ># Upgrading from the old scheme where .kde is a symlink >if [ -h .kde ]; then > rm .kde >fi > ># A kde died unexpectedly and couldn't move away its .kde. ># The last running kde's version string is stored in ~/.kde-cur. >if [ -d .kde ]; then > if [ ! -r .kde-cur ]; then > echo "!!! ~/.kde-cur does not exist or is not readable." 1>&2 > echo "Cannot get rid of ~/.kde directory; abandoning kde configdir management." 1>&2 > else > lastver="`cat .kde-cur`" > if [ -e ".kde$lastver" ]; then > echo "!!! ~/.kde$lastver already exists, can't move ~/.kde aside" 1>&2 > counter=1 > while [ -e ".kde$lastver.backup-$counter" ]; do > echo "!!! Backup dir ~/.kde$lastver.backup-$counter already exists." 1>&2 > echo "Find out what's going wrong!" 1>&2 > let counter++ > done > mv .kde ".kde$lastver.backup-$counter" > fi > rm .kde-cur > fi >fi > ># If we suceeded >if [ ! -e .kde ]; then > > # If we have a configdir, activate it. > ourver=3.4 > ourdir=.kde$ourver > if [ -e "$ourdir" ]; then > if [ ! -d "$ourdir" ]; then > echo "!!! Configdir $ourdir is not a directory. Something's _really_ wrong. Aborting." 1>&2 > else > mv "$ourdir" .kde > fi > > # Otherwise (first run of this version), we copy over the most recent existing configdir. > else > for x in 3.3 3.2 3.1 3.0; do > if [ -d ".kde$x" ]; then > mostrecent=".kde$x" > break > fi > done > if [ -z "$mostrecent" ]; then > echo "No previous configdir found; starting with empty config" 1>&2 > else > echo "Copying previous configdir from $mostrecent" 1>&2 > cp -pr "$mostrecent" .kde > > # For the upgrade from kde 3.3, which still suffered from bug 40698, lots of little seds are needed. > if [ "$mostrecent" == ".kde3.3" ]; then > for file in share/apps/kdevdocumentation/search/htdig.conf \ > share/apps/kalarmd/clients \ > share/config/kdevdocumentationrc \ > share/config/katesyntaxhighlightingrc \ > share/config/ksmserverrc > do > sed -i -e "s:$HOME/.kde3.3:$HOME/.kde3.4:g" -e 's:$HOME/.kde3.3:$HOME/.kde3.4:g' ".kde/$file" > done > fi > fi > fi > > # Remember that we're running in case we die > echo 3.4 > .kde-cur >fi > ># environment friendly >unset lastver >unset counter >unset ourver >unset ourdir >unset mostrecent > ># Gentoo init ends > ># Check if a KDE session already is running >if dcop kdesktop >/dev/null 2>&1; then > echo "KDE seems to be already running on this display." > xmessage -geometry 500x100 "KDE seems to be already running on this display." > /dev/null 2>/dev/null > exit 1 >fi > ># Set the background to plain cyan. ># The standard X background is nasty, causing moire effects and exploding ># people's heads. We use colours from the standard KDE palette for those with ># palettised displays. >if test -z "$XDM_MANAGED" || echo "$XDM_MANAGED" | grep ",auto" > /dev/null; then > xsetroot -solid "#5477A0" >fi > ># we have to unset this for Darwin since it will screw up KDE's dynamic-loading >unset DYLD_FORCE_FLAT_NAMESPACE > ># in case we have been started with full pathname spec without being in PATH >bindir=`echo "$0" | sed -n 's,^\(/.*\)/[^/][^/]*$,\1,p'` >if [ -n "$bindir" ]; then > case $PATH in > $bindir|$bindir:*|*:$bindir|*:$bindir:*) ;; > *) PATH=$bindir:$PATH; export PATH;; > esac >fi > ># Boot sequence: ># ># kdeinit is used to fork off processes which improves memory usage ># and startup time. ># ># * kdeinit starts the dcopserver and klauncher first. ># * Then kded is started. kded is responsible for keeping the sycoca ># database up to date. When an up to date database is present it goes ># into the background and the startup continues. ># * Then kdeinit starts kcminit. kcminit performs initialisation of ># certain devices according to the user's settings ># ># * Then ksmserver is started which in turn starts ># 1) the window manager (kwin) ># 2) everything in $KDEDIR/share/autostart (kdesktop, kicker, etc.) ># 3) the rest of the session. > ># The user's personal KDE directory is usually ~/.kde, but this setting ># may be overridden by setting KDEHOME. > >kdehome=$HOME/.kde >test -n "$KDEHOME" && kdehome=`echo "$KDEHOME"|sed "s,^~/,$HOME/,"` > ># Source scripts found in <localprefix>/env/*.sh and <prefixes>/env/*.sh ># (where <localprefix> is $KDEHOME or ~/.kde, and <prefixes> is where KDE is installed) ># ># This is where you can define environment variables that will be available to ># all KDE programs, so this is where you can run agents using e.g. eval `ssh-agent` ># or eval `gpg-agent --daemon`. ># Note: if you do that, you should also put "ssh-agent -k" as a shutdown script ># ># (see end of this file). ># For anything else (that doesn't set env vars, or that needs a window manager), ># better use the Autostart folder. > >exepath=`kde-config --path exe` > >for prefix in `echo "$exepath" | sed -e 's^/bin/^/env/^g;s^:^ ^g'`; do > for file in "$prefix"*.sh; do > test -r "$file" && . "$file" > done >done > ># Activate the kde font directories. ># ># There are 4 directories that may be used for supplying fonts for KDE. ># ># There are two system directories. These belong to the administrator. ># There are two user directories, where the user may add her own fonts. ># ># The 'override' versions are for fonts that should come first in the list, ># i.e. if you have a font in your 'override' directory, it will be used in ># preference to any other. ># ># The preference order looks like this: ># user override, system override, X, user, system ># ># Where X is the original font database that was set up before this script ># runs. > >usr_odir=$HOME/.fonts/kde-override >usr_fdir=$HOME/.fonts > ># Add any user-installed font directories to the X font path >kde_fontpaths=$usr_fdir/fontpaths >do_usr_fdir=1 >do_usr_odir=1 >if test -r "$kde_fontpaths" ; then > savifs=$IFS > IFS=" >" > for fpath in `grep -v '^[ ]*#' < "$kde_fontpaths"` ; do > rfpath=`echo $fpath | sed "s:^~:$HOME:g"` > if test -s "$rfpath"/fonts.dir; then > xset fp+ "$rfpath" > if test "$rfpath" = "$usr_fdir"; then > do_usr_fdir=0 > fi > if test "$rfpath" = "$usr_odir"; then > do_usr_odir=0 > fi > fi > done > IFS=$savifs >fi > >if test -n "$KDEDIRS"; then > kdedirs_first=`echo "$KDEDIRS"|sed -e 's/:.*//'` > sys_odir=$kdedirs_first/share/fonts/override > sys_fdir=$kdedirs_first/share/fonts >else > sys_odir=$KDEDIR/share/fonts/override > sys_fdir=$KDEDIR/share/fonts >fi > ># We run mkfontdir on the user's font dirs (if we have permission) to pick ># up any new fonts they may have installed. If mkfontdir fails, we still ># add the user's dirs to the font path, as they might simply have been made ># read-only by the administrator, for whatever reason. > ># Only do usr_fdir and usr_odir if they are *not* listed in fontpaths >test -d "$sys_odir" && xset +fp "$sys_odir" >test $do_usr_odir -eq 1 && test -d "$usr_odir" && (mkfontdir "$usr_odir" ; xset +fp "$usr_odir") >test $do_usr_fdir -eq 1 && test -d "$usr_fdir" && (mkfontdir "$usr_fdir" ; xset fp+ "$usr_fdir") >test -d "$sys_fdir" && xset fp+ "$sys_fdir" > ># Ask X11 to rebuild its font list. >xset fp rehash > ># Set a left cursor instead of the standard X11 "X" cursor, since I've heard ># from some users that they're confused and don't know what to do. This is ># especially necessary on slow machines, where starting KDE takes one or two ># minutes until anything appears on the screen. ># ># If the user has overwritten fonts, the cursor font may be different now ># so don't move this up. ># >xsetroot -cursor_name left_ptr > ># Get Ghostscript to look into user's KDE fonts dir for additional Fontmap >if test -n "$GS_LIB" ; then > GS_LIB=$usr_fdir:$GS_LIB > export GS_LIB >else > GS_LIB=$usr_fdir > export GS_LIB >fi > ># Link "tmp" resource to directory in /tmp ># Creates a directory /tmp/kde-$USER and links $KDEHOME/tmp-$HOSTNAME to it. >lnusertemp tmp >/dev/null > ># Link "socket" resource to directory in /tmp ># Creates a directory /tmp/ksocket-$USER and links $KDEHOME/socket-$HOSTNAME to it. >lnusertemp socket >/dev/null > ># Link "cache" resource to directory in /var/tmp ># Creates a directory /var/tmp/kdecache-$USER and links $KDEHOME/cache-$HOSTNAME to it. >lnusertemp cache >/dev/null > ># In case of dcop sockets left by a previous session, cleanup >dcopserver_shutdown > >echo 'startkde: Starting up...' 1>&2 > ># run KPersonalizer before the session, if this is the first login >if kreadconfig --file kpersonalizerrc --group General --key FirstLogin --default true --type bool; then > # start only dcopserver, don't start whole kdeinit (takes too long) > echo 'startkde: Running kpersonalizer...' 1>&2 > dcopserver > kwin --lock & > kpersonalizer --before-session > # handle kpersonalizer restarts (language change) > while test $? -eq 1; do > kpersonalizer --r --before-session > done > dcopserver_shutdown > # shutdown will also make kwin quit, give it time to do so > sleep 1 >fi > ># the splashscreen and progress indicator >splash=`kreadconfig --file ksplashrc --group KSplash --key Theme` >if test "$splash" = "None"; then > echo >/dev/null #nothing >elif test "$splash" = "Simple"; then > ksplashsimple >else > ksplash --nodcop >fi > ># We set LD_BIND_NOW to increase the efficiency of kdeinit. ># kdeinit unsets this variable before loading applications. >LD_BIND_NOW=true kdeinit +kcminit >if test $? -ne 0; then > # Startup error > echo 'startkde: Could not start kdeinit. Check your installation.' 1>&2 > xmessage -geometry 500x100 "Could not start kdeinit. Check your installation." >fi > ># finally, give the session control to the session manager ># if the KDEWM environment variable has been set, then it will be used as KDE's ># window manager instead of kwin. ># if KDEWM is not set, ksmserver will ensure kwin is started. ># kwrapper is used to reduce startup time and memory usage ># kwrapper does not return usefull error codes such as the exit code of ksmserver. ># We only check for 255 which means that the ksmserver process could not be ># started, any problems thereafter, e.g. ksmserver failing to initialize, ># will remain undetected. >test -n "$KDEWM" && KDEWM="--windowmanager $KDEWM" >kwrapper ksmserver $KDEWM >if test $? -eq 255; then > # Startup error > echo 'startkde: Could not start ksmserver. Check your installation.' 1>&2 > xmessage -geometry 500x100 "Could not start ksmserver. Check your installation." >fi > >echo 'startkde: Shutting down...' 1>&2 > ># Clean up >kdeinit_shutdown >dcopserver_shutdown >artsshell -q terminate > >echo 'startkde: Running shutdown scripts...' 1>&2 > ># Run scripts found in $KDEDIRS/shutdown >for prefix in `echo "$exepath" | sed -e 's^/bin/^/shutdown/^g;s^:^ ^g'`; do > for file in `ls "$prefix" 2> /dev/null | egrep -v '(~|\.bak)$'`; do > test -x "$prefix$file" && "$prefix$file" > done >done > > ># Gentoo exit > ># Move the configdir back >mv .kde .kde3.4 >rm .kde-cur > ># Gentoo exit ends > >echo 'startkde: Done.' 1>&2
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Raw
Actions:
View
Attachments on
bug 40698
:
48123
|
48131