24429749 improve gnome3 settings dependency tracking
authorAlan Coopersmith <Alan.Coopersmith@Oracle.COM>
Wed, 10 Aug 2016 13:41:29 -0700
changeset 6609 489da5c0d3c5
parent 6608 a98160718cfc
child 6610 88360f57667e
24429749 improve gnome3 settings dependency tracking
components/gnome/at-spi2-core/Makefile
components/gnome/at-spi2-core/at-spi2-core.p5m
components/gnome/eog/Makefile
components/gnome/eog/eog.p5m
components/gnome/evince/Makefile
components/gnome/evince/evince.p5m
components/gnome/glib-networking/Makefile
components/gnome/glib-networking/glib-networking.p5m
components/gnome/gnome-desktop/gnome-desktop.p5m
components/gnome/gnome-system-monitor/Makefile
components/gnome/gnome-system-monitor/gnome-system-monitor.p5m
components/gnome/gsettings-desktop-schemas/gsettings-desktop-schemas.p5m
make-rules/ips.mk
transforms/depends
--- a/components/gnome/at-spi2-core/Makefile	Thu Aug 11 15:38:58 2016 -0700
+++ b/components/gnome/at-spi2-core/Makefile	Wed Aug 10 13:41:29 2016 -0700
@@ -60,6 +60,7 @@
 CONFIGURE_OPTIONS += --with-dbus-daemondir=$(USRLIBDIR)
 
 REQUIRED_PACKAGES += developer/documentation-tool/gtk-doc
+REQUIRED_PACKAGES += gnome/gsettings-desktop-schemas
 REQUIRED_PACKAGES += library/desktop/gobject/gobject-introspection
 REQUIRED_PACKAGES += library/glib2
 REQUIRED_PACKAGES += library/libxml2
--- a/components/gnome/at-spi2-core/at-spi2-core.p5m	Thu Aug 11 15:38:58 2016 -0700
+++ b/components/gnome/at-spi2-core/at-spi2-core.p5m	Wed Aug 10 13:41:29 2016 -0700
@@ -158,3 +158,5 @@
 file path=usr/share/locale/zh_HK/LC_MESSAGES/at-spi2-core.mo
 file path=usr/share/locale/zh_TW/LC_MESSAGES/at-spi2-core.mo
 license COPYING license=LGPLv2
+depend type=require fmri=__TBD \
+    pkg.tmp.gsettings-schema=org.gnome.desktop.a11y.applications
--- a/components/gnome/eog/Makefile	Thu Aug 11 15:38:58 2016 -0700
+++ b/components/gnome/eog/Makefile	Wed Aug 10 13:41:29 2016 -0700
@@ -68,6 +68,7 @@
 REQUIRED_PACKAGES += image/library/libexif
 REQUIRED_PACKAGES += image/library/libjpeg
 REQUIRED_PACKAGES += image/library/librsvg
+REQUIRED_PACKAGES += gnome/gsettings-desktop-schemas
 REQUIRED_PACKAGES += library/desktop/atk
 REQUIRED_PACKAGES += library/desktop/cairo
 REQUIRED_PACKAGES += library/desktop/gdk-pixbuf
--- a/components/gnome/eog/eog.p5m	Thu Aug 11 15:38:58 2016 -0700
+++ b/components/gnome/eog/eog.p5m	Wed Aug 10 13:41:29 2016 -0700
@@ -1888,5 +1888,11 @@
 file path=usr/share/locale/zh_TW/LC_MESSAGES/eog.mo
 file path=usr/share/locale/zu/LC_MESSAGES/eog.mo
 license COPYING license=GPLv2
-depend type=require fmri=gnome/gsettings-desktop-schemas
-depend type=require fmri=gnome/theme/adwaita-icon-theme
+
+# gsettings schemas referenced in source code files
+depend type=require fmri=__TBD pkg.debug.depend.reason=src/eog-config-keys.h \
+    pkg.tmp.gsettings-schema=org.gnome.desktop.background
+depend type=require fmri=__TBD pkg.debug.depend.reason=src/eog-config-keys.h \
+    pkg.tmp.gsettings-schema=org.gnome.desktop.lockdown
+depend type=require fmri=__TBD pkg.debug.depend.reason=src/eog-config-keys.h \
+    pkg.tmp.gsettings-schema=org.gnome.eog
--- a/components/gnome/evince/Makefile	Thu Aug 11 15:38:58 2016 -0700
+++ b/components/gnome/evince/Makefile	Wed Aug 10 13:41:29 2016 -0700
@@ -103,6 +103,7 @@
 REQUIRED_PACKAGES += archiver/unrar
 REQUIRED_PACKAGES += desktop/pdf-viewer/poppler
 REQUIRED_PACKAGES += gnome/file-manager/nautilus
+REQUIRED_PACKAGES += gnome/gsettings-desktop-schemas
 REQUIRED_PACKAGES += image/library/libtiff
 REQUIRED_PACKAGES += library/desktop/atk
 REQUIRED_PACKAGES += library/desktop/cairo
--- a/components/gnome/evince/evince.p5m	Thu Aug 11 15:38:58 2016 -0700
+++ b/components/gnome/evince/evince.p5m	Wed Aug 10 13:41:29 2016 -0700
@@ -3323,5 +3323,7 @@
 file files/gpdf.1 path=usr/share/man/man1/gpdf.1
 file path=usr/share/thumbnailers/evince.thumbnailer
 license evince.license license=GPLv2
-depend type=require fmri=gnome/gsettings-desktop-schemas
-depend type=require fmri=gnome/theme/adwaita-icon-theme
+depend type=require fmri=__TBD pkg.debug.depend.reason=shell/ev-window.c \
+    pkg.tmp.gsettings-schema=org.gnome.Evince
+depend type=require fmri=__TBD pkg.debug.depend.reason=shell/ev-window.c \
+    pkg.tmp.gsettings-schema=org.gnome.desktop.lockdown
--- a/components/gnome/glib-networking/Makefile	Thu Aug 11 15:38:58 2016 -0700
+++ b/components/gnome/glib-networking/Makefile	Wed Aug 10 13:41:29 2016 -0700
@@ -56,19 +56,6 @@
 # Assumes GNU xgettext in PATH
 CONFIGURE_ENV += PATH=$(GNUBIN):$(PATH)
 
-# Delete this when build servers are installed with gsettings-desktop-schemas
-SCHEMAS_ROOT = $(WS_COMPONENTS)/gnome/gsettings-desktop-schemas/build/prototype/$(MACH)
-PKG_CONFIG_PATHS += $(SCHEMAS_ROOT)/usr/share/pkgconfig/
-CONFIGURE_ENV += GSETTINGS_DESKTOP_SCHEMAS_CFLAGS="-I$(SCHEMAS_ROOT)/usr/include/gsettings-desktop-schemas" 
-
-# special targets due to dependency on gsettings-desktop-schemas
-../gsettings-desktop-schemas/build/%/.installed:
-	(cd ../gsettings-desktop-schemas && $(GMAKE) install)
-
-$(CONFIGURE_32):       ../gsettings-desktop-schemas/build/$(MACH32)/.installed
-$(CONFIGURE_64):       ../gsettings-desktop-schemas/build/$(MACH64)/.installed
-# end of Delete
-
 CONFIGURE_OPTIONS += --with-ca-certificates=/etc/certs/ca-certificates.crt
 CONFIGURE_OPTIONS += --with-pkcs11=no
 CONFIGURE_OPTIONS += --libexecdir=$(CONFIGURE_LIBDIR.$(BITS))
@@ -85,6 +72,7 @@
         '-e "/FAIL:/p" ' \
         '-e "/ERROR:/p" '
 
+REQUIRED_PACKAGES += gnome/gsettings-desktop-schemas
 REQUIRED_PACKAGES += developer/documentation-tool/gtk-doc
 REQUIRED_PACKAGES += developer/gnome/gettext
 REQUIRED_PACKAGES += library/glib2
--- a/components/gnome/glib-networking/glib-networking.p5m	Thu Aug 11 15:38:58 2016 -0700
+++ b/components/gnome/glib-networking/glib-networking.p5m	Wed Aug 10 13:41:29 2016 -0700
@@ -110,3 +110,6 @@
 file path=usr/share/locale/zh_HK/LC_MESSAGES/glib-networking.mo
 file path=usr/share/locale/zh_TW/LC_MESSAGES/glib-networking.mo
 license COPYING license=LGPLv2
+depend type=require fmri=__TBD \
+    pkg.debug.depend.reason=proxy/gnome/gproxyresolvergnome.c \
+    pkg.tmp.gsettings-schema=org.gnome.system.proxy
--- a/components/gnome/gnome-desktop/gnome-desktop.p5m	Thu Aug 11 15:38:58 2016 -0700
+++ b/components/gnome/gnome-desktop/gnome-desktop.p5m	Wed Aug 10 13:41:29 2016 -0700
@@ -244,3 +244,14 @@
 license COPYING-DOCS license=FDLv1.1
 license COPYING license=GPLv2
 license COPYING.LIB license=LGPLv2
+
+# gsettings schemas referenced in gnome-desktop code files
+depend type=require fmri=__TBD \
+    pkg.debug.depend.reason=libgnome-desktop/gnome-desktop-thumbnail.c \
+    pkg.tmp.gsettings-schema=org.gnome.desktop.thumbnailers
+depend type=require fmri=__TBD \
+    pkg.debug.depend.reason=libgnome-desktop/gnome-wall-clock.c \
+    pkg.tmp.gsettings-schema=org.gnome.desktop.interface
+depend type=require fmri=__TBD \
+    pkg.debug.depend.reason=libgnome-desktop/gnome-xkb-info.c \
+    pkg.tmp.gsettings-schema=org.gnome.desktop.input-sources
--- a/components/gnome/gnome-system-monitor/Makefile	Thu Aug 11 15:38:58 2016 -0700
+++ b/components/gnome/gnome-system-monitor/Makefile	Wed Aug 10 13:41:29 2016 -0700
@@ -65,6 +65,7 @@
 COMPONENT_BUILD_ENV += PATH="$(GNUBIN):$(PATH)"
 
 REQUIRED_PACKAGES += image/library/librsvg
+REQUIRED_PACKAGES += gnome/gsettings-desktop-schemas
 REQUIRED_PACKAGES += library/c++/glibmm
 REQUIRED_PACKAGES += library/c++/sigcpp
 REQUIRED_PACKAGES += library/desktop/c++/atkmm
--- a/components/gnome/gnome-system-monitor/gnome-system-monitor.p5m	Thu Aug 11 15:38:58 2016 -0700
+++ b/components/gnome/gnome-system-monitor/gnome-system-monitor.p5m	Wed Aug 10 13:41:29 2016 -0700
@@ -335,5 +335,7 @@
 file path=usr/share/locale/zh_TW/LC_MESSAGES/gnome-system-monitor.mo
 file path=usr/share/polkit-1/actions/org.gnome.gnome-system-monitor.policy
 license COPYING license=GPLv2
-depend type=require fmri=gnome/gsettings-desktop-schemas
-depend type=require fmri=gnome/theme/adwaita-icon-theme
+
+# gsettings schemas referenced in source code files
+depend type=require fmri=__TBD pkg.debug.depend.reason=src/util.cpp \
+    pkg.tmp.gsettings-schema=org.gnome.desktop.interface
--- a/components/gnome/gsettings-desktop-schemas/gsettings-desktop-schemas.p5m	Thu Aug 11 15:38:58 2016 -0700
+++ b/components/gnome/gsettings-desktop-schemas/gsettings-desktop-schemas.p5m	Wed Aug 10 13:41:29 2016 -0700
@@ -117,3 +117,13 @@
 file path=usr/share/locale/zh_TW/LC_MESSAGES/gsettings-desktop-schemas.mo
 file path=usr/share/pkgconfig/gsettings-desktop-schemas.pc
 license COPYING license=LGPLv2.1
+#
+# The provided default settings in org.gnome.desktop.interface.gschema.xml
+# currently require these fonts & themes.  These use group dependencies so
+# if someone overrides the defaults to use other themes or fonts, they can
+# remove these packages. Until pkgdepend can autodetect them (ER 24416519)
+# we list them manually.
+#
+depend type=group fmri=gnome/theme/adwaita-icon-theme
+depend type=group fmri=system/font/truetype/cantarell
+depend type=group fmri=system/font/truetype/dejavu
--- a/make-rules/ips.mk	Thu Aug 11 15:38:58 2016 -0700
+++ b/make-rules/ips.mk	Wed Aug 10 13:41:29 2016 -0700
@@ -74,6 +74,7 @@
 PUBLISH_TRANSFORMS +=	$(WS_TOP)/transforms/autopyc
 PUBLISH_TRANSFORMS +=	$(WS_TOP)/transforms/defaults
 PUBLISH_TRANSFORMS +=	$(WS_TOP)/transforms/actuators
+PUBLISH_TRANSFORMS +=	$(WS_TOP)/transforms/depends
 PUBLISH_TRANSFORMS +=	$(WS_TOP)/transforms/devel
 PUBLISH_TRANSFORMS +=	$(WS_TOP)/transforms/docs
 PUBLISH_TRANSFORMS +=	$(WS_TOP)/transforms/locale
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/transforms/depends	Wed Aug 10 13:41:29 2016 -0700
@@ -0,0 +1,47 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE
+# or http://www.opensolaris.org/os/licensing.
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each
+# file and include the License file at usr/src/OPENSOLARIS.LICENSE.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+
+#
+# Copyright (c) 2016, Oracle and/or its affiliates. All rights reserved.
+#
+
+#
+# Dependency helpers for things pkgdepend(1) doesn't or can't handle
+#
+
+#
+# gsettings schema files
+#
+# Finding these requires looking in source code for calls such as:
+#   g_settings_new ("org.gnome.desktop.interface");
+# When found, add an entry such as:
+#   depend type=require fmri=__TBD \
+#       pkg.tmp.gsettings-schema=org.gnome.desktop.interface
+# You may also include pkg.debug.depend.reason=source-file.c as a reference
+# for future updates to record what source file you found the call in.
+#
+
+<transform depend fmri=__TBD pkg.tmp.gsettings-schema=(.*) -> \
+    default pkg.debug.depend.file %<1>.gschema.xml>
+<transform depend fmri=__TBD pkg.debug.depend.file=.*\.gschema\.xml$ -> \
+    delete pkg.tmp.gsettings-schema .*>
+<transform depend fmri=__TBD pkg.debug.depend.file=.*\.gschema\.xml$ -> \
+    add pkg.debug.depend.path usr/share/glib-2.0/schemas>