libcompizconfig: Changes to 'debian-unstable'
Makefile.am | 10
VERSION | 2
config/config | 5
configure.ac | 28
debian/changelog | 10
debian/control | 7
debian/gbp.conf | 8
debian/libcompizconfig0.install | 1
include/ccs.h | 44
metadata/Makefile.am | 7
metadata/global.xml | 416 -----
plugin/ccp.c | 99 -
src/Makefile.am | 46
src/ccs-private.h | 5
src/compiz.c | 1570 --------------------
src/compiz.cpp | 3137 ++++++++++++++++++++++++++++++++++++++++
src/compizconfig.proto | 164 ++
src/config.c | 13
src/ini.c | 131 -
src/lists.c | 6
src/main.c | 65
21 files changed, 3632 insertions(+), 2142 deletions(-)
New commits:
commit 40bbe774c362fe7e2fd236e9b9326f845c087c40
Author: Sean Finney <seanius@debian.org>
Date: Sun Apr 5 21:51:13 2009 +0200
prep changelog for upload
diff --git a/debian/changelog b/debian/changelog
index a876151..d47afe1 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,13 @@
+libcompizconfig (0.8.2-1) unstable; urgency=low
+
+ * New upstream release.
+ * Add gbp.conf for use with git-buildpackage
+ * Add build-dep on libprotobuf-dev and protobuf-compiler.
+ * Update Standards-Version to 3.8.1
+ * Remove usr/share/compizconfig from libcompizconfig0.install
+
+ -- Sean Finney <seanius@debian.org> Sun, 05 Apr 2009 21:47:59 +0200
+
libcompizconfig (0.7.6-1) unstable; urgency=low
* New upstream release. Includes ABI change so build-deps changed
commit c1eb7402fb8e0d1d11b18bdb90da4e6ab2729fc9
Author: Sean Finney <seanius@debian.org>
Date: Sun Apr 5 21:47:48 2009 +0200
remove usr/share/compizconfig from libcompizconfig0.install
diff --git a/debian/libcompizconfig0.install b/debian/libcompizconfig0.install
index 1c035b2..8cdfd85 100644
--- a/debian/libcompizconfig0.install
+++ b/debian/libcompizconfig0.install
@@ -2,5 +2,4 @@ usr/lib/libcompizconfig.so.*
usr/lib/compiz/*.so
usr/lib/compizconfig/backends/*.so
usr/share/compiz/*xml
-usr/share/compizconfig
etc/compizconfig/config
commit de92318a6060dbec6ab4f45613abc40218f4001a
Author: Sean Finney <seanius@debian.org>
Date: Sun Apr 5 21:45:20 2009 +0200
update standard-version to 3.8.1
diff --git a/debian/control b/debian/control
index 786c4c8..b0d9c3c 100644
--- a/debian/control
+++ b/debian/control
@@ -6,7 +6,7 @@ Build-Depends: debhelper (>= 5), autoconf, automake1.9, autotools-dev, compiz-de
libprotobuf-dev,
libxml2-dev, libxslt1-dev,
protobuf-compiler
-Standards-Version: 3.7.2
+Standards-Version: 3.8.1
Section: libs
Package: libcompizconfig-dev
commit 9d0092b5031182aa889935643bd51f9a2ac4e065
Author: Sean Finney <seanius@debian.org>
Date: Sun Apr 5 21:41:52 2009 +0200
add build-dep on libprotobuf-dev and protobuf-compiler
diff --git a/debian/control b/debian/control
index f8ef646..786c4c8 100644
--- a/debian/control
+++ b/debian/control
@@ -2,7 +2,10 @@ Source: libcompizconfig
Priority: extra
Maintainer: Debian X Strike Force <debian-x@lists.debian.org>
Uploaders: Sean Finney <seanius@debian.org>
-Build-Depends: debhelper (>= 5), autoconf, automake1.9, autotools-dev, compiz-dev (>= 0.7.6), intltool, libtool, libglib2.0-dev, libxml2-dev, libxslt1-dev
+Build-Depends: debhelper (>= 5), autoconf, automake1.9, autotools-dev, compiz-dev (>= 0.7.6), intltool, libtool, libglib2.0-dev,
+ libprotobuf-dev,
+ libxml2-dev, libxslt1-dev,
+ protobuf-compiler
Standards-Version: 3.7.2
Section: libs
commit e788f7aa01b00466f75283e745f3d66bf390a123
Author: Sean Finney <seanius@debian.org>
Date: Sun Apr 5 19:16:38 2009 +0200
add gbp.conf for use with git-buildpackage
diff --git a/debian/gbp.conf b/debian/gbp.conf
new file mode 100644
index 0000000..6b6b4c7
--- /dev/null
+++ b/debian/gbp.conf
@@ -0,0 +1,8 @@
+[DEFAULT]
+debian-branch = debian-unstable
+debian-tag = libcompizconfig-%(version)s
+upstream-branch = upstream-unstable
+upstream-tag = %(version)s
+
+[git-dch]
+meta = 1
commit cbbdcceea27f671f96ff86902478487f76cd3f12
Author: Guillaume Seguin <guillaume@segu.in>
Date: Mon Mar 9 15:43:46 2009 +0100
* Bump version to 0.8.2
diff --git a/VERSION b/VERSION
index 1357b31..2dcc312 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-VERSION=0.7.9
+VERSION=0.8.2
commit bb0ec725b1f5ed60d719ecb37843150b6713cc1f
Author: Guillaume Seguin <guillaume@segu.in>
Date: Thu Mar 5 16:28:32 2009 +0100
Fix compizconfig.proto dist inclusion
diff --git a/src/Makefile.am b/src/Makefile.am
index 6dfae9c..788bda2 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -4,8 +4,6 @@ PROTOBUF_LIB = -lprotobuf
PROTOBUF_DEFINES = \
-DUSE_PROTOBUF=1
-EXTRA_DIST = compizconfig.proto
-
compizconfig.pb.cc: compizconfig.proto
protoc --cpp_out=. compizconfig.proto
@@ -21,6 +19,7 @@ clean-local:
endif
+EXTRA_DIST = compizconfig.proto
INCLUDES = \
@COMPIZ_CFLAGS@ \
commit 00646fe0c31ccaa81dae69ed74393cf151a3e963
Author: Danny Baumann <dannybaumann@web.de>
Date: Tue Dec 2 11:13:47 2008 +0100
Revert accidential change.
diff --git a/configure.ac b/configure.ac
index 38e8503..0ce5d31 100644
--- a/configure.ac
+++ b/configure.ac
@@ -96,7 +96,7 @@ AC_SUBST(LIBXML2_REQUIRES)
AC_ARG_ENABLE(protobuf,
[ --disable-protobuf Disable Protocol Buffers],
- [use_protobuf=no], [use_protobuf=yes])
+ [use_protobuf=$enableval], [use_protobuf=yes])
if test "x$use_protobuf" = "xyes"; then
protobuf_error_msg="\nWARNING: You need to install Protocol Buffers to get faster program startup.\n Sources are available at http://code.google.com/p/protobuf/downloads/list\n Package names for Ubuntu/Debian: libprotobuf0, libprotobuf-dev, protobuf-compiler\n Package names for other distributions: protobuf, protobuf-devel\n Disabling protobuf.\n"
commit 79c0f14071db762bba256da6c0588115725219a3
Author: Danny Baumann <dannybaumann@web.de>
Date: Tue Dec 2 11:03:43 2008 +0100
Mem leak fixes and minor cleanup.
diff --git a/configure.ac b/configure.ac
index 0ce5d31..38e8503 100644
--- a/configure.ac
+++ b/configure.ac
@@ -96,7 +96,7 @@ AC_SUBST(LIBXML2_REQUIRES)
AC_ARG_ENABLE(protobuf,
[ --disable-protobuf Disable Protocol Buffers],
- [use_protobuf=$enableval], [use_protobuf=yes])
+ [use_protobuf=no], [use_protobuf=yes])
if test "x$use_protobuf" = "xyes"; then
protobuf_error_msg="\nWARNING: You need to install Protocol Buffers to get faster program startup.\n Sources are available at http://code.google.com/p/protobuf/downloads/list\n Package names for Ubuntu/Debian: libprotobuf0, libprotobuf-dev, protobuf-compiler\n Package names for other distributions: protobuf, protobuf-devel\n Disabling protobuf.\n"
diff --git a/src/compiz.cpp b/src/compiz.cpp
index ddcb82c..5b36a4d 100644
--- a/src/compiz.cpp
+++ b/src/compiz.cpp
@@ -2755,6 +2755,9 @@ updatePBFilePath (CCSContext * context, char *name, char *pbFilePath)
if (plugin)
{
PLUGIN_PRIV (plugin);
+
+ if (pPrivate->pbFilePath)
+ free (pPrivate->pbFilePath);
pPrivate->pbFilePath = strdup (pbFilePath);
}
}
@@ -2791,15 +2794,14 @@ loadPluginFromXMLFile (CCSContext * context, char *xmlName, char *xmlDirPath)
Bool error = TRUE;
int lenXMLName = strlen (xmlName);
struct stat pbStat;
- name = (char *) malloc (lenXMLName - 4 + 1);
+
+ name = strndup (xmlName, strlen (xmlName) - 4);
if (!name)
{
fprintf (stderr, "[ERROR]: Can't allocate memory\n");
free (xmlFilePath);
return;
}
- strncpy (name, xmlName, lenXMLName - 4);
- name[lenXMLName - 4] = '\0';
if (createProtoBufCacheDir () &&
metadataCacheDir.length () > 0)
@@ -2861,12 +2863,13 @@ loadPluginFromXMLFile (CCSContext * context, char *xmlName, char *xmlDirPath)
if (usingProtobuf && xmlLoaded)
{
writePBFile (pbFilePath, NULL, &persistentPluginBriefPB);
-
updatePBFilePath (context, name, pbFilePath);
+ }
+ if (pbFilePath)
free (pbFilePath);
+ if (name)
free (name);
- }
#endif
}
commit 6202217f3efa974a55aed34bf467f0462f2cf8a0
Author: Danny Baumann <dannybaumann@web.de>
Date: Mon Nov 24 09:40:24 2008 +0100
Sanity check input values of ccsFindSetting.
diff --git a/src/main.c b/src/main.c
index 1747b2a..d2680eb 100644
--- a/src/main.c
+++ b/src/main.c
@@ -242,8 +242,14 @@ CCSSetting *
ccsFindSetting (CCSPlugin * plugin, const char *name,
Bool isScreen, unsigned int screenNum)
{
+ if (!plugin)
+ return NULL;
+
PLUGIN_PRIV (plugin);
+ if (!name)
+ name = "";
+
if (!pPrivate->loaded)
ccsLoadPluginSettings (plugin);
commit 890a30e25eb3a1499b08d69ea7b97bdc6dbc76db
Author: Erkin Bahceci <erkinbah@gmail.com>
Date: Fri Nov 7 00:39:05 2008 -0600
Don't write .pb for ini, gconf, ccp, kconfig.
Fixes these errors:
libprotobuf ERROR google/protobuf/message.cc:110] Can't parse message of
type "metadata.PluginBrief" because it is missing required fields: info
libprotobuf FATAL google/protobuf/message.cc:198] CHECK failed:
IsInitialized(): Can't serialize message of type "metadata.PluginBrief"
because it is missing required fields: info.name
diff --git a/src/compiz.cpp b/src/compiz.cpp
index 1efabb4..ddcb82c 100644
--- a/src/compiz.cpp
+++ b/src/compiz.cpp
@@ -2480,7 +2480,8 @@ fillBasicInfoIntoPB (CCSPlugin *plugin, PluginInfoMetadata *pluginInfoPB)
}
#endif
-static void
+/* Returns TRUE on success. */
+static Bool
addPluginFromXMLNode (CCSContext * context,
xmlNode * node,
char * file,
@@ -2491,7 +2492,7 @@ addPluginFromXMLNode (CCSContext * context,
CCSPluginPrivate *pPrivate;
if (!node)
- return;
+ return FALSE;
name = getStringFromXPath (node->doc, node, "@name");
@@ -2499,31 +2500,31 @@ addPluginFromXMLNode (CCSContext * context,
{
if (name)
free (name);
- return;
+ return FALSE;
}
if (!strcmp (name, "ini") || !strcmp (name, "gconf") ||
!strcmp (name, "ccp") || !strcmp (name, "kconfig"))
{
free (name);
- return;
+ return FALSE;
}
if (ccsFindPlugin (context, name))
{
free (name);
- return;
+ return FALSE;
}
plugin = (CCSPlugin *) calloc (1, sizeof (CCSPlugin));
if (!plugin)
- return;
+ return FALSE;
pPrivate = (CCSPluginPrivate *) calloc (1, sizeof (CCSPluginPrivate));
if (!pPrivate)
{
free (plugin);
- return;
+ return FALSE;
}
plugin->ccsPrivate = (void *) pPrivate;
@@ -2558,9 +2559,12 @@ addPluginFromXMLNode (CCSContext * context,
context->plugins = ccsPluginListAppend (context->plugins, plugin);
free (name);
+
+ return TRUE;
}
-static void
+/* Returns TRUE on success. */
+static Bool
addCoreSettingsFromXMLNode (CCSContext * context,
xmlNode * node,
char *file,
@@ -2570,20 +2574,20 @@ addCoreSettingsFromXMLNode (CCSContext * context,
CCSPluginPrivate *pPrivate;
if (!node)
- return;
+ return FALSE;
if (ccsFindPlugin (context, "core"))
- return;
+ return FALSE;
plugin = (CCSPlugin *) calloc (1, sizeof (CCSPlugin));
if (!plugin)
- return;
+ return FALSE;
pPrivate = (CCSPluginPrivate *) calloc (1, sizeof (CCSPluginPrivate));
if (!pPrivate)
{
free (plugin);
- return;
+ return FALSE;
}
plugin->ccsPrivate = (void *) pPrivate;
@@ -2616,6 +2620,8 @@ addCoreSettingsFromXMLNode (CCSContext * context,
initRulesFromRootNode (plugin, node, pluginInfoPBv);
context->plugins = ccsPluginListAppend (context->plugins, plugin);
+
+ return TRUE;
}
/* End of XML parsing */
@@ -2711,7 +2717,8 @@ writePBFile (char *pbFilePath,
}
#endif
-static void
+/* Returns TRUE on success. */
+static Bool
loadPluginFromXML (CCSContext * context,
xmlDoc * doc,
char *filename,
@@ -2719,20 +2726,25 @@ loadPluginFromXML (CCSContext * context,
{
xmlNode **nodes;
int num;
+ Bool success = FALSE;
nodes = getNodesFromXPath (doc, NULL, "/compiz/core", &num);
if (num)
{
- addCoreSettingsFromXMLNode (context, nodes[0], filename, pluginInfoPBv);
+ success = addCoreSettingsFromXMLNode (context, nodes[0], filename,
+ pluginInfoPBv);
free (nodes);
+ return success;
}
nodes = getNodesFromXPath (doc, NULL, "/compiz/plugin", &num);
if (num)
{
- addPluginFromXMLNode (context, nodes[0], filename, pluginInfoPBv);
+ success = addPluginFromXMLNode (context, nodes[0], filename,
+ pluginInfoPBv);
free (nodes);
}
+ return success;
}
#ifdef USE_PROTOBUF
@@ -2830,6 +2842,7 @@ loadPluginFromXMLFile (CCSContext * context, char *xmlName, char *xmlDirPath)
// Load from .xml
FILE *fp = fopen (xmlFilePath, "r");
+ Bool xmlLoaded = FALSE;
if (fp)
{
@@ -2837,14 +2850,15 @@ loadPluginFromXMLFile (CCSContext * context, char *xmlName, char *xmlDirPath)
xmlDoc *doc = xmlReadFile (xmlFilePath, NULL, 0);
if (doc)
{
- loadPluginFromXML (context, doc, xmlFilePath, pluginInfoPBv);
+ xmlLoaded = loadPluginFromXML (context, doc, xmlFilePath,
+ pluginInfoPBv);
xmlFreeDoc (doc);
}
}
free (xmlFilePath);
#ifdef USE_PROTOBUF
- if (usingProtobuf)
+ if (usingProtobuf && xmlLoaded)
{
writePBFile (pbFilePath, NULL, &persistentPluginBriefPB);
commit f6f66a73f13b42390ecd47ab769c37debf116943
Author: Danny Baumann <dannybaumann@web.de>
Date: Thu Nov 6 13:07:47 2008 +0100
Fix memory leak.
diff --git a/src/compiz.cpp b/src/compiz.cpp
index f507a0f..1efabb4 100644
--- a/src/compiz.cpp
+++ b/src/compiz.cpp
@@ -2502,6 +2502,13 @@ addPluginFromXMLNode (CCSContext * context,
return;
}
+ if (!strcmp (name, "ini") || !strcmp (name, "gconf") ||
+ !strcmp (name, "ccp") || !strcmp (name, "kconfig"))
+ {
+ free (name);
+ return;
+ }
+
if (ccsFindPlugin (context, name))
{
free (name);
@@ -2547,13 +2554,6 @@ addPluginFromXMLNode (CCSContext * context,
fillBasicInfoIntoPB (plugin, (PluginInfoMetadata *) pluginInfoPBv);
#endif
- if (!strcmp (name, "ini") || !strcmp (name, "gconf") ||
- !strcmp (name, "ccp") || !strcmp (name, "kconfig"))
- {
- free (name);
- return;
- }
-
initRulesFromRootNode (plugin, node, pluginInfoPBv);
context->plugins = ccsPluginListAppend (context->plugins, plugin);
commit 246006056a24c087112a22b3c72611f8c0683270
Author: Erkin Bahceci <erkinbah@gmail.com>
Date: Wed Oct 22 17:33:33 2008 -0500
Create protobuf cache dir recursively.
Enables using ".../x/y" as cache dir when ".../x" doesn't exist.
diff --git a/include/ccs.h b/include/ccs.h
index e9cd44e..9d886d5 100644
--- a/include/ccs.h
+++ b/include/ccs.h
@@ -715,6 +715,8 @@ void ccsIniClose (IniDictionary *dictionary);
void ccsIniSave (IniDictionary *dictionary,
const char *fileName);
+Bool ccsCreateDirFor (const char *fileName);
+
Bool ccsIniGetString (IniDictionary *dictionary,
const char *section,
const char *entry,
diff --git a/src/compiz.cpp b/src/compiz.cpp
index 0c46ea4..f507a0f 100644
--- a/src/compiz.cpp
+++ b/src/compiz.cpp
@@ -1933,14 +1933,13 @@ createProtoBufCacheDir ()
if (cacheBaseDir)
{
metadataCacheDir = cacheBaseDir;
- metadataCacheDir += "/compizconfig";
-
- // Create base dir
- mkdir (cacheBaseDir, 0700);
+ if (metadataCacheDir[metadataCacheDir.length () - 1] != '/')
+ metadataCacheDir += "/";
+ metadataCacheDir += "compizconfig";
+ std::string metadataCacheFileDummy = metadataCacheDir + "/dummy";
// Create cache dir
- Bool success = !mkdir (metadataCacheDir.c_str (), 0700);
- success |= (errno == EEXIST);
+ Bool success = ccsCreateDirFor (metadataCacheFileDummy.c_str ());
if (!success)
fprintf (stderr, "[ERROR]: Error creating directory \"%s\"\n",
metadataCacheDir.c_str ());
diff --git a/src/ini.c b/src/ini.c
index 3c3c419..5f8e2bc 100644
--- a/src/ini.c
+++ b/src/ini.c
@@ -35,7 +35,7 @@
* @return: True if the parent directory of the file now exists
**/
-static Bool
+Bool
ccsCreateDirFor (const char *fileName)
{
char *path, *delim;
commit d6ecf8ae663dbac371729da70f37f8a3c8821e51
Author: Lubos Lunak <llunak@suse.cz>
Date: Wed Oct 22 12:13:16 2008 +0200
Fix copy'n'paste mistakes in allocation size.
diff --git a/src/lists.c b/src/lists.c
index 103f13a..5f58a2a 100644
--- a/src/lists.c
+++ b/src/lists.c
@@ -257,7 +257,7 @@ char ** ccsGetStringArrayFromValueList (CCSSettingValueList list, int *num)
if (length)
{
- rv = calloc (length, sizeof (int));
+ rv = calloc (length, sizeof (char *));
if (!rv)
return NULL;
}
@@ -278,7 +278,7 @@ char ** ccsGetMatchArrayFromValueList (CCSSettingValueList list, int *num)
if (length)
{
- rv = calloc (length, sizeof (int));
+ rv = calloc (length, sizeof (char *));
if (!rv)
return NULL;
}
commit fae747aa92479c3ff9ab62ad5aa333c175fcab7a
Author: Erkin Bahceci <erkinbah@gmail.com>
Date: Sun Oct 19 17:25:15 2008 -0500
Disable protobuf if cache dir cannot be created.
diff --git a/src/compiz.cpp b/src/compiz.cpp
index 9e610e0..0c46ea4 100644
--- a/src/compiz.cpp
+++ b/src/compiz.cpp
@@ -1952,6 +1952,7 @@ createProtoBufCacheDir ()
metadataCacheDir = ""; // invalidate metadataCacheDir
}
+ usingProtobuf = FALSE; // Disable protobuf if cache dir cannot be created
return FALSE;
}
commit 5519ac6e74c056750eca8fb543822326fd0f43b8
Author: Erkin Bahceci <erkinbah@gmail.com>
Date: Sun Oct 19 17:04:42 2008 -0500
Use $XDG_CACHE_HOME/compizconfig/ as protobuf cache directory.
As protobuf cache dir, we now use $XDG_CACHE_HOME/compizconfig/
if $XDG_CACHE_HOME is defined and ~/.cache/compizconfig/ otherwise,
to conform to the standards described at
http://standards.freedesktop.org/basedir-spec/basedir-spec-0.6.html
diff --git a/src/compiz.cpp b/src/compiz.cpp
index 18db39e..9e610e0 100644
--- a/src/compiz.cpp
+++ b/src/compiz.cpp
@@ -55,8 +55,6 @@ Bool usingProtobuf = TRUE;
#define PB_ABI_VERSION 20081004
-#define METADATA_CACHE_DIR ".config/compiz/compizconfig/cache"
-
typedef metadata::PluginInfo PluginInfoMetadata;
typedef metadata::PluginBrief PluginBriefMetadata;
typedef metadata::Plugin PluginMetadata;
@@ -74,6 +72,8 @@ PluginMetadata persistentPluginPB; // Made global so that it gets reused,
// for better performance (to avoid
// mem alloc/free for each plugin)
+std::string metadataCacheDir = "";
+
static char *
getLocale ()
{
@@ -1908,25 +1908,50 @@ checkAddGroupSubgroup (OptionMetadata *optPB,
static Bool
createProtoBufCacheDir ()
{
- char *path = NULL;
- char *home = getenv ("HOME");
+ if (metadataCacheDir.length () > 0)
+ {
+ // Cache dir must have been created already, since otherwise it would
+ // be "". So we can return here.
+ return TRUE;
+ }
+ char *cacheBaseDir = NULL;
+ char *cacheHome = getenv ("XDG_CACHE_HOME");
- if (home && strlen (home))
+ if (cacheHome && strlen (cacheHome))
{
- asprintf (&path, "%s/%s", home, METADATA_CACHE_DIR);
- if (path)
+ asprintf (&cacheBaseDir, "%s", cacheHome);
+ }
+ else
+ {
+ char *home = getenv ("HOME");
+ if (home && strlen (home))
{
- Bool success = !mkdir (path, 0700);
- success |= (errno == EEXIST);
- if (!success)
- fprintf (stderr, "[ERROR]: Error creating directory \"%s\"\n",
- path);
- free (path);
-
- if (success)
- return TRUE;
+ asprintf (&cacheBaseDir, "%s/.cache", home);
}
}
+
+ if (cacheBaseDir)
+ {
+ metadataCacheDir = cacheBaseDir;
+ metadataCacheDir += "/compizconfig";
+
+ // Create base dir
+ mkdir (cacheBaseDir, 0700);
+
+ // Create cache dir
+ Bool success = !mkdir (metadataCacheDir.c_str (), 0700);
+ success |= (errno == EEXIST);
+ if (!success)
+ fprintf (stderr, "[ERROR]: Error creating directory \"%s\"\n",
+ metadataCacheDir.c_str ());
+ free (cacheBaseDir);
+
+ if (success)
+ return TRUE; // metadataCacheDir will be used later in this case
+
+ metadataCacheDir = ""; // invalidate metadataCacheDir
+ }
+
return FALSE;
}
@@ -2764,11 +2789,10 @@ loadPluginFromXMLFile (CCSContext * context, char *xmlName, char *xmlDirPath)
strncpy (name, xmlName, lenXMLName - 4);
name[lenXMLName - 4] = '\0';
- char *home = getenv ("HOME");
- if (home && strlen (home))
+ if (createProtoBufCacheDir () &&
+ metadataCacheDir.length () > 0)
{
- asprintf (&pbFilePath, "%s/%s/%s.pb",
- home, METADATA_CACHE_DIR, name);
+ asprintf (&pbFilePath, "%s/%s.pb", metadataCacheDir.c_str (), name);
if (!pbFilePath)
{
fprintf (stderr, "[ERROR]: Can't allocate memory\n");
commit afe4ed1ece82778cfcdade60057d58aeeb9818d8
Author: Erkin Bahceci <erkinbah@gmail.com>
Date: Sun Oct 19 15:55:00 2008 -0500
Fix circular dependency error (bug 1061).
diff --git a/configure.ac b/configure.ac
index b1926c6..0ce5d31 100644
--- a/configure.ac
+++ b/configure.ac
@@ -6,6 +6,8 @@ AC_INIT([libcompizconfig],esyscmd(. ./VERSION;echo -n $VERSION), [dev@opencompos
AM_INIT_AUTOMAKE([1.9 dist-bzip2])
+AC_PROG_CXX
+
AC_CONFIG_HEADER([config.h])
AM_MAINTAINER_MODE
@@ -97,7 +99,6 @@ AC_ARG_ENABLE(protobuf,
[use_protobuf=$enableval], [use_protobuf=yes])
if test "x$use_protobuf" = "xyes"; then
- AC_LANG([C++])
protobuf_error_msg="\nWARNING: You need to install Protocol Buffers to get faster program startup.\n Sources are available at http://code.google.com/p/protobuf/downloads/list\n Package names for Ubuntu/Debian: libprotobuf0, libprotobuf-dev, protobuf-compiler\n Package names for other distributions: protobuf, protobuf-devel\n Disabling protobuf.\n"
AC_CHECK_PROG(have_protoc, protoc, yes, no)
if test "x$have_protoc" = "xno"; then
@@ -106,11 +107,12 @@ if test "x$use_protobuf" = "xyes"; then
AC_CHECK_LIB(protobuf, _ZN6google8protobuf7MessageD2Ev, [], [
echo -e $protobuf_error_msg; use_protobuf=no ])
if test "x$use_protobuf" = "xyes"; then
+ AC_LANG([C++])
AC_CHECK_HEADER([google/protobuf/message.h],,[
echo -e $protobuf_error_msg; use_protobuf=no ])
+ AC_LANG([C])
fi
fi
- AC_LANG([C])
fi
AM_CONDITIONAL([USE_PROTOBUF], [test "x$use_protobuf" = "xyes"])
commit 21bda9debec54b37342eb5ee037fc81aeb32cbc8
Author: Erkin Bahceci <erkinbah@gmail.com>
Date: Sun Oct 19 10:04:02 2008 -0500
Add source URL to protobuf warning message.
diff --git a/configure.ac b/configure.ac
index db96a78..b1926c6 100644
--- a/configure.ac
+++ b/configure.ac
@@ -98,7 +98,7 @@ AC_ARG_ENABLE(protobuf,
if test "x$use_protobuf" = "xyes"; then
AC_LANG([C++])
- protobuf_error_msg="\nWARNING: You need to install Protocol Buffers to get faster program startup.\n Package names for Ubuntu/Debian: libprotobuf0, libprotobuf-dev, protobuf-compiler\n Package names for other distributions: protobuf, protobuf-devel\n Disabling protobuf.\n"
+ protobuf_error_msg="\nWARNING: You need to install Protocol Buffers to get faster program startup.\n Sources are available at http://code.google.com/p/protobuf/downloads/list\n Package names for Ubuntu/Debian: libprotobuf0, libprotobuf-dev, protobuf-compiler\n Package names for other distributions: protobuf, protobuf-devel\n Disabling protobuf.\n"
AC_CHECK_PROG(have_protoc, protoc, yes, no)
if test "x$have_protoc" = "xno"; then
echo -e $protobuf_error_msg; use_protobuf=no
commit 514ba489124b029960f4d8e94cac6bd0c3205de6
Author: Erkin Bahceci <erkinbah@gmail.com>
Date: Sun Oct 19 09:23:25 2008 -0500
Add compizconfig.proto to dist. Simplify Makefile.am.
diff --git a/src/Makefile.am b/src/Makefile.am
index 1411996..5782087 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -4,6 +4,8 @@ PROTOBUF_LIB = -lprotobuf
PROTOBUF_DEFINES = \
-DUSE_PROTOBUF=1
+EXTRA_DIST = compizconfig.proto
+
compizconfig.pb.cc: compizconfig.proto
protoc --cpp_out=. compizconfig.proto
@@ -17,11 +19,6 @@ nodist_libcompizconfig_la_SOURCES = \
clean-local:
rm -f compizconfig.pb.cc compizconfig.pb.h
-else
-
-PROTOBUF_LIB =
-nodist_libcompizconfig_la_SOURCES =
-
endif
commit 741f99ade7e9b9d19e367253273c11519ac348f0
Author: Danny Baumann <dannybaumann@web.de>
Date: Sun Oct 19 14:03:15 2008 +0200
Link against libX11 because we need it for XStringToKeysym.
diff --git a/configure.ac b/configure.ac
index 1668771..1f8cbb4 100644
--- a/configure.ac
+++ b/configure.ac
@@ -73,6 +73,7 @@ fi
AC_C_BIGENDIAN
+PKG_CHECK_MODULES(LIBX11, "x11")
PKG_CHECK_MODULES(COMPIZ, "compiz")
if test -z "$PKG_CONFIG"; then
diff --git a/src/Makefile.am b/src/Makefile.am
index ac7424f..5dff962 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,11 +1,12 @@
-INCLUDES = \
- @COMPIZ_CFLAGS@ \
- @LIBXML2_CFLAGS@ \
- -I$(top_srcdir)/include \
- -I$(top_srcdir)/src \
- -DPLUGINDIR=\"$(PLUGINDIR)\" \
- -DMETADATADIR=\"$(METADATADIR)\" \
- -DLIBDIR=\"$(libdir)\" \
+INCLUDES = \
+ @COMPIZ_CFLAGS@ \
+ @LIBX11_CFLAGS@ \
+ @LIBXML2_CFLAGS@ \
+ -I$(top_srcdir)/include \
+ -I$(top_srcdir)/src \
+ -DPLUGINDIR=\"$(PLUGINDIR)\" \
+ -DMETADATADIR=\"$(METADATADIR)\" \
+ -DLIBDIR=\"$(libdir)\" \
-DGLOBALMETADATA=\"$(globalmetadata)\" \
-DSYSCONFDIR=\"$(sysconfdir)\"
@@ -22,7 +23,7 @@ libcompizconfig_la_SOURCES = \
ccs-private.h \
iniparser.h
-libcompizconfig_la_LIBADD = @LIBXML2_LIBS@
+libcompizconfig_la_LIBADD = @LIBXML2_LIBS@ @LIBX11_LIBS@
lib_LTLIBRARIES=libcompizconfig.la
commit 4431eeec30226cb81ffa2df868d9bbe9b2f76145
Author: Erkin Bahceci <erkinbah@gmail.com>
Date: Sat Oct 18 15:44:50 2008 -0500
Clean up whitespace.
diff --git a/src/compiz.cpp b/src/compiz.cpp
index d6d38d9..18db39e 100644
--- a/src/compiz.cpp
+++ b/src/compiz.cpp
@@ -999,13 +999,13 @@ getOptionType (const char *name)
{ "bool", TypeBool },
{ "int", TypeInt },
{ "float", TypeFloat },
- { "string", TypeString },
+ { "string", TypeString },
{ "color", TypeColor },
{ "action", TypeAction },
{ "key", TypeKey },
{ "button", TypeButton },
- { "edge", TypeEdge },
- { "bell", TypeBell },
+ { "edge", TypeEdge },
+ { "bell", TypeBell },
{ "match", TypeMatch },
{ "list", TypeList }
};
@@ -1448,7 +1448,7 @@ initEdgeValue (CCSSettingValue * v,
"Right",
"Top",
"Bottom",
- "TopLeft",
+ "TopLeft",
"TopRight",
"BottomLeft",
"BottomRight"
@@ -1622,7 +1622,7 @@ initIntInfo (CCSSettingInfo * i, xmlNode * node, void * optionPBv)
if (val >= i->forInt.min && val <= i->forInt.max)
{
name = stringFromNodeDefTrans (nodes[j],
- "name/child::text()",
+ "name/child::text()",
NULL);
if (name)
{
@@ -1910,7 +1910,7 @@ createProtoBufCacheDir ()
{
char *path = NULL;
char *home = getenv ("HOME");
-
+
if (home && strlen (home))
{
asprintf (&path, "%s/%s", home, METADATA_CACHE_DIR);
@@ -2588,7 +2588,7 @@ addCoreSettingsFromXMLNode (CCSContext * context,
#ifdef USE_PROTOBUF
fillBasicInfoIntoPB (plugin, (PluginInfoMetadata *) pluginInfoPBv);
#endif
-
+
initRulesFromRootNode (plugin, node, pluginInfoPBv);
context->plugins = ccsPluginListAppend (context->plugins, plugin);
}
@@ -2743,7 +2743,7 @@ loadPluginFromXMLFile (CCSContext * context, char *xmlName, char *xmlDirPath)
if (usingProtobuf)
{
struct stat xmlStat;
-
+
if (stat (xmlFilePath, &xmlStat))
{
free (xmlFilePath);
commit 6706b47468cb9adb8d39a891a38bd30984aab4a5
Author: Erkin Bahceci <erkinbah@gmail.com>
Date: Sat Oct 18 15:26:33 2008 -0500
Disable protobuf automatically if not installed.
diff --git a/configure.ac b/configure.ac
index c798edb..9f9edea 100644
--- a/configure.ac
+++ b/configure.ac
@@ -96,9 +96,20 @@ AC_ARG_ENABLE(protobuf,
[use_protobuf=$enableval], [use_protobuf=yes])
if test "x$use_protobuf" = "xyes"; then
- AC_CHECK_PROG(have_protoc, protoc, yes)
-
- AC_CHECK_LIB(protobuf, _ZN6google8protobuf7MessageD2Ev)
+ AC_LANG([C++])
+ protobuf_error_msg="\nWARNING: You need to install Protocol Buffers to get faster program startup.\n Package names for Ubuntu/Debian: libprotobuf0, libprotobuf-dev, protobuf-compiler\n Package names for other distributions: protobuf, protobuf-devel\n Disabling protobuf.\n"
+ AC_CHECK_PROG(have_protoc, protoc, yes, no)
+ if test "x$have_protoc" = "xno"; then
+ echo -e $protobuf_error_msg; use_protobuf=no
+ else
+ AC_CHECK_LIB(protobuf, _ZN6google8protobuf7MessageD2Ev, [], [
+ echo -e $protobuf_error_msg; use_protobuf=no ])
+ if test "x$use_protobuf" = "xyes"; then
+ AC_CHECK_HEADER([google/protobuf/message.h],,[
+ echo -e $protobuf_error_msg; use_protobuf=no ])
+ fi
+ fi
+ AC_LANG([C])
fi
AM_CONDITIONAL([USE_PROTOBUF], [test "x$use_protobuf" = "xyes"])
commit 37dab05e44d3c8d1f75a1fa15f69a8ee7b18aed7
Author: Erkin Bahceci <erkinbah@gmail.com>
Date: Sat Oct 4 17:58:17 2008 -0500
Speed up metadata parsing via protocol buffers.
Reduces startup times for compiz, ccsm, and simple-ccsm.
diff --git a/configure.ac b/configure.ac
index 19f2e38..c798edb 100644
--- a/configure.ac
+++ b/configure.ac
@@ -91,6 +91,17 @@ AC_SUBST(plugindir)
Reply to: