[arch-commits] CVS update of extra/gnome/fast-user-switch-applet (3 files)

Jan de Groot jgc at archlinux.org
Tue Dec 11 19:14:36 UTC 2007


    Date: Tuesday, December 11, 2007 @ 14:14:36
  Author: jgc
    Path: /home/cvs-extra/extra/gnome/fast-user-switch-applet

   Added: fast-user-switch-applet-2.17.4-socket-check.patch (1.1)
          startx.patch (1.1)
Modified: PKGBUILD (1.10 -> 1.11)

upgpkg: fast-user-switch-applet 2.20.0-2
Add patches from Redhat to fix GDM socket detection and to avoid crashing when GDM is not found


---------------------------------------------------+
 PKGBUILD                                          |   10 +-
 fast-user-switch-applet-2.17.4-socket-check.patch |   20 +++++
 startx.patch                                      |   76 ++++++++++++++++++++
 3 files changed, 103 insertions(+), 3 deletions(-)


Index: extra/gnome/fast-user-switch-applet/PKGBUILD
diff -u extra/gnome/fast-user-switch-applet/PKGBUILD:1.10 extra/gnome/fast-user-switch-applet/PKGBUILD:1.11
--- extra/gnome/fast-user-switch-applet/PKGBUILD:1.10	Sat Sep 22 18:08:13 2007
+++ extra/gnome/fast-user-switch-applet/PKGBUILD	Tue Dec 11 14:14:36 2007
@@ -1,10 +1,10 @@
-# $Id: PKGBUILD,v 1.10 2007/09/22 22:08:13 jgc Exp $
+# $Id: PKGBUILD,v 1.11 2007/12/11 19:14:36 jgc Exp $
 # Maintainer: Jan de Groot <jgc at archlinux.org>
 # Contributor: Mark Rosenstand <mark at borkware.net>
 
 pkgname=fast-user-switch-applet
 pkgver=2.20.0
-pkgrel=1
+pkgrel=2
 pkgdesc="An applet for the GNOME panel which provides a menu to switch between users."
 arch=(i686 x86_64)
 license=('GPL')
@@ -13,11 +13,15 @@
 makedepends=('perlxml' 'pkgconfig')
 options=(!emptydirs)
 install=fusa.install
-source=(http://ftp.gnome.org/pub/GNOME/sources/fast-user-switch-applet/2.20/${pkgname}-${pkgver}.tar.bz2)
+source=(http://ftp.gnome.org/pub/GNOME/sources/fast-user-switch-applet/2.20/${pkgname}-${pkgver}.tar.bz2
+	fast-user-switch-applet-2.17.4-socket-check.patch
+	startx.patch)
 md5sums=('1d1fd25b5599f7656e3fa89aa913137c')
 
 build() {
   cd ${startdir}/src/${pkgname}-${pkgver}
+  patch -Np1 -i ${startdir}/src/startx.patch || return 1
+  patch -Np1 -i ${startdir}/src/fast-user-switch-applet-2.17.4-socket-check.patch || return 1
   ./configure --prefix=/usr --sysconfdir=/etc \
               --libexecdir=/usr/lib/fast-user-switch-applet \
               --localstatedir=/var --disable-scrollkeeper \
Index: extra/gnome/fast-user-switch-applet/fast-user-switch-applet-2.17.4-socket-check.patch
diff -u /dev/null extra/gnome/fast-user-switch-applet/fast-user-switch-applet-2.17.4-socket-check.patch:1.1
--- /dev/null	Tue Dec 11 14:14:36 2007
+++ extra/gnome/fast-user-switch-applet/fast-user-switch-applet-2.17.4-socket-check.patch	Tue Dec 11 14:14:36 2007
@@ -0,0 +1,20 @@
+--- fast-user-switch-applet-2.17.4/src/gdm-queue.c.socket-check	2007-03-30 16:09:50.000000000 -0400
++++ fast-user-switch-applet-2.17.4/src/gdm-queue.c	2007-03-30 16:10:35.000000000 -0400
+@@ -201,7 +201,7 @@
+ 
+   if (stat (GDM_NEW_SOCKET_FILENAME, &file_stat) == 0)
+     strcpy (addr.sun_path, GDM_NEW_SOCKET_FILENAME);
+-  if (stat (GDM_OLD_SOCKET_FILENAME, &file_stat) == 0)
++  else if (stat (GDM_OLD_SOCKET_FILENAME, &file_stat) == 0)
+     strcpy (addr.sun_path, GDM_OLD_SOCKET_FILENAME);
+   else
+     return FALSE;
+@@ -265,7 +265,7 @@
+ 
+         if (stat (GDM_NEW_SOCKET_FILENAME, &file_stat) == 0)
+           strcpy (addr.sun_path, GDM_NEW_SOCKET_FILENAME);
+-        if (stat (GDM_OLD_SOCKET_FILENAME, &file_stat) == 0)
++        else if (stat (GDM_OLD_SOCKET_FILENAME, &file_stat) == 0)
+           strcpy (addr.sun_path, GDM_OLD_SOCKET_FILENAME);
+         else
+           g_error ("Can't find gdm socket!");
Index: extra/gnome/fast-user-switch-applet/startx.patch
diff -u /dev/null extra/gnome/fast-user-switch-applet/startx.patch:1.1
--- /dev/null	Tue Dec 11 14:14:36 2007
+++ extra/gnome/fast-user-switch-applet/startx.patch	Tue Dec 11 14:14:36 2007
@@ -0,0 +1,76 @@
+--- fast-user-switch-applet-2.17.4/src/gdm-queue.c.startx	2007-02-22 18:28:42.000000000 -0500
++++ fast-user-switch-applet-2.17.4/src/gdm-queue.c	2007-03-28 16:24:34.000000000 -0400
+@@ -190,6 +190,34 @@
+   gdm_socket_status = GDM_SOCKET_CLOSED;
+ }
+ 
++gboolean
++gdm_is_running (void)
++{ 
++  struct sockaddr_un addr;
++  struct stat file_stat;
++  int fd;
++  
++  fd = socket (PF_LOCAL, SOCK_STREAM, 0);
++
++  if (stat (GDM_NEW_SOCKET_FILENAME, &file_stat) == 0)
++    strcpy (addr.sun_path, GDM_NEW_SOCKET_FILENAME);
++  if (stat (GDM_OLD_SOCKET_FILENAME, &file_stat) == 0)
++    strcpy (addr.sun_path, GDM_OLD_SOCKET_FILENAME);
++  else
++    return FALSE;
++
++  addr.sun_family = AF_UNIX;
++
++  if (connect (fd, (struct sockaddr *)&addr, sizeof (addr)) < 0) {
++    VE_IGNORE_EINTR (close (fd));
++    return FALSE;
++  }
++
++  VE_IGNORE_EINTR (close (fd));
++
++  return TRUE;
++}
++         
+ /* This is the function which gets called repeatedly while we're idle
+  * to remove messages from the queue and send them to GDM.
+  */
+--- fast-user-switch-applet-2.17.4/src/applet.c.startx	2007-03-28 16:24:34.000000000 -0400
++++ fast-user-switch-applet-2.17.4/src/applet.c	2007-03-28 16:24:53.000000000 -0400
+@@ -60,6 +60,7 @@
+ #include "fusa-manager.h"
+ #include "fusa-user-menu-item.h"
+ #include "fusa-utils.h"
++#include "gdm-queue.h"
+ 
+ 
+ /* **************** *
+@@ -296,6 +297,9 @@
+   if (strcmp (iid, "OAFIID:GNOME_FastUserSwitchApplet") != 0)
+     return FALSE;
+ 
++  if (!gdm_is_running ())
++    return TRUE;
++
+   /* Global FusaManager */
+   if (!first_time)
+     {
+@@ -325,6 +329,7 @@
+       gtk_window_set_default_icon_name ("stock_people");
+     }
+ 
++  
+   adata = g_new0 (FusaAppletData, 1);
+   adata->applet = applet;
+ 
+--- fast-user-switch-applet-2.17.4/src/gdm-queue.h.startx	2007-02-02 18:17:07.000000000 -0500
++++ fast-user-switch-applet-2.17.4/src/gdm-queue.h	2007-03-28 16:24:34.000000000 -0400
+@@ -102,6 +102,8 @@
+ /* This just gets a cookie of MIT-MAGIC-COOKIE-1 type */
+ gchar *get_mit_magic_cookie (GdkScreen *screen, gboolean binary);
+ 
++gboolean gdm_is_running (void);
++
+ G_END_DECLS
+ 
+ #endif /* !__GDM_QUEUE_H__ */




More information about the arch-commits mailing list