From 10e8c54a03ba4f085b81db6b70407d17a671825b258e3c9d00d598e66211a35c Mon Sep 17 00:00:00 2001 From: Dominique Leuenberger Date: Thu, 7 Jul 2011 07:44:57 +0000 Subject: [PATCH] Accepting request 75583 from home:vuntz:branches:GNOME:Factory Rework branding to prepare gconf->gsettings branding change OBS-URL: https://build.opensuse.org/request/show/75583 OBS-URL: https://build.opensuse.org/package/show/GNOME:Factory/glib2?expand=0&rev=149 --- README.Gsettings-overrides | 19 ++++++++++++++++ glib2.changes | 24 +++++++++++++++++++++ glib2.spec | 44 ++++++++++++++++++++++---------------- 3 files changed, 68 insertions(+), 19 deletions(-) create mode 100644 README.Gsettings-overrides diff --git a/README.Gsettings-overrides b/README.Gsettings-overrides new file mode 100644 index 0000000..fae889d --- /dev/null +++ b/README.Gsettings-overrides @@ -0,0 +1,19 @@ +Quoting the "Vendor overrides" section from [1]: + +Default values are defined in the schemas that get installed by an application. +Sometimes, it is necessary for a vendor or distributor to adjust these +defaults. Since patching the XML source for the schema is inconvenient and +error-prone, glib-compile-schemas reads so-called 'vendor override' files. +These are keyfiles in the same directory as the XML schema sources which can +override default values. The schema id serves as the group name in the key +file, and the values are expected in serialized GVariant form, as in the +following example: + + [org.gtk.Example] + key1='string' + key2=1.5 + +glib-compile-schemas expects schema files to have the extension +.gschema.override + +[1] http://developer.gnome.org/gio/stable/GSettings.html diff --git a/glib2.changes b/glib2.changes index fabf0b4..2767c24 100644 --- a/glib2.changes +++ b/glib2.changes @@ -1,3 +1,27 @@ +------------------------------------------------------------------- +Wed Jul 6 22:09:00 CEST 2011 - vuntz@opensuse.org + +- Rename glib2-branding-upstream subpackage to + gio-branding-upstream: + + we do this since the data we add here is related only to gio, + not to the whole glib. + + add appropriate Provides/Obsoletes for glib2-branding-upstream + to gio-branding-upstream for smooth upgrades. + + change the branding-related Provides/Conflicts/Supplements to + be about gio. + + add libgio-2_0-0 Requires to branding subpackage, since the + branding package is useless without the library. + + remove glib2-branding Requires from libglib-2_0-0. + + add gio-branding Requires to libgio-2_0-0. + + make branding subpackage noarch. + + update summary and description of the branding subpackage. +- Add a README.Gsettings-overrides file, packaged in + gio-branding-upstream to explain how to use overrides for + GSettings. This might help people creating other branding + packages. +- Add gio Provides to libgio-2_0-0, to make branding packaging + easier. + ------------------------------------------------------------------- Wed Jul 6 00:31:06 CEST 2011 - vuntz@opensuse.org diff --git a/glib2.spec b/glib2.spec index 6e6e442..796dbdc 100644 --- a/glib2.spec +++ b/glib2.spec @@ -33,12 +33,14 @@ Source: http://download.gnome.org/sources/glib/2.29/%{_name}-%{version}. Source1: glib2.sh Source2: glib2.csh Source3: SuSEconfig.glib2 -# Not upsteam file. Only proposes upstream packages: +# Not upstream file. Only proposes upstream packages: Source4: glib2-upstream-gnome_defaults.conf -Source5: macros.glib2 +# Some documentation for people writing branding packages, shipped in the branding-upstream package +Source5: README.Gsettings-overrides +Source6: macros.glib2 # Not depending on gtk-doc shortens bootstrap compilation path. # Please update this file from the latest gtk-doc package: -Source6: gtk-doc.m4 +Source7: gtk-doc.m4 Source99: baselibs.conf # PATCH-FIX-OPENSUSE glib2-use-old-pcre.patch vuntz@opensuse.org -- Do no require a too recent version of pcre on openSUSE versions that don't have it Patch0: glib2-use-old-pcre.patch @@ -95,27 +97,28 @@ GLib is a general-purpose utility library, which provides many useful data types, macros, type conversions, string utilities, file utilities, a main loop abstraction, and so on. -%package branding-upstream +%package -n gio-branding-upstream License: LGPLv2+ -Summary: Definition of GNOME Default Applications +Summary: Upstream definitions of default settings and applications Group: System/Libraries -Provides: %{name}-branding = %{version} -Conflicts: otherproviders(%{name}-branding) -Supplements: packageand(%{name}:branding-upstream) +Requires: libgio-2_0-0 = %{version} +Provides: %{name}-branding-upstream = %{version} +Obsoletes: %{name}-branding-upstream < %{version} +Provides: gio-branding = %{version} +Conflicts: otherproviders(gio-branding) +Supplements: packageand(libgio-2_0-0:branding-upstream) +BuildArch: noarch #BRAND: The /etc/gnome_defaults.conf allows to define arbitrary #BRAND: applications as preferred defaults. +#BRAND: A /usr/share/glib-2.0/schemas/$NAME.gschema.override can be +#BRAND: used to override the default value for a GSettings key. # NOTE: gnome_defaults is not an upstream feature, but a SuSE # enhancement, but to conform branding conventions, the package is named -# as glib2-branding-upstream. +# as gio-branding-upstream. -%description branding-upstream -This branding-style package sets default applications in GNOME in -openSUSE. - -This is a dumb package, which provides only upstream GNOME packages as -preferred defaults. You most probably don't want this package. You -probably want to install distribution default glib2-branding and prefer -distribution wise GNOME defaults. +%description -n gio-branding-upstream +This package provides upstream defaults for settings stored with +GSettings and applications used by the MIME system. %package devel #' @@ -164,7 +167,6 @@ This package contains static versions of the GLib libraries. License: LGPLv2+ Summary: General-Purpose Utility Library Group: System/Libraries -Requires: %{name}-branding = %{version} Recommends: %{name}-lang Provides: %{name} = %{version} Obsoletes: %{name} < %{version} @@ -196,10 +198,13 @@ object files (commonly known as 'plug-ins'). License: LGPLv2+ Summary: General-Purpose Utility Library -- Library for VFS Group: System/Libraries +Requires: gio-branding = %{version} # bnc#555605: shared-mime-info is required by libgio to properly detect mime types. Requires: shared-mime-info # The tools are useful for people having libgio Recommends: %{name}-tools +# Needed for branding packages +Provides: gio = %{version} # Temporarily disable this, pending further discussion # Recommends: gvfs @@ -403,8 +408,9 @@ rm -rf %{buildroot} %{_sysconfdir}/profile.d/zzz-glib2.* /sbin/conf.d/SuSEconfig.glib2 -%files branding-upstream +%files -n gio-branding-upstream %defattr(-,root,root) +%doc README.Gsettings-overrides %config (noreplace) %{_sysconfdir}/gnome_defaults.conf %files -n libglib-2_0-0