Commit fe179aa6 authored by Alexander Larsson's avatar Alexander Larsson
Browse files

Initial version

parents
gnome-sdk-helper
rpm-dependencies.P
packages/SOURCES/*.tar.xz
packages/SOURCES/*.tar.bz2
gnome-continuous-yocto
yocto-build
root-sdk
var-sdk
packages/BUILD/
packages/RPMS/
packages/SRPMS/
packages/rpmdb/
srcdir = $(CURDIR)
builddir = $(CURDIR)
yocto-build/x86_64/images/gnomeos-contents-sdk-x86_64.tar.gz:
if test ! -d gnome-continuous-yocto; then \
git clone https://github.com/alexlarsson/gnome-continuous-yocto.git --branch gnomeostree-3.14-dizzy-platform;\
fi
(cd gnome-continuous-yocto; git pull;)
(cd gnome-continuous-yocto; git submodule update --init;)
mkdir -p yocto-build/x86_64
./gnome-sdk-build-yocto ${srcdir}/gnome-continuous-yocto ${builddir}/yocto-build/ x86_64
NULL=
PACKAGES = \
gnome-sdk-base \
gtk-doc-stub \
glib2 \
gnome-common \
gobject-introspection \
shared-mime-info \
pixman \
freetype \
fontconfig \
xorg-x11-util-macros \
xorg-x11-proto-devel \
libXau xcb-proto libxcb libXdmcp xorg-x11-xtrans-devel libX11 libXrender \
libXfixes libXext libXft libXi libXinerama libICE libSM libXpm libXrandr libXtst \
libXv libXvMC libXxf86vm libXdamage libXcursor libXcomposite libxkbfile libxshmfence \
dbus cairo dbus-glib \
$(NULL)
SPECS =$(PACKAGES:%=packages/SPECS/%.spec)
deps: rpm-dependencies.P
rpm-dependencies.P: $(SPECS) makedeps.sh yocto-build/x86_64/images/gnomeos-contents-sdk-x86_64.tar.gz
./setup.sh root-sdk var-sdk yocto-build/x86_64/images/gnomeos-contents-sdk-x86_64.tar.gz
./build.sh root-sdk var-sdk packages ./makedeps.sh $(SPECS) > rpm-dependencies.P
-include rpm-dependencies.P
#!/bin/sh
ROOT=`realpath $1`
shift
VAR=`realpath $1`
shift
APP=`realpath $1`
shift
HELPER=`which gnome-sdk-helper`
declare -x HOME=/self
declare -x ACLOCAL_PATH="/self/share/aclocal"
declare -x CPLUS_INCLUDE_PATH="/self/include"
declare -x C_INCLUDE_PATH="/self/include"
declare -x GI_TYPELIB_PATH="/self/lib/girepository-1.0"
declare -x LDFLAGS="-L/self/lib "
declare -x PKG_CONFIG_PATH="/self/lib/pkgconfig:/self/share/pkgconfig"
declare -x PATH="/usr/bin:/self/bin"
unset INSTALL
$HELPER -w -W -a $APP -v $VAR $ROOT/usr "$@"
#!/bin/bash
# Copyright (C) 2012 Colin Walters <walters@verbum.org>
# Copyright (C) 2012 Adrian Perez <aperez@igalia.com>
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
set -e
umask 022
die () {
echo "$*" 1>&2
exit 1
}
usage () {
echo "$0: SRCDIR WORKDIR ARCHITECTURE"
}
srcdir=$1
test -n "${srcdir}" || (usage; exit 1)
workdir=$2
test -n "${workdir}" || (usage; exit 1)
architecture=$3
test -n "${architecture}" || (usage; exit 1)
. "${srcdir}/oe-init-build-env" "${workdir}/${architecture}"
LAYERNAMES=$(cat ${srcdir}/LAYERS)
LAYERS=""
for layername in ${LAYERNAMES}; do
LAYERS="${LAYERS} \${OSTREE_SRCDIR}/${layername}"
done
SSTATE_DIR="${workdir}/sstate-cache"
DL_DIR="${workdir}/downloads"
cat > ${workdir}/${architecture}/conf/bblayers.conf <<EOF
# LAYER_CONF_VERSION is increased each time build/conf/bblayers.conf
# changes incompatibly
LCONF_VERSION = "6"
BBPATH = "\${TOPDIR}"
BBFILES ?= ""
OSTREE_SRCDIR = "${srcdir}"
BBLAYERS ?= "${LAYERS}"
EOF
case "$architecture" in
i686) MACHINE="atom-pc";;
x86_64) MACHINE="qemux86-64";;
*) echo "Error: Unhandled architecture '$architecture'"; exit 1;;
esac
mkdir -p ${workdir}/${architecture}/conf
localconf=${workdir}/${architecture}/conf/local.conf
if ! grep -q "DISTRO.*gnomeostree" ${localconf}; then
numcpus=$(( $(getconf _NPROCESSORS_ONLN) / 2 + 1 ))
cat > ${localconf}.tmp <<EOF
PARALLEL_MAKE = "-j ${numcpus}"
BB_NUMBER_THREADS = "${numcpus}"
LAYER_CONF_VERSION = "6"
CONF_VERSION = "1"
MACHINE = "${MACHINE}"
DISTRO = "gnomeostreedistro"
USER_CLASSES = ""
PACKAGE_CLASSES = "package_rpm"
PATCHRESOLVE = "noop"
SSTATE_DIR = "${SSTATE_DIR}"
DL_DIR = "${DL_DIR}"
INHERIT += "rm_work"
PREFERRED_VERSION_rpm = "4.11.2"
PREFERRED_VERSION_rpm-native = "4.11.2"
RPMROOTFSDEPENDS_remove = "rpmresolve-native:do_populate_sysroot"
RDEPENDS_python3-modules_remove = "python3-2to3"
EOF
mv ${localconf}.tmp ${localconf}
fi
IMAGEDIR=${workdir}/${architecture}/images
mkdir -p "${IMAGEDIR}"
bitbake gnomeos-contents-{sdk,platform}
for basetype in sdk platform; do
ln -sf ${workdir}/${architecture}/tmp-glibc/deploy/images/${MACHINE}/gnomeos-contents-${basetype}-${MACHINE}.tar.gz images/gnomeos-contents-${basetype}-${architecture}.tar.gz
done
SPECS="$@"
export LC_ALL=C
rm -rf /tmp/dep
mkdir -p /tmp/dep
# Generate mapping package name => package name + full version + arch
for spec in $SPECS; do
export spec
bash -c "`rpmspec -q $spec --qf 'echo packages/RPMS/%{ARCH}/%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}.rpm > /tmp/dep/%{NAME}.pkg;'`";
done
for spec in $SPECS; do
PACKAGES=`rpmspec -q ${spec} --qf 'packages/RPMS/%{ARCH}/%{NAME}-%{VERSION}-%{RELEASE}.%{ARCH}.rpm '`
BUILDREQS=`rpmspec -q ${spec} --buildrequires`
BRS=""
for br in $BUILDREQS; do
BRS="$BRS `cat /tmp/dep/${br}.pkg`"
done
echo "$PACKAGES: $spec $BRS setup.sh build.sh yocto-build/x86_64/images/gnomeos-contents-sdk-x86_64.tar.gz"
echo " echo building $spec"
echo " ./setup.sh root-sdk var-sdk yocto-build/x86_64/images/gnomeos-contents-sdk-x86_64.tar.gz"
if [ "x${BRS}" != "x" ]; then
echo " ./build.sh root-sdk var-sdk packages smart install -y $BRS"
fi
echo " ./build.sh root-sdk var-sdk packages rpmbuild -ba $spec"
echo
echo "`basename ${spec} .spec`: $PACKAGES"
echo
done
%_topdir /self
%_srcrpmdir /self/SRPMS
From 166978a09cf5edff4028e670b6074215a4c75eca Mon Sep 17 00:00:00 2001
From: Colin Walters <walters@verbum.org>
Date: Thu, 14 Feb 2013 10:19:34 -0500
Subject: [PATCH] CVE-2013-0292: dbus-gproxy: Verify sender of NameOwnerChanged signals to be o.f.DBus
Anyone can hop on the bus and emit a signal whose interface is
o.f.DBus; it's expected at the moments that clients (and notably DBus
libraries) check the sender.
This could previously be used to trick a system service using dbus-glib
into thinking a malicious signal came from a privileged source, by
claiming that ownership of the privileged source's well-known name had
changed from the privileged source's real unique name to the attacker's
unique name.
[altered to be NULL-safe so it won't crash on peer connections -smcv]
Signed-off-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
Reviewed-by: Simon McVittie <simon.mcvittie@collabora.co.uk>
---
dbus/dbus-gproxy.c | 7 ++++---
1 files changed, 4 insertions(+), 3 deletions(-)
diff --git a/dbus/dbus-gproxy.c b/dbus/dbus-gproxy.c
index 2fc52f9..c3ae9ec 100644
--- a/dbus/dbus-gproxy.c
+++ b/dbus/dbus-gproxy.c
@@ -1250,8 +1250,11 @@ dbus_g_proxy_manager_filter (DBusConnection *connection,
GSList *tmp;
const char *sender;
+ sender = dbus_message_get_sender (message);
+
/* First we handle NameOwnerChanged internally */
- if (dbus_message_is_signal (message,
+ if (g_strcmp0 (sender, DBUS_SERVICE_DBUS) == 0 &&
+ dbus_message_is_signal (message,
DBUS_INTERFACE_DBUS,
"NameOwnerChanged"))
{
@@ -1280,8 +1283,6 @@ dbus_g_proxy_manager_filter (DBusConnection *connection,
}
}
- sender = dbus_message_get_sender (message);
-
/* dbus spec requires these, libdbus validates */
g_assert (dbus_message_get_path (message) != NULL);
g_assert (dbus_message_get_interface (message) != NULL);
--
1.7.1
From 7f8f9a36ef901f31279c385caf960a22daeb33fe Mon Sep 17 00:00:00 2001
From: "Owen W. Taylor" <otaylor@fishsoup.net>
Date: Fri, 9 May 2014 18:21:05 -0400
Subject: [PATCH] Fix XNextRequest() after direct usage of XCB
When XCB owns the X socket, dpy->request is not updated, so
NextRequest() and XNextRequest() return the wrong value. There's
nothing we can do to fix NextRequest() while retaining ABI compat,
but change XNextRequest() to grab the socket back from XCB,
updating dpy->request.
Signed-off-by: Owen W. Taylor <otaylor@fishsoup.net>
Reviewed-by: Uli Schlachter <psychon@znc.in>
Signed-off-by: Alan Coopersmith <alan.coopersmith@oracle.com>
---
src/Macros.c | 14 +++++++++++++-
src/Xxcbint.h | 2 ++
src/xcb_io.c | 11 +++++++++++
3 files changed, 26 insertions(+), 1 deletion(-)
diff --git a/src/Macros.c b/src/Macros.c
index cfc083a..394a764 100644
--- a/src/Macros.c
+++ b/src/Macros.c
@@ -30,6 +30,7 @@ in this Software without prior written authorization from The Open Group.
#include "Xlibint.h"
#define XUTIL_DEFINE_FUNCTIONS
#include "Xutil.h"
+#include "Xxcbint.h"
/*
* This file makes full definitions of routines for each macro.
@@ -135,9 +136,20 @@ int XBitmapPad(Display *dpy) { return (BitmapPad(dpy)); }
int XImageByteOrder(Display *dpy) { return (ImageByteOrder(dpy)); }
+/* XNextRequest() differs from the rest of the functions here because it is
+ * no longer a macro wrapper - when libX11 is being used mixed together
+ * with direct use of xcb, the next request field of the Display structure will
+ * not be updated. We can't fix the NextRequest() macro in any easy way,
+ * but we can at least make XNextRequest() do the right thing.
+ */
unsigned long XNextRequest(Display *dpy)
{
- return (NextRequest(dpy));
+ unsigned long next_request;
+ LockDisplay(dpy);
+ next_request = _XNextRequest(dpy);
+ UnlockDisplay(dpy);
+
+ return next_request;
}
unsigned long XLastKnownRequestProcessed(Display *dpy)
diff --git a/src/Xxcbint.h b/src/Xxcbint.h
index a8c9a67..bf41c23 100644
--- a/src/Xxcbint.h
+++ b/src/Xxcbint.h
@@ -46,4 +46,6 @@ typedef struct _X11XCBPrivate {
int _XConnectXCB(Display *dpy, _Xconst char *display, int *screenp);
void _XFreeX11XCBStructure(Display *dpy);
+unsigned long _XNextRequest(Display *dpy);
+
#endif /* XXCBINT_H */
diff --git a/src/xcb_io.c b/src/xcb_io.c
index 727c6c7..5987329 100644
--- a/src/xcb_io.c
+++ b/src/xcb_io.c
@@ -774,3 +774,14 @@ void _XEatDataWords(Display *dpy, unsigned long n)
dpy->xcb->reply_consumed = dpy->xcb->reply_length;
_XFreeReplyData(dpy, False);
}
+
+unsigned long
+_XNextRequest(Display *dpy)
+{
+ /* This will update dpy->request. The assumption is that the next thing
+ * that the application will do is make a request so there's little
+ * overhead.
+ */
+ require_socket(dpy);
+ return NextRequest(dpy);
+}
--
2.0.0
462116ab44e41d8121bfde947321950370b285a5316612b8fce8334d50751b1e bigreqsproto-1.1.2.tar.bz2
2cf5f81432e77ea4359af9dcd0f4faf37d015934501391c311bfd2d19a0134b7 cairo-1.14.0.tar.xz
049359f0be0b2b984a8149c966dd04e8c58e6eade2a4a309cf1126635ccd0cfc compositeproto-0.4.2.tar.bz2
5c7c112e9b9ea8a9d5b019e5f17d481ae20f766cb7a4648360e7c1b46fc9fc5b damageproto-1.2.1.tar.bz2
eded83ca007b719f32761e60fd8b9ffd0f5796a4caf455b01b5a5ef740ebd23f dbus-1.8.6.tar.gz
e72051e6a3e06b236d19eed56368117b745ca1e1a27bdc50fd51aa375bea6509 dmxproto-2.3.1.tar.bz2
--- libX11-1.0.3/modules/im/ximcp/imDefLkup.c.dont-forward-keycode-0 2006-06-22 17:22:22.000000000 -0400
+++ libX11-1.0.3/modules/im/ximcp/imDefLkup.c 2006-09-20 17:57:49.000000000 -0400
@@ -332,6 +332,17 @@
XEvent *ev,
Bool sync)
{
+ /*
+ * Don't forward a key event which has keycode=0.
+ * keycode=0 is reserved for special purpose to let Xmb/wcLookupString()
+ * functions know that there is a commited string available from IM.
+ */
+ if (((ev->type == KeyPress) || (ev->type == KeyRelease))) {
+ if (((XKeyEvent *)ev)->keycode == 0) {
+ return True;
+ }
+ }
+
#ifdef EXT_FORWARD
if (((ev->type == KeyPress) || (ev->type == KeyRelease)))
if (_XimExtForwardKeyEvent(ic, (XKeyEvent *)ev, sync))
@@ -605,6 +616,19 @@
Xfree(info->keysym);
ic->private.proto.commit_info = info->next;
Xfree(info);
+
+ /*
+ * "Commit" uses fabricated flag to process a commited string
+ * from IM engine.
+ * Turn off the fabricated flag here (unregister the commited
+ * information function). Otherwise, next regular key press
+ * event will be ignored at _XimProtoKeypressFilter() and it
+ * will not be passed to IM engine.
+ */
+ if (IS_FABRICATED(ic)) {
+ UNMARK_FABRICATED(ic);
+ }
+
return;
}
diff --git a/modules/im/ximcp/imDefFlt.c b/modules/im/ximcp/imDefFlt.c
index 1e4f389..09df352 100644
--- a/modules/im/ximcp/imDefFlt.c
+++ b/modules/im/ximcp/imDefFlt.c
@@ -142,7 +142,7 @@ _XimProtoKeypressFilter(
{
Xim im = (Xim)ic->core.im;
- if (IS_FABRICATED(im)) {
+ if ((ev->keycode == 0) || IS_FABRICATED(im)) {
_XimPendingFilter(ic);
UNMARK_FABRICATED(im);
return NOTFILTERD;
f9b55476def44fc7c459b2537d17dbc731e36ed5d416af7ca0b1e2e676f8aa04 dri2proto-2.8.tar.bz2
01be49d70200518b9a6b297131f6cc71f4ea2de17436896af153226a774fc074 dri3proto-1.0.tar.bz2
1cf74114436d99f56577a90b6438a32ba31b8128c9e63842bb179aba592733fe evieext-1.1.1.tar.bz2
ba2f3f31246bdd3f2a0acf8bd3b09ba99cab965c7fb2c2c92b7dc72870e424ce fixesproto-5.0.tar.bz2
dc62447533bca844463a3c3fd4083b57c90f18a70506e7a9f4936b5a1e516a99 fontconfig-2.11.1.tar.bz2
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment