[arch-commits] CVS update of extra/gnome/gnome-volume-manager (2 files)
Jan de Groot
jgc at archlinux.org
Sun Sep 23 18:40:18 UTC 2007
Date: Sunday, September 23, 2007 @ 14:40:18
Author: jgc
Path: /home/cvs-extra/extra/gnome/gnome-volume-manager
Added: gvm-check-local.patch (1.1)
Modified: PKGBUILD (1.22 -> 1.23)
upgpkg: gnome-volume-manager 2.17.0-3
GNOME 2.20 - fix local user check, check for DISPLAY variable
-----------------------+
PKGBUILD | 16 +++++++-----
gvm-check-local.patch | 61 ++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 71 insertions(+), 6 deletions(-)
Index: extra/gnome/gnome-volume-manager/PKGBUILD
diff -u extra/gnome/gnome-volume-manager/PKGBUILD:1.22 extra/gnome/gnome-volume-manager/PKGBUILD:1.23
--- extra/gnome/gnome-volume-manager/PKGBUILD:1.22 Sun Apr 22 12:12:32 2007
+++ extra/gnome/gnome-volume-manager/PKGBUILD Sun Sep 23 14:40:17 2007
@@ -1,25 +1,29 @@
-# $Id: PKGBUILD,v 1.22 2007/04/22 16:12:32 jgc Exp $
+# $Id: PKGBUILD,v 1.23 2007/09/23 18:40:17 jgc Exp $
# Maintainer: Jan de Groot <jgc at archlinux.org>
# Contributor: Link Dupont <link at subpop.net>
pkgname=gnome-volume-manager
pkgver=2.17.0
-pkgrel=2
+pkgrel=3
pkgdesc="GNOME daemon to auto-mount and manage media devices"
arch=(i686 x86_64)
license=('GPL')
url=http://www.gnome.org/
-depends=('libgnomeui>=2.18.1-2' 'libnotify>=0.4.4' 'gnome-mount>=0.6')
-makedepends=('nautilus>=2.18.1' 'perlxml' 'pkgconfig')
+depends=('libgnomeui>=2.20.0' 'libnotify>=0.4.4' 'gnome-mount>=0.6')
+makedepends=('nautilus>=2.20.0' 'perlxml' 'pkgconfig')
install=gnome-volume-manager.install
groups=('gnome-extra')
source=(http://ftp.gnome.org/pub/GNOME/sources/${pkgname}/2.17/${pkgname}-${pkgver}.tar.bz2
- gvm-mount-async.patch)
-md5sums=('104cec26e721e0bba69debd392367195' '534b8b9633148bd975b2b9b518c41fb4')
+ gvm-mount-async.patch
+ gvm-check-local.patch)
+md5sums=('104cec26e721e0bba69debd392367195'
+ '534b8b9633148bd975b2b9b518c41fb4'
+ 'cb45810b2adb95d39e1272470f10a21a')
build() {
cd ${startdir}/src/${pkgname}-${pkgver}
patch -Np0 -i ${startdir}/src/gvm-mount-async.patch || return 1
+ patch -Np0 -i ${startdir}/src/gvm-check-local.patch || return 1
./configure --prefix=/usr --sysconfdir=/etc \
--localstatedir=/var
make || return 1
Index: extra/gnome/gnome-volume-manager/gvm-check-local.patch
diff -u /dev/null extra/gnome/gnome-volume-manager/gvm-check-local.patch:1.1
--- /dev/null Sun Sep 23 14:40:18 2007
+++ extra/gnome/gnome-volume-manager/gvm-check-local.patch Sun Sep 23 14:40:17 2007
@@ -0,0 +1,61 @@
+--- src/manager.c.orig 2007-09-23 18:07:07.000000000 +0000
++++ src/manager.c 2007-09-23 18:26:48.000000000 +0000
+@@ -3177,55 +3177,9 @@
+ static gboolean
+ gvm_local_user (void)
+ {
+- static guint32 local = 0;
+- struct dirent *dent;
+- struct utmp *utmp;
+- const char *user;
+- char *vtend;
+- size_t n;
+- DIR *dir;
+- int vt;
+-
+- if (local & LOCAL_USER_CHECKED)
+- return (local & LOCAL_USER_FOUND);
+-
+- user = g_get_user_name ();
+- n = strlen (user);
+-
+- if (!(dir = opendir (GVM_CONSOLE_AUTH_DIR)))
+- goto fallback;
+-
+- /* this works for pam_console ($path/user) and pam_foreground ($path/user:vt) - see bug #336932 */
+- while ((dent = readdir (dir))) {
+- if (!strncmp (user, dent->d_name, n) && dent->d_name[n] == '\0'
+- || (dent->d_name[n] == ':' && ((vt = strtol (dent->d_name + n + 1, &vtend, 10)) >= 0) && *vtend == '\0')) {
+- local = LOCAL_USER_FOUND;
+- break;
+- }
+- }
+-
+- closedir (dir);
+-
+- fallback:
+-
+- if (!(local & LOCAL_USER_FOUND)) {
+- setutent ();
+-
+- while (!(local & LOCAL_USER_FOUND) && (utmp = getutent ())) {
+- if (utmp->ut_type != USER_PROCESS || strncmp (utmp->ut_user, user, n) != 0)
+- continue;
+-
+- /* only accept local X sessions or local tty's (user started X via `startx`) */
+- local = utmp->ut_line[0] == ':' && utmp->ut_line[1] >= '0' && utmp->ut_line[1] <= '9'
+- || !strncmp (utmp->ut_line, "tty", 3) ? LOCAL_USER_FOUND : 0;
+- }
+-
+- endutent ();
+- }
+-
+- local |= LOCAL_USER_CHECKED;
+-
+- return (local & LOCAL_USER_FOUND);
++ const gchar* display;
++ display = g_getenv("DISPLAY");
++ return (display != NULL && display[0] == ':');
+ }
+
+ /* checks that the user is at the local active X session */
More information about the arch-commits
mailing list