Package: menu
Version: 2.1.36
Severity: normal
Tags: patch
Hi!
Your package menu suggests kdebase-bin without a specific version.
With KDE 4, kdesu will no longer be found in /usr/bin, but in
`kde4-config --path libexec` which would be /usr/lib/kde4/libexec for
Debian. The KDE 4 Package which contains kdesu is then kdebase-runtime.
Please consider the appended patch to add support for kdesu from KDE 4 to
su-to-root.
Greetings,
Armin
diff -ur menu-2.1.36.orig/debian/control menu-2.1.36/debian/control
--- menu-2.1.36.orig/debian/control 2008-01-10 18:58:56.0 +0100
+++ menu-2.1.36/debian/control 2008-01-13 03:02:02.0 +0100
@@ -8,7 +8,7 @@
Package: menu
Architecture: any
Depends: ${shlibs:Depends}, dpkg (>=1.10)
-Suggests: gksu|kdebase-bin|sux
+Suggests: gksu|kdebase-bin (<< 4:4.0.0-1)|kdebase-runtime|sux
Description: generates programs menu for all menu-aware applications
Debian menu keeps transparently the menus in the different
window-managers in sync with the list of installed programs.
diff -ur menu-2.1.36.orig/scripts/su-to-root menu-2.1.36/scripts/su-to-root
--- menu-2.1.36.orig/scripts/su-to-root 2008-01-10 18:58:56.0 +0100
+++ menu-2.1.36/scripts/su-to-root 2008-01-13 03:06:35.0 +0100
@@ -82,14 +82,19 @@
X11)
if test -z "$SU_TO_ROOT_X"; then
if which gksu >/dev/null 2>&1 ; then
-if test "X$KDE_FULL_SESSION" = "Xtrue" \
- && which kdesu >/dev/null 2>&1 ; then
- SU_TO_ROOT_X=kdesu
+if test "X$KDE_FULL_SESSION" = "Xtrue" ; then
+ if which kdesu >/dev/null 2>&1 ; then
+SU_TO_ROOT_X=kdesu3
+ elif test -x /usr/lib/kde4/libexec/kdesu ; then
+SU_TO_ROOT_X=kdesu4
+ fi;
else
SU_TO_ROOT_X=gksu
fi;
elif which kdesu >/dev/null 2>&1 ; then
-SU_TO_ROOT_X=kdesu
+SU_TO_ROOT_X=kdesu3
+ elif test -x /usr/lib/kde4/libexec/kdesu ; then
+SU_TO_ROOT_X=kdesu4
elif which sux >/dev/null 2>&1 ; then
SU_TO_ROOT_X=sux
else
@@ -98,7 +103,8 @@
fi
case $SU_TO_ROOT_X in
gksu) gksu -u "$PRIV" "$COMMAND";;
- kdesu) kdesu -u "$PRIV" "$COMMAND";;
+ kdesu3) kdesu -u "$PRIV" "$COMMAND";;
+ kdesu4) /usr/lib/kde4/libexec/kdesu -u "$PRIV" "$COMMAND";;
sux) env SU_TO_ROOT_SU=sux \
x-terminal-emulator -e su-to-root -p "$PRIV" -c "$COMMAND";;
# As a last resort, open a new x-terminal-emulator and prompt for the
password