diff --git a/gnomeos/3.4/ca-certs-build.patch b/gnomeos/3.4/ca-certs-build.patch new file mode 100644 index 00000000..4f612371 --- /dev/null +++ b/gnomeos/3.4/ca-certs-build.patch @@ -0,0 +1,207 @@ +From 5171353bc89bab1f4717c11cacd1ab2463b58a99 Mon Sep 17 00:00:00 2001 +From: Colin Walters +Date: Tue, 17 Jan 2012 14:56:56 -0500 +Subject: [PATCH] Implement GNOME build API + +See http://people.gnome.org/~walters/docs/build-api.txt +--- + Makefile | 22 ++++++++++++++++++ + certdata2pem.py | 12 ++++++--- + configure | 63 +++++++++++++++++++++++++++++++++++++++++++++++++++++ + make-ca-bundle.sh | 45 +++++++++++++++++++++++++++++++++++++ + 4 files changed, 138 insertions(+), 4 deletions(-) + create mode 100644 Makefile + create mode 100755 configure + create mode 100755 make-ca-bundle.sh + +diff --git a/Makefile b/Makefile +new file mode 100644 +index 0000000..422c8c2 +--- /dev/null ++++ b/Makefile +@@ -0,0 +1,22 @@ ++include Makefile.inc ++ ++pkidir=$(sysconfdir)/pki ++ ++stamp-certs-created: ++ mkdir -p ca-certificates/certs ++ python $(srcdir)/certdata2pem.py $(srcdir)/certdata.txt $(srcdir)/blacklist.txt ca-certificates/certs ++ $(srcdir)/make-ca-bundle.sh $(srcdir)/certdata.txt ca-certificates ++ touch stamp-certs-created ++ ++install: stamp-certs-created ++ mkdir -p $(DESTDIR)$(sysconfdir)/pki/tls/certs ++ install -p -m 644 ca-certificates/ca-bundle.crt $(DESTDIR)$(pkidir)/tls/certs/ca-bundle.crt ++ install -p -m 644 ca-certificates/ca-bundle.trust.crt $(DESTDIR)$(pkidir)/tls/certs/ca-bundle.trust.crt ++ rm -f $(DESTDIR)$(pkidir)/tls/cert.pem ++ ln -s certs/ca-bundle.crt $(DESTDIR)$(pkidir)/tls/cert.pem ++ touch -r $(srcdir)/certdata.txt $(DESTDIR)$(pkidir)/tls/certs/ca-bundle.crt ++ touch -r $(srcdir)/certdata.txt $(DESTDIR)$(pkidir)/tls/certs/ca-bundle.trust.crt ++ ++ mkdir -p -m 755 $(DESTDIR)$(sysconfdir)/ssl ++ rm -f $(DESTDIR)$(sysconfdir)/ssl/certs ++ ln -s ../pki/tls/certs $(DESTDIR)$(sysconfdir)/ssl/certs +diff --git a/certdata2pem.py b/certdata2pem.py +index c22946d..b0d6259 100644 +--- a/certdata2pem.py ++++ b/certdata2pem.py +@@ -28,10 +28,14 @@ import textwrap + + objects = [] + ++certdata_path = sys.argv[1] ++blacklist_path = sys.argv[2] ++outdir=sys.argv[3] ++ + # Dirty file parser. + in_data, in_multiline, in_obj = False, False, False + field, type, value, obj = None, None, None, dict() +-for line in open('certdata.txt', 'r'): ++for line in open(certdata_path, 'r'): + # Ignore the file header. + if not in_data: + if line.startswith('BEGINDATA'): +@@ -81,8 +85,8 @@ if len(obj.items()) > 0: + + # Read blacklist. + blacklist = [] +-if os.path.exists('blacklist.txt'): +- for line in open('blacklist.txt', 'r'): ++if os.path.exists(blacklist_path): ++ for line in open(blacklist_path, 'r'): + line = line.strip() + if line.startswith('#') or len(line) == 0: + continue +@@ -161,7 +165,7 @@ for obj in objects: + print " -> untrusted, ignoring" + continue + fname = obj_to_filename(obj) +- f = open(fname, 'w') ++ f = open(os.path.join(outdir, fname), 'w') + trustbits = [] + openssl_trustflags = [] + tobj = trustmap[obj['CKA_LABEL']] +diff --git a/configure b/configure +new file mode 100755 +index 0000000..88752a9 +--- /dev/null ++++ b/configure +@@ -0,0 +1,63 @@ ++#!/bin/bash ++# -*- mode: sh -*- ++# Minimal configure script which writes out a Makefile.inc ++# Copyright 2010, 2011 Colin Walters ++# Licensed under the new-BSD license (http://www.opensource.org/licenses/bsd-license.php) ++ ++prefix=/usr ++ ++# Little helper function for reading args from the commandline. ++# it automatically handles -a b and -a=b variants, and returns 1 if ++# we need to shift $3. ++read_arg() { ++ # $1 = arg name ++ # $2 = arg value ++ # $3 = arg parameter ++ local rematch='^[^=]*=(.*)$' ++ if [[ $2 =~ $rematch ]]; then ++ read "$1" <<< "${BASH_REMATCH[1]}" ++ else ++ read "$1" <<< "$3" ++ # There is no way to shift our callers args, so ++ # return 1 to indicate they should do it instead. ++ return 1 ++ fi ++} ++ ++while (($# > 0)); do ++ case "${1%%=*}" in ++ --prefix) read_arg prefix "$@" || shift;; ++ --bindir) read_arg bindir "$@" || shift;; ++ --sbindir) read_arg sbindir "$@" || shift;; ++ --libexecdir) read_arg libexecdir "$@" || shift;; ++ --datarootdir) read_arg datarootdir "$@" || shift;; ++ --datadir) read_arg datadir "$@" || shift;; ++ --sysconfdir) read_arg sysconfdir "$@" || shift;; ++ --libdir) read_arg libdir "$@" || shift;; ++ --mandir) read_arg mandir "$@" || shift;; ++ *) echo "Ignoring unknown option '$1'";; ++ esac ++ shift ++done ++ ++# Handle srcdir != builddir ++srcdir=$(dirname $0) ++if ! test -f Makefile; then ++ ln -s ${srcdir}/Makefile Makefile ++fi ++ ++cat > Makefile.inc.tmp < $out/ca-bundle.crt ++ ++( ++ cat < $out/ca-bundle.trust.crt ++for f in $out/certs/*.crt; do ++ tbits=`sed -n '/^# openssl-trust/{s/^.*=//;p;}' $f` ++ case $tbits in ++ *serverAuth*) openssl x509 -text -in "$f" >> $out/ca-bundle.crt ;; ++ esac ++ if [ -n "$tbits" ]; then ++ targs="" ++ for t in $tbits; do ++ targs="${targs} -addtrust $t" ++ done ++ openssl x509 -text -in "$f" -trustout $targs >> $out/ca-bundle.trust.crt ++ fi ++done ++ +-- +1.7.6.5 + diff --git a/gnomeos/3.4/gst-plugins-base-no-builddir.patch b/gnomeos/3.4/gst-plugins-base-no-builddir.patch new file mode 100644 index 00000000..a14ae5fa --- /dev/null +++ b/gnomeos/3.4/gst-plugins-base-no-builddir.patch @@ -0,0 +1,26 @@ +From 23b2d7561fbc609ab2a00c2a261a203587fb802b Mon Sep 17 00:00:00 2001 +From: Colin Walters +Date: Tue, 17 Jan 2012 17:12:07 -0500 +Subject: [PATCH] build: Note we don't support srcdir != builddir + +--- + configure.ac | 3 +++ + 1 files changed, 3 insertions(+), 0 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 0e3b20e..c811a58 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -14,6 +14,9 @@ AG_GST_INIT + dnl initialize automake + AM_INIT_AUTOMAKE([-Wno-portability 1.10]) + ++dnl http://people.gnome.org/~walters/docs/build-api.txt ++echo \#buildapi-variable-no-builddir >/dev/null ++ + dnl define PACKAGE_VERSION_* variables + AS_VERSION + +-- +1.7.6.5 + diff --git a/gnomeos/3.4/gst-plugins-base-warnings.patch b/gnomeos/3.4/gst-plugins-base-warnings.patch new file mode 100644 index 00000000..884f89f8 --- /dev/null +++ b/gnomeos/3.4/gst-plugins-base-warnings.patch @@ -0,0 +1,64 @@ +From 1e8d86a199857d762b2bb13be8431112a8eed16d Mon Sep 17 00:00:00 2001 +From: Colin Walters +Date: Tue, 17 Jan 2012 16:50:46 -0500 +Subject: [PATCH] build: Add --disable-fatal-warnings + +It's reasonable to build from git, but not want to turn all compiler +warnings into fatal errors. For example, GNOME's jhbuild helps people +get newer versions of software than came from their distribution, but +they may not necessarily want to hack on it. +--- + common | 2 +- + configure.ac | 10 +++++++--- + 2 files changed, 8 insertions(+), 4 deletions(-) + +diff --git a/common b/common +index 63d592e..e4a9407 160000 +--- a/common ++++ b/common +@@ -1 +1 @@ +-Subproject commit 63d592ed74618734d69438c770d6462efeb5ab9d ++Subproject commit e4a9407a51803016bab9918b03e2034981886bdb +diff --git a/configure.ac b/configure.ac +index 13647a4..0e3b20e 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -19,6 +19,10 @@ AS_VERSION + + dnl check if this is a release version + AS_NANO(GST_GIT="no", GST_GIT="yes") ++AC_ARG_ENABLE(fatal-warnings, ++ AS_HELP_STRING([--enable-fatal-warnings], ++ [Turn compiler warnings into fatal errors]), ++ [GST_FATAL_WARNINGS=$enableval], [GST_FATAL_WARNINGS=$GST_GIT]) + + dnl can autoconf find the source ? + AC_CONFIG_SRCDIR([gst/audiotestsrc/gstaudiotestsrc.c]) +@@ -367,21 +371,21 @@ AG_GST_CHECK_GST_DEBUG_DISABLED([NO_WARNINGS="-Wno-unused"], [NO_WARNINGS=""]) + + dnl define an ERROR_CFLAGS Makefile variable + dnl -Wformat-nonliteral - see ext/pango/gstclockoverlay.c and http://gcc.gnu.org/bugzilla/show_bug.cgi?id=39438 +-AG_GST_SET_ERROR_CFLAGS($GST_GIT, [ ++AG_GST_SET_ERROR_CFLAGS($GST_FATAL_WARNINGS, [ + -Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wundef + -Wwrite-strings -Wformat-nonliteral -Wformat-security + -Winit-self -Wmissing-include-dirs -Waddress -Waggregate-return + -Wno-multichar -Wnested-externs $NO_WARNINGS]) + + dnl define an ERROR_CXXFLAGS Makefile variable +-AG_GST_SET_ERROR_CXXFLAGS($GST_GIT, [ ++AG_GST_SET_ERROR_CXXFLAGS($GST_FATAL_WARNINGS, [ + -Wmissing-declarations -Wredundant-decls -Wundef + -Wwrite-strings -Wformat-nonliteral -Wformat-security + -Winit-self -Wmissing-include-dirs -Waddress -Waggregate-return + -Wno-multichar $NO_WARNINGS]) + + dnl define correct level for debugging messages +-AG_GST_SET_LEVEL_DEFAULT($GST_GIT) ++AG_GST_SET_LEVEL_DEFAULT($GST_FATAL_WARNINGS) + + dnl used in examples + AG_GST_DEFAULT_ELEMENTS +-- +1.7.6.5 + diff --git a/gnomeos/3.4/gstreamer-warning-errors.patch b/gnomeos/3.4/gstreamer-warning-errors.patch new file mode 100644 index 00000000..92e09e3d --- /dev/null +++ b/gnomeos/3.4/gstreamer-warning-errors.patch @@ -0,0 +1,44 @@ +From 40ff38e54022d5330499addb8f9c4053bcccf413 Mon Sep 17 00:00:00 2001 +From: Colin Walters +Date: Tue, 17 Jan 2012 16:23:33 -0500 +Subject: [PATCH] build: Add --disable-fatal-warnings + +It's reasonable to build from git, but not want to turn all compiler +warnings into fatal errors. For example, GNOME's jhbuild helps people +get newer versions of software than came from their distribution, but +they may not necessarily want to hack on it. +--- + configure.ac | 8 ++++++-- + 1 files changed, 6 insertions(+), 2 deletions(-) + +diff --git a/configure.ac b/configure.ac +index 7a4d052..d02b043 100644 +--- a/configure.ac ++++ b/configure.ac +@@ -16,6 +16,10 @@ AS_VERSION + + dnl check if this is a release version + AS_NANO(GST_GIT="no", GST_GIT="yes") ++AC_ARG_ENABLE(fatal-warnings, ++ AS_HELP_STRING([--enable-fatal-warnings], ++ [Turn compiler warnings into fatal errors]), ++ [GST_FATAL_WARNINGS=$enableval], [GST_FATAL_WARNINGS=$GST_GIT]) + + dnl can autoconf find the source ? + AC_CONFIG_SRCDIR([gst/gst.c]) +@@ -646,10 +650,10 @@ if test "x${GST_DISABLE_GST_DEBUG}" = "xyes"; then + fi + + dnl define an ERROR_CFLAGS Makefile variable +-AG_GST_SET_ERROR_CFLAGS($GST_GIT, [-Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wformat-nonliteral -Wformat-security -Wold-style-definition -Winit-self -Wmissing-include-dirs -Waddress -Waggregate-return -Wno-multichar -Wnested-externs $NO_WARNINGS]) ++AG_GST_SET_ERROR_CFLAGS($GST_FATAL_WARNINGS, [-Wmissing-declarations -Wmissing-prototypes -Wredundant-decls -Wundef -Wwrite-strings -Wformat-nonliteral -Wformat-security -Wold-style-definition -Winit-self -Wmissing-include-dirs -Waddress -Waggregate-return -Wno-multichar -Wnested-externs $NO_WARNINGS]) + + dnl define correct level for debugging messages +-AG_GST_SET_LEVEL_DEFAULT($GST_GIT) ++AG_GST_SET_LEVEL_DEFAULT($GST_FATAL_WARNINGS) + + dnl *** finalize CFLAGS, LDFLAGS, LIBS + +-- +1.7.6.5 + diff --git a/gnomeos/3.4/manifest.json b/gnomeos/3.4/manifest.json index efeaba61..b3dfd16c 100644 --- a/gnomeos/3.4/manifest.json +++ b/gnomeos/3.4/manifest.json @@ -12,6 +12,7 @@ "fd-mesa": "git:git://anongit.freedesktop.org/git/mesa/", "fd-pulse": "git:git://anongit.freedesktop.org/git/pulseaudio/", "fd-p11": "git:git://anongit.freedesktop.org/git/p11-glue/", + "fd-gstreamer": "git:git://anongit.freedesktop.org/gstreamer/", "0pointer": "git:git://git.0pointer.de/", "linuxwacom": "git:git://linuxwacom.git.sourceforge.net/gitroot/linuxwacom/", "fedora": "git:git://git.fedorahosted.org/", @@ -518,7 +519,36 @@ {"src": "gnome:gnome-menus"}, - {"src": "git:git://git.webkit.org/WebKit.git"}, + {"src": "gnome:libgnome-keyring"}, + + {"src": "git:git://pkgs.fedoraproject.org/ca-certificates.git", + "branch": "8c27f267a89811f60b0cb442f637a01b2978e2c2", + "patches": ["ca-certs-build.patch"]}, + + {"src": "gnome:glib-networking"}, + + {"src": "gnome:libsoup", + "config-args": ["--disable-tls-check"]}, + + {"src": "fd-gstreamer:gstreamer", + "config-args": ["--disable-tests"], + "branch": "RELEASE-0.11.1"}, + + {"src": "fd-gstreamer:gst-plugins-base", + "config-args": ["--with-gtk=3.0", + "--disable-tests", + "--disable-gnome_vfs"], + "branch": "RELEASE-0.11.1", + "patches": ["gst-plugins-base-no-builddir.patch"]}, + + {"src": "fd-gstreamer:gst-plugins-good", + "config-args": ["--with-gtk=3.0", + "--disable-tests", + "--disable-examples"], + "branch": "RELEASE-0.10.30"}, + + {"src": "git:git://git.webkit.org/WebKit.git", + "branch": "4e276ff268f3f3e97abb97f8e5a8cf6d8d97d2db"}, {"src": "gnome:gnome-online-accounts"}, @@ -534,6 +564,9 @@ {"src": "gnome:gdm", "config-opts": ["--disable-documentation"], - "patches": ["gdm-disable-documentation.patch"]} + "patches": ["gdm-disable-documentation.patch"]}, + + {"src": "gnome:gnome-control-center"} + ] }