diff options
author | Joe Marcus Clarke <marcus@FreeBSD.org> | 2003-09-30 02:38:10 +0000 |
---|---|---|
committer | Joe Marcus Clarke <marcus@FreeBSD.org> | 2003-09-30 02:38:10 +0000 |
commit | ad04004ff5ed234824c8d9c073877c3d69db6832 (patch) | |
tree | 209b7f9d8c707fb0784164ab10b88bc8f4f96cbc /devel/gconf | |
parent | b6a40f4e3327f0230660a90bb71b69fe6d3961ba (diff) | |
download | ports-ad04004ff5ed234824c8d9c073877c3d69db6832.tar.gz ports-ad04004ff5ed234824c8d9c073877c3d69db6832.zip |
Notes
Diffstat (limited to 'devel/gconf')
-rw-r--r-- | devel/gconf/Makefile | 2 | ||||
-rw-r--r-- | devel/gconf/files/patch-gconf::gconf-internals.c | 54 |
2 files changed, 52 insertions, 4 deletions
diff --git a/devel/gconf/Makefile b/devel/gconf/Makefile index 724c5affc5f1..b659af40d109 100644 --- a/devel/gconf/Makefile +++ b/devel/gconf/Makefile @@ -7,7 +7,7 @@ PORTNAME= gconf PORTVERSION= 1.0.9 -PORTREVISION= 5 +PORTREVISION= 6 CATEGORIES= devel gnome MASTER_SITES= ${MASTER_SITE_GNOME} MASTER_SITE_SUBDIR= sources/GConf/1.0 diff --git a/devel/gconf/files/patch-gconf::gconf-internals.c b/devel/gconf/files/patch-gconf::gconf-internals.c index 29f5d19ddb43..3acab80ce19f 100644 --- a/devel/gconf/files/patch-gconf::gconf-internals.c +++ b/devel/gconf/files/patch-gconf::gconf-internals.c @@ -1,5 +1,5 @@ ---- gconf/gconf-internals.c.orig Thu Mar 14 22:39:51 2002 -+++ gconf/gconf-internals.c Fri Sep 27 00:37:23 2002 +--- gconf/gconf-internals.c.orig Mon Sep 29 22:35:14 2003 ++++ gconf/gconf-internals.c Mon Sep 29 22:35:16 2003 @@ -28,6 +28,9 @@ #include <string.h> #include <sys/stat.h> @@ -10,7 +10,30 @@ #include <unistd.h> #include <stdlib.h> #include <stdio.h> -@@ -3040,6 +3043,8 @@ +@@ -2948,7 +2951,21 @@ + char* + gconf_get_daemon_dir (void) + { +- return g_strconcat (g_get_home_dir (), "/.gconfd", NULL); ++ if (gconf_use_local_locks ()) ++ { ++ char *s; ++ char *subdir; ++ ++ subdir = g_strconcat ("gconfd-", g_get_user_name (), NULL); ++ ++ s = g_strconcat (g_get_tmp_dir (), G_DIR_SEPARATOR_S, subdir, NULL); ++ ++ g_free (subdir); ++ ++ return s; ++ } ++ else ++ return g_strconcat (g_get_home_dir (), "/.gconfd", NULL); + } + + char* +@@ -3040,6 +3057,8 @@ if (gconf_file_exists (GCONF_BINDIR"/gconfd-2")) argv[0] = g_strconcat (GCONF_BINDIR, "/gconfd-2", NULL); @@ -19,3 +42,28 @@ else argv[0] = g_strconcat (GCONF_BINDIR, "/" GCONFD, NULL); +@@ -4357,4 +4376,24 @@ + return FALSE; + else + return TRUE; ++} ++ ++enum { UNKNOWN, LOCAL, NORMAL }; ++ ++gboolean ++gconf_use_local_locks (void) ++{ ++ static int local_locks = UNKNOWN; ++ ++ if (local_locks == UNKNOWN) ++ { ++ const char *l = ++ g_getenv ("GCONF_GLOBAL_LOCKS"); ++ ++ if (l && atoi (l) == 1) ++ local_locks = NORMAL; ++ else ++ local_locks = LOCAL; ++ } ++ return local_locks == LOCAL; + } |