Re: [OE-core] [PATCH] gconf.bbclass: don't register schemas in the install stage

2012-06-28 Thread Saul Wold

On 06/26/2012 03:10 AM, Ross Burton wrote:

Previously this was installing schemas in the sysroot, which is wrong for native
packages as nothing should touch the sysroot directly, and even more wrong for
non-native packages as the sysroot is irrelevant.

So, export the environment variable that stops the registration happening at
install time. The postinst script will handle the non-native case, and for the
sysroot I've opened #2648.  This isn't a massive problem as nothing to my
knowledge actually installs schemas to the sysroot.

[YOCTO #2245]

Signed-off-by: Ross Burtonross.bur...@intel.com
---
  meta/classes/gconf.bbclass |   12 ++--
  1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/meta/classes/gconf.bbclass b/meta/classes/gconf.bbclass
index a966c26..fb9f701 100644
--- a/meta/classes/gconf.bbclass
+++ b/meta/classes/gconf.bbclass
@@ -1,10 +1,18 @@
  DEPENDS += gconf gconf-native

-# This is referenced by the gconf m4 macros and would default to the value 
hardcoded
-# into gconf at compile time otherwise
+# These are for when gconftool is used natively and the prefix isn't 
necessarily
+# the sysroot.  TODO: replicate the postinst logic for -native packages going
+# into sysroot as they won't be running their own install-time schema
+# registration (disabled below) nor the postinst script (as they don't happen).
  export GCONF_SCHEMA_INSTALL_SOURCE = 
xml:merged:${STAGING_DIR_NATIVE}${sysconfdir}/gconf/gconf.xml.defaults
  export GCONF_BACKEND_DIR = ${STAGING_LIBDIR_NATIVE}/GConf/2

+# Disable install-time schema registration as we're a packaging system so this
+# happens in the postinst script, not at install time.  Set both the configure
+# script option and the traditional envionment variable just to make sure.
+EXTRA_OECONF += --disable-schemas-install
+export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL = 1
+
  gconf_postinst() {
  if [ x$D != x ]; then
exit 1


Merged into OE-Core - Still needs to be merged to 1.2.1

Thanks
Sau!

___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] gconf.bbclass: don't register schemas in the install stage

2012-06-28 Thread Colin Walters
On Wed, 2012-06-27 at 07:01 +0100, Ross Burton wrote:

 I'd prefer to use an option that the GConf autoconf macro provides
 over patching every module that uses GConf, 

I wasn't objecting to your patch.  However, please do *also* (in
addition, as well, etc. ;) ) consider patching these modules upstream.

Concretely doing so will also fix jhbuild (and my gnome-ostree build
system).



___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] gconf.bbclass: don't register schemas in the install stage

2012-06-27 Thread Ross Burton
On Tuesday, 26 June 2012 at 22:02, Colin Walters wrote:
 Even better is to have the source code check for DESTDIR, and skip gconf
 bits itself; e.g.:
 
 http://git.gnome.org/browse/evolution/tree/shell/Makefile.am?h=gnome-2-28#n201
 
 This patch is still useful though for components which don't check
 DESTDIR, but again it's better to patch the relevant source code to do
 so (or port to GSettings...).

I'd prefer to use an option that the GConf autoconf macro provides over 
patching every module that uses GConf, as we're assured much better coverage 
that way.  Adding the option caught every module in the Sato image but two, 
which were being rather minimal with their build system and the environment 
variable caught those (as it affects gconftool itself).

Ross



___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


[OE-core] [PATCH] gconf.bbclass: don't register schemas in the install stage

2012-06-26 Thread Ross Burton
Previously this was installing schemas in the sysroot, which is wrong for native
packages as nothing should touch the sysroot directly, and even more wrong for
non-native packages as the sysroot is irrelevant.

So, export the environment variable that stops the registration happening at
install time. The postinst script will handle the non-native case, and for the
sysroot I've opened #2648.  This isn't a massive problem as nothing to my
knowledge actually installs schemas to the sysroot.

[YOCTO #2245]

Signed-off-by: Ross Burton ross.bur...@intel.com
---
 meta/classes/gconf.bbclass |   12 ++--
 1 files changed, 10 insertions(+), 2 deletions(-)

diff --git a/meta/classes/gconf.bbclass b/meta/classes/gconf.bbclass
index a966c26..fb9f701 100644
--- a/meta/classes/gconf.bbclass
+++ b/meta/classes/gconf.bbclass
@@ -1,10 +1,18 @@
 DEPENDS += gconf gconf-native
 
-# This is referenced by the gconf m4 macros and would default to the value 
hardcoded
-# into gconf at compile time otherwise
+# These are for when gconftool is used natively and the prefix isn't 
necessarily
+# the sysroot.  TODO: replicate the postinst logic for -native packages going
+# into sysroot as they won't be running their own install-time schema
+# registration (disabled below) nor the postinst script (as they don't happen).
 export GCONF_SCHEMA_INSTALL_SOURCE = 
xml:merged:${STAGING_DIR_NATIVE}${sysconfdir}/gconf/gconf.xml.defaults
 export GCONF_BACKEND_DIR = ${STAGING_LIBDIR_NATIVE}/GConf/2
 
+# Disable install-time schema registration as we're a packaging system so this
+# happens in the postinst script, not at install time.  Set both the configure
+# script option and the traditional envionment variable just to make sure.
+EXTRA_OECONF += --disable-schemas-install
+export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL = 1
+
 gconf_postinst() {
 if [ x$D != x ]; then
exit 1
-- 
1.7.7.6


___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core


Re: [OE-core] [PATCH] gconf.bbclass: don't register schemas in the install stage

2012-06-26 Thread Colin Walters
On Tue, 2012-06-26 at 11:10 +0100, Ross Burton wrote:

 +# Disable install-time schema registration as we're a packaging system so 
 this
 +# happens in the postinst script, not at install time.  Set both the 
 configure
 +# script option and the traditional envionment variable just to make sure.
 +EXTRA_OECONF += --disable-schemas-install
 +export GCONF_DISABLE_MAKEFILE_SCHEMA_INSTALL = 1

Even better is to have the source code check for DESTDIR, and skip gconf
bits itself; e.g.:

http://git.gnome.org/browse/evolution/tree/shell/Makefile.am?h=gnome-2-28#n201

This patch is still useful though for components which don't check
DESTDIR, but again it's better to patch the relevant source code to do
so (or port to GSettings...).




___
Openembedded-core mailing list
Openembedded-core@lists.openembedded.org
http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core