From 59d4f0d74810208ab379d63c923f7a86ecd0f0bb3dec2feec5631133f7d4f0b5 Mon Sep 17 00:00:00 2001 From: Guido Berhoerster Date: Mon, 4 Jun 2012 19:39:12 +0000 Subject: [PATCH] Accepting request 123571 from home:gberh:branches:X11:xfce - renamed xfce4-session-adapt-session-script.patch to xfce4-session-adapt-session-script.patch - remove bashisms from xinitrc - do not modify XDG_CONFIG_DIRS and XDG_DATA_DIRS unless necessary in startxfce4 - deliver %{_datadir}/xfce and add it to XDG_DATA_DIRS before %{_datadir} to allow for Xfce-specific defaults OBS-URL: https://build.opensuse.org/request/show/123571 OBS-URL: https://build.opensuse.org/package/show/X11:xfce/xfce4-session?expand=0&rev=96 --- xfce4-session-adapt-session-script.patch | 46 --- xfce4-session-adapt-session-scripts.patch | 327 ++++++++++++++++++++++ xfce4-session.changes | 11 + xfce4-session.spec | 7 +- 4 files changed, 343 insertions(+), 48 deletions(-) delete mode 100644 xfce4-session-adapt-session-script.patch create mode 100644 xfce4-session-adapt-session-scripts.patch diff --git a/xfce4-session-adapt-session-script.patch b/xfce4-session-adapt-session-script.patch deleted file mode 100644 index 0343106..0000000 --- a/xfce4-session-adapt-session-script.patch +++ /dev/null @@ -1,46 +0,0 @@ -Index: xfce4-session-4.9.0/scripts/xinitrc.in -=================================================================== ---- xfce4-session-4.9.0.orig/scripts/xinitrc.in -+++ xfce4-session-4.9.0/scripts/xinitrc.in -@@ -1,4 +1,4 @@ --#!/bin/sh -+#!/bin/bash - - # fix broken $UID on some system... - if test "x$UID" = "x"; then -@@ -38,12 +38,6 @@ if test "x$XDG_CACHE_HOME" = "x" ; then - fi - [ -d "$XDG_CACHE_HOME" ] || mkdir "$XDG_CACHE_HOME" - --# set up XDG user directores. see --# http://freedesktop.org/wiki/Software/xdg-user-dirs --if which xdg-user-dirs-update >/dev/null 2>&1; then -- xdg-user-dirs-update --fi -- - # Modify libglade and glade environment variables so that - # it will find the files installed by Xfce - GLADE_CATALOG_PATH="$GLADE_CATALOG_PATH:/usr/share/glade3/catalogs" -Index: xfce4-session-4.9.0/scripts/xinitrc.in.in -=================================================================== ---- xfce4-session-4.9.0.orig/scripts/xinitrc.in.in -+++ xfce4-session-4.9.0/scripts/xinitrc.in.in -@@ -1,4 +1,4 @@ --#!/bin/sh -+#!/bin/bash - - # fix broken $UID on some system... - if test "x$UID" = "x"; then -@@ -38,12 +38,6 @@ if test "x$XDG_CACHE_HOME" = "x" ; then - fi - [ -d "$XDG_CACHE_HOME" ] || mkdir "$XDG_CACHE_HOME" - --# set up XDG user directores. see --# http://freedesktop.org/wiki/Software/xdg-user-dirs --if which xdg-user-dirs-update >/dev/null 2>&1; then -- xdg-user-dirs-update --fi -- - # Modify libglade and glade environment variables so that - # it will find the files installed by Xfce - GLADE_CATALOG_PATH="$GLADE_CATALOG_PATH:@XFCE_GLADE_CATALOG_PATH@" diff --git a/xfce4-session-adapt-session-scripts.patch b/xfce4-session-adapt-session-scripts.patch new file mode 100644 index 0000000..4e4865b --- /dev/null +++ b/xfce4-session-adapt-session-scripts.patch @@ -0,0 +1,327 @@ +Index: xfce4-session-4.10.0/scripts/xinitrc.in +=================================================================== +--- xfce4-session-4.10.0.orig/scripts/xinitrc.in ++++ xfce4-session-4.10.0/scripts/xinitrc.in +@@ -38,12 +38,6 @@ if test "x$XDG_CACHE_HOME" = "x" ; then + fi + [ -d "$XDG_CACHE_HOME" ] || mkdir "$XDG_CACHE_HOME" + +-# set up XDG user directores. see +-# http://freedesktop.org/wiki/Software/xdg-user-dirs +-if which xdg-user-dirs-update >/dev/null 2>&1; then +- xdg-user-dirs-update +-fi +- + # Modify libglade and glade environment variables so that + # it will find the files installed by Xfce + GLADE_CATALOG_PATH="$GLADE_CATALOG_PATH:/usr/share/glade3/catalogs" +@@ -81,112 +75,17 @@ cat /dev/null $XRESOURCES | xrdb -nocpp + # load local modmap + test -r $HOME/.Xmodmap && xmodmap $HOME/.Xmodmap + +-# run xfce4-session if installed +-if which xfce4-session >/dev/null 2>&1; then +- +- # check if we start xfce4-session with ck-launch-session. this is only +- # required for starting from a console, not a login manager +- if test "x$XFCE4_SESSION_WITH_CK" = "x1"; then +- if which ck-launch-session >/dev/null 2>&1; then +- ck-launch-session xfce4-session +- else +- echo +- echo "You have tried to start Xfce with consolekit support, but" +- echo "ck-launch-session is not installed." +- echo "Aborted startup..." +- echo +- +- exit 1 +- fi +- else +- # start xfce4-session normally +- xfce4-session ++# check if we start xfce4-session with ck-launch-session. this is only ++# required for starting from a console, not a login manager ++if test "x$XFCE4_SESSION_WITH_CK" = "x1"; then ++ if ! ck-launch-session xfce4-session; then ++ cat >&2 <<'EOF' ++Failed to start Xfce with consolekit support. ++Aborted startup... ++EOF ++ exit 1 + fi +- +- exit 0 ++else ++ # start xfce4-session normally ++ xfce4-session + fi +- +-################## +-# IMPORTANT NOTE # +-################## +- +-# Everything below here ONLY gets executed if you are NOT using xfce4-session +-# (Xfce's session manager). If you are using the session manager, everything +-# below is handled by it, and the code below is not executed at all. If you're +-# not sure if you're using the session manager, type 'ps -e|grep xfce4-session' +-# in a terminal while Xfce is running. +- +-################## +- +-# Use dbus-launch if installed. +-if test x"$DBUS_SESSION_BUS_ADDRESS" = x""; then +- if which dbus-launch >/dev/null 2>&1; then +- eval `dbus-launch --sh-syntax --exit-with-session` +- # some older versions of dbus don't export the var properly +- export DBUS_SESSION_BUS_ADDRESS +- else +- echo "Could not find dbus-launch; Xfce will not work properly" >&2 +- fi +-fi +- +-# this is only necessary when running w/o xfce4-session +-xsetroot -solid black -cursor_name watch +- +-# or use old-fashioned startup script otherwise +- +-xfsettingsd & +-xfwm4 --daemon +- +-# start up stuff in $XDG_CONFIG_HOME/autostart/ +-if test -d "$XDG_CONFIG_HOME/autostart"; then +- for i in ${XDG_CONFIG_HOME}/autostart/*.desktop; do +- grep -q -E "^Hidden=true" "$i" && continue +- if grep -q -E "^OnlyShowIn=" "$i"; then +- # need to test twice, as lack of the line entirely means we still run it +- grep -E "^OnlyShowIn=" "$i" | grep -q 'XFCE;' || continue +- fi +- grep -E "^NotShowIn=" "$i" | grep -q 'XFCE;' && continue +- +- # check for TryExec +- trycmd=`grep -E "^TryExec=" "$i" | cut -d'=' -f2` +- if test "$trycmd"; then +- which "$trycmd" >/dev/null 2>&1 || continue +- fi +- +- cmd=`grep -E "^Exec=" "$i" | cut -d'=' -f2` +- if test "$cmd" && which "$cmd" >/dev/null 2>&1; then +- $cmd & +- fi +- done +-fi +- +-xfdesktop& +-orage & +- +-panel=`which xfce4-panel` +-case "x$panel" in +- x|xno*) +- ;; +- *) +- $panel +- ret=$? +- while test $ret -ne 0; do +- xmessage -center -file - -timeout 20 -title Error <&2 </dev/null 2>&1; then +- xdg-user-dirs-update +-fi +- + # Modify libglade and glade environment variables so that + # it will find the files installed by Xfce + GLADE_CATALOG_PATH="$GLADE_CATALOG_PATH:@XFCE_GLADE_CATALOG_PATH@" +@@ -81,112 +75,17 @@ cat /dev/null $XRESOURCES | xrdb -nocpp + # load local modmap + test -r $HOME/.Xmodmap && xmodmap $HOME/.Xmodmap + +-# run xfce4-session if installed +-if which xfce4-session >/dev/null 2>&1; then +- +- # check if we start xfce4-session with ck-launch-session. this is only +- # required for starting from a console, not a login manager +- if test "x$XFCE4_SESSION_WITH_CK" = "x1"; then +- if which ck-launch-session >/dev/null 2>&1; then +- ck-launch-session xfce4-session +- else +- echo +- echo "You have tried to start Xfce with consolekit support, but" +- echo "ck-launch-session is not installed." +- echo "Aborted startup..." +- echo +- +- exit 1 +- fi +- else +- # start xfce4-session normally +- xfce4-session ++# check if we start xfce4-session with ck-launch-session. this is only ++# required for starting from a console, not a login manager ++if test "x$XFCE4_SESSION_WITH_CK" = "x1"; then ++ if ! ck-launch-session xfce4-session; then ++ cat >&2 <<'EOF' ++Failed to start Xfce with consolekit support. ++Aborted startup... ++EOF ++ exit 1 + fi +- +- exit 0 ++else ++ # start xfce4-session normally ++ xfce4-session + fi +- +-################## +-# IMPORTANT NOTE # +-################## +- +-# Everything below here ONLY gets executed if you are NOT using xfce4-session +-# (Xfce's session manager). If you are using the session manager, everything +-# below is handled by it, and the code below is not executed at all. If you're +-# not sure if you're using the session manager, type 'ps -e|grep xfce4-session' +-# in a terminal while Xfce is running. +- +-################## +- +-# Use dbus-launch if installed. +-if test x"$DBUS_SESSION_BUS_ADDRESS" = x""; then +- if which dbus-launch >/dev/null 2>&1; then +- eval `dbus-launch --sh-syntax --exit-with-session` +- # some older versions of dbus don't export the var properly +- export DBUS_SESSION_BUS_ADDRESS +- else +- echo "Could not find dbus-launch; Xfce will not work properly" >&2 +- fi +-fi +- +-# this is only necessary when running w/o xfce4-session +-xsetroot -solid black -cursor_name watch +- +-# or use old-fashioned startup script otherwise +- +-xfsettingsd & +-xfwm4 --daemon +- +-# start up stuff in $XDG_CONFIG_HOME/autostart/ +-if test -d "$XDG_CONFIG_HOME/autostart"; then +- for i in ${XDG_CONFIG_HOME}/autostart/*.desktop; do +- grep -q -E "^Hidden=true" "$i" && continue +- if grep -q -E "^OnlyShowIn=" "$i"; then +- # need to test twice, as lack of the line entirely means we still run it +- grep -E "^OnlyShowIn=" "$i" | grep -q 'XFCE;' || continue +- fi +- grep -E "^NotShowIn=" "$i" | grep -q 'XFCE;' && continue +- +- # check for TryExec +- trycmd=`grep -E "^TryExec=" "$i" | cut -d'=' -f2` +- if test "$trycmd"; then +- which "$trycmd" >/dev/null 2>&1 || continue +- fi +- +- cmd=`grep -E "^Exec=" "$i" | cut -d'=' -f2` +- if test "$cmd" && which "$cmd" >/dev/null 2>&1; then +- $cmd & +- fi +- done +-fi +- +-xfdesktop& +-orage & +- +-panel=`which xfce4-panel` +-case "x$panel" in +- x|xno*) +- ;; +- *) +- $panel +- ret=$? +- while test $ret -ne 0; do +- xmessage -center -file - -timeout 20 -title Error <&2 <