All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH] gconf.bbclass: don't register schemas in the install stage
@ 2012-06-26 10:10 Ross Burton
  2012-06-26 21:02 ` Colin Walters
  2012-06-28 17:14 ` Saul Wold
  0 siblings, 2 replies; 5+ messages in thread
From: Ross Burton @ 2012-06-26 10:10 UTC (permalink / raw)
  To: openembedded-core

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.burton@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




^ permalink raw reply related	[flat|nested] 5+ messages in thread

* Re: [PATCH] gconf.bbclass: don't register schemas in the install stage
  2012-06-26 10:10 [PATCH] gconf.bbclass: don't register schemas in the install stage Ross Burton
@ 2012-06-26 21:02 ` Colin Walters
  2012-06-27  6:01   ` Ross Burton
  2012-06-28 17:14 ` Saul Wold
  1 sibling, 1 reply; 5+ messages in thread
From: Colin Walters @ 2012-06-26 21:02 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

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...).






^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] gconf.bbclass: don't register schemas in the install stage
  2012-06-26 21:02 ` Colin Walters
@ 2012-06-27  6:01   ` Ross Burton
  2012-06-28 22:10     ` Colin Walters
  0 siblings, 1 reply; 5+ messages in thread
From: Ross Burton @ 2012-06-27  6:01 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

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





^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] gconf.bbclass: don't register schemas in the install stage
  2012-06-26 10:10 [PATCH] gconf.bbclass: don't register schemas in the install stage Ross Burton
  2012-06-26 21:02 ` Colin Walters
@ 2012-06-28 17:14 ` Saul Wold
  1 sibling, 0 replies; 5+ messages in thread
From: Saul Wold @ 2012-06-28 17:14 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

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 Burton<ross.burton@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!



^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] gconf.bbclass: don't register schemas in the install stage
  2012-06-27  6:01   ` Ross Burton
@ 2012-06-28 22:10     ` Colin Walters
  0 siblings, 0 replies; 5+ messages in thread
From: Colin Walters @ 2012-06-28 22:10 UTC (permalink / raw)
  To: Patches and discussions about the oe-core layer

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).





^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2012-06-28 22:22 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-06-26 10:10 [PATCH] gconf.bbclass: don't register schemas in the install stage Ross Burton
2012-06-26 21:02 ` Colin Walters
2012-06-27  6:01   ` Ross Burton
2012-06-28 22:10     ` Colin Walters
2012-06-28 17:14 ` Saul Wold

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.