Re: [OE-core] [PATCH] gconf.bbclass: don't register schemas in the install stage
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
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
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
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
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