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.000000000 +0100
+++ menu-2.1.36/debian/control  2008-01-13 03:02:02.000000000 +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.000000000 +0100
+++ menu-2.1.36/scripts/su-to-root      2008-01-13 03:06:35.000000000 +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

Reply via email to