[ostree] gnomeos: Working up through WebKit
- From: Colin Walters <walters src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [ostree] gnomeos: Working up through WebKit
- Date: Wed, 18 Jan 2012 18:37:50 +0000 (UTC)
commit 4c22dfef39d8bb800de214c5d7f7009a4f0598d8
Author: Colin Walters <walters verbum org>
Date: Wed Jan 18 13:37:00 2012 -0500
gnomeos: Working up through WebKit
gnomeos/3.4/ca-certs-build.patch | 207 ++++++++++++++++++++++++
gnomeos/3.4/gst-plugins-base-no-builddir.patch | 26 +++
gnomeos/3.4/gst-plugins-base-warnings.patch | 64 ++++++++
gnomeos/3.4/gstreamer-warning-errors.patch | 44 +++++
gnomeos/3.4/manifest.json | 37 ++++-
5 files changed, 376 insertions(+), 2 deletions(-)
---
diff --git a/gnomeos/3.4/ca-certs-build.patch b/gnomeos/3.4/ca-certs-build.patch
new file mode 100644
index 0000000..4f61237
--- /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 <walters verbum org>
+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 <walters verbum org>
++# 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 <<EOF
++srcdir = ${srcdir}
++top_srcdir = ${srcdir}
++
++prefix ?= ${prefix}
++bindir ?= ${bindir:-${prefix}/bin}
++sbindir ?= ${sbindir:-${prefix}/sbin}
++libexecdir ?= ${libexecdir:-${prefix}/libexec}
++datarootdir ?= ${datarootdir:-${prefix}/share}
++datadir ?= ${datadir:-${prefix}/share}
++sysconfdir ?= ${sysconfdir:-${prefix}/etc}
++libdir ?= ${libdir:-${prefix}/lib}
++mandir ?= ${mandir:-${prefix}/share/man}
++EOF
++mv Makefile.inc.tmp Makefile.inc
+diff --git a/make-ca-bundle.sh b/make-ca-bundle.sh
+new file mode 100755
+index 0000000..9c57bef
+--- /dev/null
++++ b/make-ca-bundle.sh
+@@ -0,0 +1,45 @@
++#!/bin/sh
++
++src=$1
++out=$2
++
++(cat <<EOF
++# This is a bundle of X.509 certificates of public Certificate
++# Authorities. It was generated from the Mozilla root CA list.
++#
++# Source: mozilla/security/nss/lib/ckfw/builtins/certdata.txt
++#
++# Generated from:
++EOF
++ ident -q "$src" | sed '1d;s/^/#/';
++ echo '#';
++) > $out/ca-bundle.crt
++
++(
++ cat <<EOF
++# This is a bundle of X.509 certificates of public Certificate
++# Authorities. It was generated from the Mozilla root CA list.
++# These certificates are in the OpenSSL "TRUSTED CERTIFICATE"
++# format and have trust bits set accordingly.
++#
++# Source: mozilla/security/nss/lib/ckfw/builtins/certdata.txt
++#
++# Generated from:
++EOF
++ ident -q "$1" | sed '1d;s/^/#/';
++ echo '#';
++) > $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 0000000..a14ae5f
--- /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 <walters verbum org>
+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 0000000..884f89f
--- /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 <walters verbum org>
+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 0000000..92e09e3
--- /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 <walters verbum org>
+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 efeaba6..b3dfd16 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"}
+
]
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]