[OE-core] [PATCH] matchbox-session-sato: install GConf values directly instead of using schemas

Ross Burton ross.burton at intel.com
Mon Apr 22 12:43:32 UTC 2013


Because both matchbox-session-sato and settings-daemon were attempting to
install their preferred values though schemas there was a race as to which ones
were used.

Revert matchbox-session-sato back to writing the values directly, adding a
dependency on gconf-native so that this can happen on the host.

Signed-off-by: Ross Burton <ross.burton at intel.com>
---
 .../matchbox-session-sato.schemas                  |   53 --------------------
 .../matchbox-sato/matchbox-session-sato_0.1.bb     |   21 +++++---
 2 files changed, 13 insertions(+), 61 deletions(-)
 delete mode 100644 meta/recipes-sato/matchbox-sato/matchbox-session-sato/matchbox-session-sato.schemas

diff --git a/meta/recipes-sato/matchbox-sato/matchbox-session-sato/matchbox-session-sato.schemas b/meta/recipes-sato/matchbox-sato/matchbox-session-sato/matchbox-session-sato.schemas
deleted file mode 100644
index f5b770b..0000000
--- a/meta/recipes-sato/matchbox-sato/matchbox-session-sato/matchbox-session-sato.schemas
+++ /dev/null
@@ -1,53 +0,0 @@
-<?xml version="1.0"?>
-<gconfschemafile>
-<schemalist>
-
-  <schema>
-    <key>/schemas/desktop/poky/interface/theme</key>
-    <applyto>/desktop/poky/interface/theme</applyto>
-    <type>string</type>
-    <owner>matchbox-session-sato</owner>
-    <default>Sato</default>
-    <locale name="C">
-      <short>Desktop theme</short>
-      <long>The theme name for Matchbox and Sato to use.</long>
-    </locale>
-  </schema>
-
-  <schema>
-    <key>/schemas/desktop/poky/interface/icon_theme</key>
-    <applyto>/desktop/poky/interface/icon_theme</applyto>
-    <type>string</type>
-    <owner>matchbox-session-sato</owner>
-    <default>Sato</default>
-    <locale name="C">
-      <short>Desktop icon theme</short>
-      <long>The icon theme name for Matchbox and Sato.</long>
-    </locale>
-  </schema>
-
-  <schema>
-    <key>/schemas/desktop/poky/interface/touchscreen</key>
-    <applyto>/desktop/poky/interface/touchscreen</applyto>
-    <type>bool</type>
-    <owner>matchbox-session-sato</owner>
-    <default>true</default>
-    <locale name="C">
-      <short>Activate touchscreen</short>
-    </locale>
-  </schema>
-
-  <schema>
-    <key>/schemas/desktop/poky/interface/font_name</key>
-    <applyto>/desktop/poky/interface/font_name</applyto>
-    <type>string</type>
-    <owner>matchbox-session-sato</owner>
-    <default>Sans 9</default>
-    <locale name="C">
-      <short>Font name</short>
-    </locale>
-  </schema>
-
-</schemalist>
-</gconfschemafile>
-
diff --git a/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb b/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb
index 70cf7a9..2d18c66 100644
--- a/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb
+++ b/meta/recipes-sato/matchbox-sato/matchbox-session-sato_0.1.bb
@@ -6,16 +6,15 @@ LICENSE = "GPLv2.0+"
 LIC_FILES_CHKSUM = "file://session;endline=3;md5=f8a5c5b9c279e52dc094d10e11c2be63"
 
 SECTION = "x11"
-RDEPENDS_${PN} = "formfactor gtk-sato-engine matchbox-theme-sato gtk-theme-sato matchbox-panel-2 matchbox-desktop-sato matchbox-session"
+DEPENDS = "gconf-native"
+RDEPENDS_${PN} = "formfactor gtk-sato-engine matchbox-theme-sato gtk-theme-sato matchbox-panel-2 matchbox-desktop-sato matchbox-session gconf"
 PR = "r30"
 
 # This package is architecture specific because the session script is modified
 # based on the machine architecture.
 PACKAGE_ARCH = "${MACHINE_ARCH}"
 
-SRC_URI = "file://session \
-           file://matchbox-session-sato.schemas \
-          "
+SRC_URI = "file://session"
 S = "${WORKDIR}"
 
 do_install() {
@@ -33,9 +32,15 @@ do_install() {
 	install -d ${D}/${sysconfdir}/matchbox
 	sed -f "$SCRIPT" ${S}/session > ${D}/${sysconfdir}/matchbox/session
         chmod +x ${D}/${sysconfdir}/matchbox/session
-
-	install -d ${D}/${sysconfdir}/gconf/schemas
-	install -m 664 ${S}/matchbox-session-sato.schemas ${D}/${sysconfdir}/gconf/schemas
 }
 
-inherit gconf
+pkg_postinst_${PN} () {
+	set_value() {
+		#type, name, value
+		gconftool-2 --config-source=xml::$D${sysconfdir}/gconf/gconf.xml.defaults --direct --type $1 --set /desktop/poky/interface/$2 "$3"
+	}
+	set_value string theme Sato
+	set_value string icon_theme Sato
+	set_value bool touchscreen true
+	set_value string font_name "Sans 9"
+}
-- 
1.7.10.4





More information about the Openembedded-core mailing list