[ostree] gnomeos: Building gdm



commit e34b90453ca0f781c5f46eaa7cec810e1dba5eb4
Author: Colin Walters <walters verbum org>
Date:   Sun Jan 15 17:06:18 2012 -0500

    gnomeos: Building gdm

 gnomeos/3.4/gdm-disable-documentation.patch |   55 ++++++++++
 gnomeos/3.4/gnome-doc-utils-no-docs.patch   |   52 +++++++++
 gnomeos/3.4/libcanberra-autogen.patch       |   25 +++++
 gnomeos/3.4/libcanberra-no-lynx.patch       |   61 +++++++++++
 gnomeos/3.4/manifest.json                   |   61 +++++++++--
 gnomeos/3.4/pango-querymodules-system.patch |  149 +++++++++++++++++++++++++++
 gnomeos/3.4/pulseaudio-autogen.patch        |   25 +++++
 src/triggers/triggers.d/pango.trigger       |    2 +-
 8 files changed, 420 insertions(+), 10 deletions(-)
---
diff --git a/gnomeos/3.4/gdm-disable-documentation.patch b/gnomeos/3.4/gdm-disable-documentation.patch
new file mode 100644
index 0000000..a88efc3
--- /dev/null
+++ b/gnomeos/3.4/gdm-disable-documentation.patch
@@ -0,0 +1,55 @@
+From d2e7caf3b67bc76d7354a20344505ba22f877de7 Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters verbum org>
+Date: Sun, 15 Jan 2012 16:49:07 -0500
+Subject: [PATCH] build: Add --disable-documentation
+
+Documentation is the source of many cyclical build loops.  Allow
+operating system builders to manually cut these cycles initially
+by disabling documentation for a first pass.
+---
+ Makefile.am  |    8 +++++++-
+ configure.ac |    4 ++++
+ 2 files changed, 11 insertions(+), 1 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index f522f40..3f00a16 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -4,12 +4,18 @@ SUBDIRS = 			\
+ 	data			\
+ 	common 			\
+ 	daemon 			\
+-	docs			\
+ 	gui 			\
+ 	utils 			\
+ 	po 			\
+ 	tests 			\
+ 	$(NULL)
++DIST_SUBDIRS =
++
++if ENABLE_DOCUMENTATION
++SUBDIRS += docs
++else
++DIST_SUBDIRS += docs
++endif
+ 
+ # add these when help gets added back
+ # omf-install
+diff --git a/configure.ac b/configure.ac
+index 30397c5..291627c 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -44,6 +44,10 @@ AC_CONFIG_MACRO_DIR([m4])
+ IT_PROG_INTLTOOL([0.40.0])
+ 
+ GNOME_DOC_INIT
++AC_ARG_ENABLE([documentation],
++	AS_HELP_STRING([--enable-documentation], [enable man pages and HTML documentation]),
++	[], [enable_documentation=yes])
++AM_CONDITIONAL(ENABLE_DOCUMENTATION, test x$enable_documentation = xyes)
+ 
+ GETTEXT_PACKAGE=gdm
+ AC_SUBST(GETTEXT_PACKAGE)
+-- 
+1.7.6.4
+
diff --git a/gnomeos/3.4/gnome-doc-utils-no-docs.patch b/gnomeos/3.4/gnome-doc-utils-no-docs.patch
new file mode 100644
index 0000000..cb70768
--- /dev/null
+++ b/gnomeos/3.4/gnome-doc-utils-no-docs.patch
@@ -0,0 +1,52 @@
+From 8b4cb9d332b84db970bf446ad9576ad98ba448e5 Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters verbum org>
+Date: Sat, 14 Jan 2012 21:45:18 -0500
+Subject: [PATCH] build: Add --disable-documentation option
+
+This may sound weird for gnome-doc-utils, but basically I need a
+way to bootstrap an operating system without documentation initially,
+because it's the source of big dependency cycles.
+
+This configure option is enough to get the m4 macros installed, and
+then move from there to building GDM without documentation too.
+---
+ configure.in       |    5 +++++
+ xml2po/Makefile.am |    6 +++++-
+ 2 files changed, 10 insertions(+), 1 deletions(-)
+
+diff --git a/configure.in b/configure.in
+index 15d97a4..dd56f21 100644
+--- a/configure.in
++++ b/configure.in
+@@ -21,6 +21,11 @@ AC_PROG_LN_S
+ gdu_cv_have_gdu=yes
+ GNOME_DOC_DEFINES
+ 
++AC_ARG_ENABLE([documentation],
++	AS_HELP_STRING([--enable-documentation], [enable documentation generated via XSLT]),
++	[], [enable_documentation=yes])
++AM_CONDITIONAL(ENABLE_DOCUMENTATION, test x$enable_documentation = xyes)
++
+ AC_ARG_ENABLE([build-utils],
+ 	AC_HELP_STRING([--enable-build-utils],
+ 	[build and install the build utilities [default=yes]]),,
+diff --git a/xml2po/Makefile.am b/xml2po/Makefile.am
+index 2f17f0b..4aff003 100644
+--- a/xml2po/Makefile.am
++++ b/xml2po/Makefile.am
+@@ -3,7 +3,11 @@ SUBDIRS = xml2po examples
+ pkgconfigdir = $(datadir)/pkgconfig
+ pkgconfig_DATA = xml2po.pc
+ 
+-man_MANS = xml2po.1
++man_MANS = 
++
++if ENABLE_DOCUMENTATION
++man_MANS += xml2po.1
++endif
+ 
+ $(srcdir)/README: README.in
+ 	sed -e "s/\ VERSION\@/@VERSION@/g" < README.in > README
+-- 
+1.7.6.4
+
diff --git a/gnomeos/3.4/libcanberra-autogen.patch b/gnomeos/3.4/libcanberra-autogen.patch
new file mode 100644
index 0000000..0612fe7
--- /dev/null
+++ b/gnomeos/3.4/libcanberra-autogen.patch
@@ -0,0 +1,25 @@
+From fb255dd0c00baf1666cd0f7bbe36acc4a1185870 Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters verbum org>
+Date: Sun, 15 Jan 2012 16:16:50 -0500
+Subject: [PATCH] autogen: Honor NOCONFIGURE=1
+
+See http://people.gnome.org/~walters/docs/build-api.txt
+---
+ autogen.sh |    4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+diff --git a/autogen.sh b/autogen.sh
+index e784d3a..630cb97 100755
+--- a/autogen.sh
++++ b/autogen.sh
+@@ -22,4 +22,6 @@
+ 
+ NOCONFIGURE=1 ./bootstrap.sh
+ 
+-exec ./configure  "$@"
++if test -z "$NOCONFIGURE"; then
++    exec ./configure  "$@"
++fi
+-- 
+1.7.6.4
+
diff --git a/gnomeos/3.4/libcanberra-no-lynx.patch b/gnomeos/3.4/libcanberra-no-lynx.patch
new file mode 100644
index 0000000..a4f8e8a
--- /dev/null
+++ b/gnomeos/3.4/libcanberra-no-lynx.patch
@@ -0,0 +1,61 @@
+From eea817d6dc89b1dfcf144c3a247a62da6be97a1c Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters verbum org>
+Date: Sun, 15 Jan 2012 16:35:43 -0500
+Subject: [PATCH] build: Fix build with no lynx installed
+
+---
+ Makefile.am     |    8 +++++++-
+ doc/Makefile.am |    3 ++-
+ 2 files changed, 9 insertions(+), 2 deletions(-)
+
+diff --git a/Makefile.am b/Makefile.am
+index ffa7265..794fe10 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -16,7 +16,11 @@
+ # License along with libcanberra. If not, see
+ # <http://www.gnu.org/licenses/>.
+ 
+-dist_doc_DATA = README
++dist_doc_DATA =
++
++if USE_LYNX
++dist_doc_DATA += README
++endif
+ 
+ EXTRA_DIST = \
+ 	bootstrap.sh \
+@@ -29,7 +33,9 @@ EXTRA_DIST = \
+ SUBDIRS = src gtkdoc doc
+ 
+ MAINTAINERCLEANFILES = README
++if USE_LYNX
+ noinst_DATA = README
++endif
+ 
+ pkgconfigdir = $(libdir)/pkgconfig
+ pkgconfig_DATA = libcanberra.pc
+diff --git a/doc/Makefile.am b/doc/Makefile.am
+index fae9958..cb27f22 100644
+--- a/doc/Makefile.am
++++ b/doc/Makefile.am
+@@ -16,7 +16,7 @@
+ # License along with libcanberra. If not, see
+ # <http://www.gnu.org/licenses/>.
+ 
+-noinst_DATA = README.html README
++noinst_DATA = README.html
+ EXTRA_DIST = $(noinst_DATA) style.css README.html.in
+ 
+ MAINTAINERCLEANFILES = README.html
+@@ -26,6 +26,7 @@ if USE_LYNX
+ README: README.html
+ 	$(AM_V_GEN)lynx --dump $^ | sed 's,file://localhost/.*/doc/README.html,README,' > $@
+ 
++noinst_DATA += README
+ CLEANFILES += README
+ endif
+ 
+-- 
+1.7.6.4
+
diff --git a/gnomeos/3.4/manifest.json b/gnomeos/3.4/manifest.json
index fbe459d..d51e91c 100644
--- a/gnomeos/3.4/manifest.json
+++ b/gnomeos/3.4/manifest.json
@@ -10,6 +10,8 @@
                 "fd-dbus": "git:git://anongit.freedesktop.org/git/dbus/",
                 "fd-NM": "git:git://anongit.freedesktop.org/git/NetworkManager/",
                 "fd-mesa": "git:git://anongit.freedesktop.org/git/mesa/",
+                "fd-pulse": "git:git://anongit.freedesktop.org/git/pulseaudio/",
+                "0pointer": "git:git://git.0pointer.de/",
                 "fedora": "git:git://git.fedorahosted.org/",
                 "savannah": "git:git://git.savannah.gnu.org/",
                 "debian": "git:git://anonscm.debian.org/",
@@ -17,6 +19,13 @@
 		"cgwalters": "git:git://github.com/cgwalters/"},
 
   "components": [
+   		{"src": "gnome:gtk-doc-stub",
+		 "component": "devel"},
+
+		{"src": "git:git://github.com/atgreen/libffi.git"},
+
+		{"src": "gnome:glib"},
+
 		{"src": "savannah:attr",
 		 "branch": "v2.4.46",
 		 "patches": ["attr-add-autogen.patch",
@@ -36,17 +45,10 @@
 		{"src": "gnome:ostree",
 		 "config-opts": ["--disable-documentation"]},
 
-   		{"src": "gnome:gtk-doc-stub",
-		 "component": "devel"},
-
 		{"src": "gnome:libxml2"},
 
 		{"src": "gnome:libxslt"},
 
-		{"src": "git:git://github.com/atgreen/libffi.git"},
-
-		{"src": "gnome:glib"},
-
    		{"src": "fd:pixman"},
 
    		{"src": "git:git://git.sv.nongnu.org/freetype/freetype2.git",
@@ -387,7 +389,7 @@
 		{"src": "fd:PolicyKit",
 		 "config-opts": ["--disable-man-pages"]},
 
-		{"src": "git:git://git.0pointer.de/libatasmart.git",
+		{"src": "0pointer:libatasmart.git",
 		 "patches": ["libatasmart-autogen.patch"]},
 
 		{"src": "fd:udisks",
@@ -398,6 +400,47 @@
 
 	        {"src": "fd:upower",
 		 "config-opts": ["--disable-man-pages"],
-		 "patches": ["upower-no-builddir.patch"]}
+		 "patches": ["upower-no-builddir.patch"]},
+
+		{"src": "gnome:gnome-doc-utils",
+		 "config-opts": ["--disable-scrollkeeper",
+		                 "--disable-documentation"],
+                 "patches": ["gnome-doc-utils-no-docs.patch"]},
+
+		{"src": "gnome:gconf",
+		 "config-opts": ["--disable-orbit",
+		                 "--disable-gtk",
+				 "--disable-documentation"]},
+
+		{"src": "gnome:pango",
+		 "patches": ["pango-querymodules-system.patch"]},
+
+		{"src": "gnome:atk"},
+
+		{"src": "gnome:gdk-pixbuf"},
+
+		{"src": "gnome:gtk+",
+		 "name": "gtk2",
+		 "branch": "gtk-2-24"},
+
+		{"src": "gnome:gtk+",
+		 "name": "gtk3",
+		 "branch": "3b6665aad2c895fc8bc308fc47628001bbc0b401"},
+
+		{"src": "fd:accountsservice"},
+
+		{"src": "fd-pulse:pulseaudio",
+		 "branch": "v0.9.23",
+		 "config-opts": ["--disable-openssl"],
+		 "patches": ["pulseaudio-autogen.patch"]},
+
+		{"src": "0pointer:libcanberra",
+		 "patches": ["libcanberra-autogen.patch",
+		             "libcanberra-no-lynx.patch"]},
+
+		{"src": "gnome:gdm",
+		 "config-opts": ["--disable-documentation"],
+		 "patches": ["gdm-disable-documentation.patch"]}
+
 	]
 }
diff --git a/gnomeos/3.4/pango-querymodules-system.patch b/gnomeos/3.4/pango-querymodules-system.patch
new file mode 100644
index 0000000..7fc8c40
--- /dev/null
+++ b/gnomeos/3.4/pango-querymodules-system.patch
@@ -0,0 +1,149 @@
+From 54798de50d8dca0f6834ffb9796fe47c5e04f31e Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters verbum org>
+Date: Sun, 15 Jan 2012 09:43:59 -0500
+Subject: [PATCH] querymodules: Add --system argument
+
+When run as a system trigger, we really don't want to be consulting
+e.g. /root/.pangorc.  Also, the OSTree build system can run as
+non-root, but we don't in this case want to look at /home/user since
+the user may not even exist in the password database inside the
+chroot.
+
+https://bugzilla.gnome.org/show_bug.cgi?id=667960
+---
+ pango/pango-utils.c  |   67 +++++++++++++++++++++++++++++++++++++++----------
+ pango/querymodules.c |    9 ++++++-
+ 2 files changed, 61 insertions(+), 15 deletions(-)
+
+diff --git a/pango/pango-utils.c b/pango/pango-utils.c
+index 44ec353..8177dab 100644
+--- a/pango/pango-utils.c
++++ b/pango/pango-utils.c
+@@ -532,6 +532,7 @@ pango_scan_int (const char **pos, int *out)
+ }
+ 
+ static GHashTable *config_hash = NULL;
++static gboolean did_read_user_config = FALSE;
+ 
+ static void
+ read_config_file (const char *filename, gboolean enoent_error)
+@@ -604,23 +605,41 @@ read_config_file (const char *filename, gboolean enoent_error)
+ }
+ 
+ static void
+-read_config (void)
++ensure_config_hash (void)
+ {
+   if (!config_hash)
+-    {
+-      char *filename;
+-      const char *home;
+-      const char *envvar;
+-
+-      config_hash = g_hash_table_new_full (g_str_hash, g_str_equal,
+-					   (GDestroyNotify)g_free,
+-					   (GDestroyNotify)g_free);
+-      filename = g_build_filename (pango_get_sysconf_subdirectory (),
+-				   "pangorc",
+-				   NULL);
+-      read_config_file (filename, FALSE);
+-      g_free (filename);
++    config_hash = g_hash_table_new_full (g_str_hash, g_str_equal,
++					 (GDestroyNotify)g_free,
++					 (GDestroyNotify)g_free);
++}
++
++static void
++read_config_system (void)
++{
++  char *filename;
++
++  ensure_config_hash ();
++
++  filename = g_build_filename (pango_get_sysconf_subdirectory (),
++			       "pangorc",
++			       NULL);
++  read_config_file (filename, FALSE);
++  g_free (filename);
++}
++
++static void
++read_config (void)
++{
++  char *filename;
++  const char *home;
++  const char *envvar;
+ 
++  read_config_system ();
++
++  if (!did_read_user_config)
++    {
++      did_read_user_config = TRUE;
++  
+       home = g_get_home_dir ();
+       if (home && *home)
+ 	{
+@@ -636,6 +655,26 @@ read_config (void)
+ }
+ 
+ /**
++ * pango_config_key_get_system:
++ * @key: Key to look up, in the form "SECTION/KEY".
++ *
++ * Looks up a key, consulting only the Pango system config database
++ * in $sysconfdir/pango/pangorc.
++ *
++ * Return value: the value, if found, otherwise %NULL. The value is a
++ * newly-allocated string and must be freed with g_free().
++ **/
++char *
++pango_config_key_get_system (const char *key)
++{
++  g_return_val_if_fail (key != NULL, NULL);
++
++  read_config_system ();
++
++  return g_strdup (g_hash_table_lookup (config_hash, key));
++}
++
++/**
+  * pango_config_key_get:
+  * @key: Key to look up, in the form "SECTION/KEY".
+  *
+diff --git a/pango/querymodules.c b/pango/querymodules.c
+index ef2d09a..a1eec70 100644
+--- a/pango/querymodules.c
++++ b/pango/querymodules.c
+@@ -44,6 +44,8 @@
+ #endif
+ #define SOEXT_LEN ((int) strlen (SOEXT))
+ 
++static gboolean system_mode;
++
+ static gboolean
+ string_needs_escape (const char *str)
+ {
+@@ -205,6 +207,8 @@ main (int argc, char **argv)
+     {
+       {"version",	0, G_OPTION_FLAG_NO_ARG, G_OPTION_ARG_CALLBACK, &show_version,
+        "Show version numbers",                                             NULL},
++      {"system",	0, 0, G_OPTION_ARG_NONE, &system_mode,
++       "Do not load configuration from home directory", NULL},
+       {NULL}
+     };
+ 
+@@ -237,7 +241,10 @@ main (int argc, char **argv)
+       char **dirs;
+       int i;
+ 
+-      path = pango_config_key_get ("Pango/ModulesPath");
++      if (system_mode)
++	path = pango_config_key_get_system ("Pango/ModulesPath");
++      else
++	path = pango_config_key_get ("Pango/ModulesPath");
+       if (!path)
+ 	path = g_build_filename (pango_get_lib_subdirectory (),
+ 				 MODULE_VERSION,
+-- 
+1.7.6.4
+
diff --git a/gnomeos/3.4/pulseaudio-autogen.patch b/gnomeos/3.4/pulseaudio-autogen.patch
new file mode 100644
index 0000000..4a9ef1d
--- /dev/null
+++ b/gnomeos/3.4/pulseaudio-autogen.patch
@@ -0,0 +1,25 @@
+From 2be8c8bd092a0ee0f0354547f250c2ffd1edcae2 Mon Sep 17 00:00:00 2001
+From: Colin Walters <walters verbum org>
+Date: Sun, 15 Jan 2012 15:14:18 -0500
+Subject: [PATCH] autogen.sh: Honor NOCONFIGURE=1
+
+See http://people.gnome.org/~walters/docs/build-api.txt
+---
+ autogen.sh |    4 +++-
+ 1 files changed, 3 insertions(+), 1 deletions(-)
+
+diff --git a/autogen.sh b/autogen.sh
+index 4051a22..2fff570 100755
+--- a/autogen.sh
++++ b/autogen.sh
+@@ -20,4 +20,6 @@
+ 
+ NOCONFIGURE=1 ./bootstrap.sh
+ 
+-exec ./configure  "$@"
++if test -z "$NOCONFIGURE"; then
++    exec ./configure  "$@"
++fi
+-- 
+1.7.6.4
+
diff --git a/src/triggers/triggers.d/pango.trigger b/src/triggers/triggers.d/pango.trigger
index e5e19ce..6993546 100755
--- a/src/triggers/triggers.d/pango.trigger
+++ b/src/triggers/triggers.d/pango.trigger
@@ -23,4 +23,4 @@
 # REMatch: /lib.*/pango/.*/modules/.*\.so
 
 DEST=/etc/pango/pango.modules
-pango-querymodules > ${DEST}.tmp && mv ${DEST}.tmp ${DEST}
+pango-querymodules --system > ${DEST}.tmp && mv ${DEST}.tmp ${DEST}



[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]