Commit 1d79c254 authored by Alexander Larsson's avatar Alexander Larsson
Browse files

Update gnome packages to 3.17 prereleases

parent e1b79c1d
%global release_version %%(echo %{version} | awk -F. '{print $1"."$2}')
Name: adwaita-icon-theme
Version: 3.16.0
Version: 3.17.4
Release: 1%{?dist}
Summary: Adwaita icon theme
......
%global release_version %%(echo %{version} | awk -F. '{print $1"."$2}')
Name: at-spi2-atk
Version: 2.16.0
Version: 2.17.90
Release: 1%{?dist}
Summary: A GTK+ module that bridges ATK to D-Bus at-spi
......
%global release_version %%(echo %{version} | awk -F. '{print $1"."$2}')
Name: at-spi2-core
Version: 2.16.0
Version: 2.17.90
Release: 1%{?dist}
Summary: Protocol definitions and daemon for D-Bus at-spi
......
......@@ -2,7 +2,7 @@
Summary: Interfaces for accessibility support
Name: atk
Version: 2.16.0
Version: 2.17.90
Release: 1%{?dist}
License: LGPLv2+
Group: System Environment/Libraries
......
......@@ -3,7 +3,7 @@
%define clutter_version 1.0
Name: clutter-gtk
Version: 1.6.0
Version: 1.6.2
Release: 1%{?dist}
Summary: A basic GTK clutter widget
......
%global release_version %%(echo %{version} | awk -F. '{print $1"."$2}')
Name: clutter
Version: 1.22.0
Version: 1.23.6
Release: 1%{?dist}
Summary: Open Source software library for creating rich graphical user interfaces
......@@ -87,7 +87,6 @@ find %{buildroot} -name '*.la' -delete
%files doc
%{_datadir}/gtk-doc/html/clutter
%{_datadir}/gtk-doc/html/cally
%changelog
* Thu Dec 11 2014 Alexander Larsson <alexl@redhat.com> - 1.20.0-1
......
%global release_version %%(echo %{version} | awk -F. '{print $1"."$2}')
Name: cogl
Version: 1.20.0
Version: 1.21.2
Release: 1%{?dist}
Summary: A library for using 3D graphics hardware to draw pretty pictures
......
Name: gcab
Version: 0.6
Release: 1%{?dist}
Summary: Cabinet file library and tool
License: LGPLv2+
#VCS: git:git://git.gnome.org/gcab
URL: http://ftp.gnome.org/pub/GNOME/sources/gcab
Source0: http://ftp.gnome.org/pub/GNOME/sources/gcab/%{version}/%{name}-%{version}.tar.xz
BuildRequires: freedesktop-sdk-base
BuildRequires: vala-tools
BuildRequires: glib2-dev
BuildRequires: gobject-introspection-dev
%description
gcab is a tool to manipulate Cabinet archive.
%package -n libgcab1
Summary: Library to create Cabinet archives
%description -n libgcab1
libgcab is a library to manipulate Cabinet archive using GIO/GObject.
%package -n libgcab1-dev
Summary: Devopment files to create Cabinet archives
Requires: libgcab1%{?_isa} = %{version}-%{release}
Requires: glib2-dev
Requires: pkgconfig
%description -n libgcab1-dev
libgcab is a library to manipulate Cabinet archive.
Libraries, includes, etc. to compile with the gcab library.
%prep
%setup -q
%build
# --enable-fast-install is needed to fix libtool "cannot relink `gcab'"
%configure --disable-silent-rules --disable-static --enable-fast-install
make %{?_smp_mflags}
%install
rm -rf %{buildroot}
make DESTDIR=%{buildroot} install
rm -f %{buildroot}%{_libdir}/*.a
rm -f %{buildroot}%{_libdir}/*.la
%find_lang %{name}
%post -n libgcab1 -p /sbin/ldconfig
%postun -n libgcab1 -p /sbin/ldconfig
%files
%doc COPYING NEWS
%{_bindir}/gcab
%{_mandir}/man1/gcab.1*
%files -n libgcab1 -f %{name}.lang
%doc COPYING NEWS
%{_libdir}/girepository-1.0/GCab-1.0.typelib
%{_libdir}/libgcab-1.0.so.*
%files -n libgcab1-dev
%{_datadir}/gir-1.0/GCab-1.0.gir
%{_datadir}/gtk-doc/html/gcab/*
%{_datadir}/vala/vapi/libgcab-1.0.vapi
%{_includedir}/libgcab-1.0/*
%{_libdir}/libgcab-1.0.so
%{_libdir}/pkgconfig/libgcab-1.0.pc
%changelog
* Tue Sep 8 2015 Alexander Larsson <alexl@redhat.com> - 0.6-1
- Initial version
%global release_version %%(echo %{version} | awk -F. '{print $1"."$2}')
Name: gdk-pixbuf2
Version: 2.31.4
Version: 2.31.7
Release: 1%{?dist}
Summary: An image loading library
......
diff --git a/gio/Makefile.am b/gio/Makefile.am
index 44ade08..757f924 100644
--- a/gio/Makefile.am
+++ b/gio/Makefile.am
@@ -400,6 +400,8 @@ libgio_2_0_la_SOURCES = \
gmountoperation.c \
gnativevolumemonitor.c \
gnativevolumemonitor.h \
+ gnativesocketaddress.c \
+ gnativesocketaddress.h \
gnetworkaddress.c \
gnetworking.c \
gnetworkingprivate.h \
diff --git a/gio/giotypes.h b/gio/giotypes.h
index 53f8cc9..372e67c 100644
--- a/gio/giotypes.h
+++ b/gio/giotypes.h
@@ -103,6 +103,7 @@ typedef struct _GIcon GIcon; /* Dummy typedef */
typedef struct _GInetAddress GInetAddress;
typedef struct _GInetAddressMask GInetAddressMask;
typedef struct _GInetSocketAddress GInetSocketAddress;
+typedef struct _GNativeSocketAddress GNativeSocketAddress;
typedef struct _GInputStream GInputStream;
typedef struct _GInitable GInitable;
typedef struct _GIOModule GIOModule;
diff --git a/gio/gnativesocketaddress.c b/gio/gnativesocketaddress.c
new file mode 100644
index 0000000..54db922
--- /dev/null
+++ b/gio/gnativesocketaddress.c
@@ -0,0 +1,152 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2008 Christian Kellner, Samuel Cormier-Iijima
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ *
+ * Authors: Christian Kellner <gicmo@gnome.org>
+ * Samuel Cormier-Iijima <sciyoshi@gmail.com>
+ */
+
+#include <config.h>
+#include <glib.h>
+#include <string.h>
+
+#include "gnativesocketaddress.h"
+#include "gnetworkingprivate.h"
+#include "gioerror.h"
+#include "glibintl.h"
+
+
+/**
+ * SECTION:gnativesocketaddress
+ * @short_description: Native GSocketAddress
+ * @include: gio/gio.h
+ *
+ * An socket address of some unknown native type.
+ */
+
+/**
+ * GNativeSocketAddress:
+ *
+ * An socket address, corresponding to a general struct
+ * sockadd address of a type not otherwise handled by glib.
+ */
+
+struct _GNativeSocketAddressPrivate
+{
+ struct sockaddr *sockaddr;
+ gsize sockaddr_len;
+};
+
+G_DEFINE_TYPE_WITH_PRIVATE (GNativeSocketAddress, g_native_socket_address, G_TYPE_SOCKET_ADDRESS)
+
+static void
+g_native_socket_address_dispose (GObject *object)
+{
+ GNativeSocketAddress *address = G_NATIVE_SOCKET_ADDRESS (object);
+
+ g_clear_pointer (&(address->priv->sockaddr), g_free);
+
+ G_OBJECT_CLASS (g_native_socket_address_parent_class)->dispose (object);
+}
+
+static GSocketFamily
+g_native_socket_address_get_family (GSocketAddress *address)
+{
+ GNativeSocketAddress *addr;
+
+ g_return_val_if_fail (G_IS_NATIVE_SOCKET_ADDRESS (address), 0);
+
+ addr = G_NATIVE_SOCKET_ADDRESS (address);
+
+ return addr->priv->sockaddr->sa_family;
+}
+
+static gssize
+g_native_socket_address_get_native_size (GSocketAddress *address)
+{
+ GNativeSocketAddress *addr;
+
+ g_return_val_if_fail (G_IS_NATIVE_SOCKET_ADDRESS (address), 0);
+
+ addr = G_NATIVE_SOCKET_ADDRESS (address);
+
+ return addr->priv->sockaddr_len;
+}
+
+static gboolean
+g_native_socket_address_to_native (GSocketAddress *address,
+ gpointer dest,
+ gsize destlen,
+ GError **error)
+{
+ GNativeSocketAddress *addr;
+
+ g_return_val_if_fail (G_IS_NATIVE_SOCKET_ADDRESS (address), FALSE);
+
+ addr = G_NATIVE_SOCKET_ADDRESS (address);
+
+ if (destlen < addr->priv->sockaddr_len)
+ {
+ g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_NO_SPACE,
+ _("Not enough space for socket address"));
+ return FALSE;
+ }
+
+ memcpy (dest, addr->priv->sockaddr, addr->priv->sockaddr_len);
+ return TRUE;
+}
+
+static void
+g_native_socket_address_class_init (GNativeSocketAddressClass *klass)
+{
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+ GSocketAddressClass *gsocketaddress_class = G_SOCKET_ADDRESS_CLASS (klass);
+
+ gobject_class->dispose = g_native_socket_address_dispose;
+
+ gsocketaddress_class->get_family = g_native_socket_address_get_family;
+ gsocketaddress_class->to_native = g_native_socket_address_to_native;
+ gsocketaddress_class->get_native_size = g_native_socket_address_get_native_size;
+}
+
+static void
+g_native_socket_address_init (GNativeSocketAddress *address)
+{
+ address->priv = g_native_socket_address_get_instance_private (address);
+}
+
+/**
+ * g_native_socket_address_new:
+ * @address: a #GNativeAddress
+ * @port: a port number
+ *
+ * Creates a new #GNativeSocketAddress for @address and @port.
+ *
+ * Returns: a new #GNativeSocketAddress
+ *
+ * Since: 2.22
+ */
+GSocketAddress *
+g_native_socket_address_new (gpointer native,
+ gsize len)
+{
+ GNativeSocketAddress *addr;
+
+ addr = g_object_new (G_TYPE_NATIVE_SOCKET_ADDRESS, NULL);
+ addr->priv->sockaddr = g_memdup (native, len);
+ addr->priv->sockaddr_len = len;
+ return G_SOCKET_ADDRESS (addr);
+}
diff --git a/gio/gnativesocketaddress.h b/gio/gnativesocketaddress.h
new file mode 100644
index 0000000..a008fda
--- /dev/null
+++ b/gio/gnativesocketaddress.h
@@ -0,0 +1,65 @@
+/* GIO - GLib Input, Output and Streaming Library
+ *
+ * Copyright (C) 2008 Christian Kellner, Samuel Cormier-Iijima
+ *
+ * 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, see <http://www.gnu.org/licenses/>.
+ *
+ * Authors: Christian Kellner <gicmo@gnome.org>
+ * Samuel Cormier-Iijima <sciyoshi@gmail.com>
+ */
+
+#ifndef __G_NATIVE_SOCKET_ADDRESS_H__
+#define __G_NATIVE_SOCKET_ADDRESS_H__
+
+#if !defined (__GIO_GIO_H_INSIDE__) && !defined (GIO_COMPILATION)
+#error "Only <gio/gio.h> can be included directly."
+#endif
+
+#include <gio/gsocketaddress.h>
+
+G_BEGIN_DECLS
+
+#define G_TYPE_NATIVE_SOCKET_ADDRESS (g_native_socket_address_get_type ())
+#define G_NATIVE_SOCKET_ADDRESS(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), G_TYPE_NATIVE_SOCKET_ADDRESS, GNativeSocketAddress))
+#define G_NATIVE_SOCKET_ADDRESS_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), G_TYPE_NATIVE_SOCKET_ADDRESS, GNativeSocketAddressClass))
+#define G_IS_NATIVE_SOCKET_ADDRESS(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), G_TYPE_NATIVE_SOCKET_ADDRESS))
+#define G_IS_NATIVE_SOCKET_ADDRESS_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), G_TYPE_NATIVE_SOCKET_ADDRESS))
+#define G_NATIVE_SOCKET_ADDRESS_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), G_TYPE_NATIVE_SOCKET_ADDRESS, GNativeSocketAddressClass))
+
+typedef struct _GNativeSocketAddressClass GNativeSocketAddressClass;
+typedef struct _GNativeSocketAddressPrivate GNativeSocketAddressPrivate;
+
+struct _GNativeSocketAddress
+{
+ GSocketAddress parent_instance;
+
+ /*< private >*/
+ GNativeSocketAddressPrivate *priv;
+};
+
+struct _GNativeSocketAddressClass
+{
+ GSocketAddressClass parent_class;
+};
+
+GLIB_AVAILABLE_IN_ALL
+GType g_native_socket_address_get_type (void) G_GNUC_CONST;
+
+GLIB_AVAILABLE_IN_ALL
+GSocketAddress *g_native_socket_address_new (gpointer native,
+ gsize len);
+
+G_END_DECLS
+
+#endif /* __G_NATIVE_SOCKET_ADDRESS_H__ */
diff --git a/gio/gnetworkmonitornetlink.c b/gio/gnetworkmonitornetlink.c
index 21a7ad5..b9ff011 100644
--- a/gio/gnetworkmonitornetlink.c
+++ b/gio/gnetworkmonitornetlink.c
@@ -293,14 +293,13 @@ read_netlink_messages (GSocket *socket,
GNetworkMonitorNetlink *nl = user_data;
GInputVector iv;
gssize len;
- GSocketControlMessage **cmsgs = NULL;
- gint num_cmsgs = 0, i, flags;
+ gint flags;
GError *error = NULL;
- GCredentials *creds;
- uid_t sender;
+ GSocketAddress *addr;
struct nlmsghdr *msg;
struct rtmsg *rtmsg;
struct rtattr *attr;
+ struct sockaddr_nl source_sockaddr;
gsize attrlen;
guint8 *dest, *gateway, *oif;
gboolean retval = TRUE;
@@ -322,8 +321,8 @@ read_netlink_messages (GSocket *socket,
iv.buffer = g_malloc (len);
iv.size = len;
- len = g_socket_receive_message (nl->priv->sock, NULL, &iv, 1,
- &cmsgs, &num_cmsgs, NULL, NULL, &error);
+ len = g_socket_receive_message (nl->priv->sock, &addr, &iv, 1,
+ NULL, NULL, NULL, NULL, &error);
if (len < 0)
{
g_warning ("Error on netlink socket: %s", error->message);
@@ -333,12 +332,17 @@ read_netlink_messages (GSocket *socket,
return FALSE;
}
- if (num_cmsgs != 1 || !G_IS_UNIX_CREDENTIALS_MESSAGE (cmsgs[0]))
- goto done;
+ if (!g_socket_address_to_native (addr, &source_sockaddr, sizeof (source_sockaddr), &error))
+ {
+ g_warning ("Error on netlink socket: %s", error->message);
+ g_error_free (error);
+ if (nl->priv->dump_networks)
+ finish_dump (nl);
+ return FALSE;
+ }
- creds = g_unix_credentials_message_get_credentials (G_UNIX_CREDENTIALS_MESSAGE (cmsgs[0]));
- sender = g_credentials_get_unix_user (creds, NULL);
- if (sender != 0)
+ /* If the sender port id is 0 (not fakeable) then the message is from the kernel */
+ if (source_sockaddr.nl_pid != 0)
goto done;
msg = (struct nlmsghdr *) iv.buffer;
@@ -420,10 +424,6 @@ read_netlink_messages (GSocket *socket,
}
done:
- for (i = 0; i < num_cmsgs; i++)
- g_object_unref (cmsgs[i]);
- g_free (cmsgs);
-
g_free (iv.buffer);
if (!retval && nl->priv->dump_networks)
diff --git a/gio/gsocketaddress.c b/gio/gsocketaddress.c
index 676d94a..d0caf33 100644
--- a/gio/gsocketaddress.c
+++ b/gio/gsocketaddress.c
@@ -26,6 +26,7 @@
#include "gsocketaddress.h"
#include "ginetaddress.h"
#include "ginetsocketaddress.h"
+#include "gnativesocketaddress.h"
#include "gnetworkingprivate.h"
#include "gproxyaddress.h"
#include "gproxyaddressenumerator.h"
@@ -299,7 +300,7 @@ g_socket_address_new_from_native (gpointer native,
}
#endif
- return NULL;
+ return g_native_socket_address_new (native, len);
}
%global release_version %%(echo %{version} | awk -F. '{print $1"."$2}')
Name: glib-networking
Version: 2.44.0
Version: 2.45.1
Release: 1%{?dist}
Summary: Networking support for GLib
......
......@@ -2,13 +2,12 @@
Summary: A library of handy utility functions
Name: glib2
Version: 2.44.1
Version: 2.45.7
Release: 1%{?dist}
License: LGPLv2+
Group: System Environment/Libraries
#VCS: git:git://git.gnome.org/glib
Source: http://download.gnome.org/sources/glib/%{release_version}/glib-%{version}.tar.xz
Patch0: gio-netlink.patch
BuildRequires: freedesktop-sdk-base
......@@ -29,7 +28,6 @@ The glib2-dev package includes the header files for the GLib library.
%prep
%setup -q -n glib-%{version}
%patch0 -p1 -b .gio-netlink
%build
# Support builds of both git snapshots and tarballs packed with autogoo
......
......@@ -22,7 +22,6 @@ BuildRequires: gtk2
BuildRequires: gtk3
BuildRequires: gvfs
BuildRequires: hicolor-icon-theme
BuildRequires: json-glib
BuildRequires: libnotify-dev
BuildRequires: librsvg2
BuildRequires: libsecret-dev
......
......@@ -31,7 +31,6 @@ Requires: gsettings-desktop-schemas-dev
Requires: gtk2-dev
Requires: gtk3-dev
Requires: gvfs-dev
Requires: json-glib-dev
Requires: libappstream-glib-dev
Requires: libcroco-dev
Requires: libnotify-dev
......
%global release_version %%(echo %{version} | awk -F. '{print $1"."$2}')
Name: gnome-themes-standard
Version: 3.16.0
Version: 3.16.2
Release: 1%{?dist}
Summary: Standard themes for GNOME applications
......
%global release_version %%(echo %{version} | awk -F. '{print $1"."$2}')
Name: gobject-introspection
Version: 1.44.0
Version: 1.45.4
Release: 1%{?dist}
Summary: Introspection system for GObject-based libraries
......
......@@ -2,7 +2,7 @@
%global debug_package %{nil}
Name: gsettings-desktop-schemas
Version: 3.16.0
Version: 3.16.1
Release: 1%{?dist}
Summary: A collection of GSettings schemas
......
diff -urp gstreamer-0.11.94.orig/tools/gst-inspect.c gstreamer-0.11.94/tools/gst-inspect.c
--- gstreamer-0.11.94.orig/tools/gst-inspect.c 2012-09-01 18:02:10.000000000 -0400
+++ gstreamer-0.11.94/tools/gst-inspect.c 2012-09-14 08:04:52.690369047 -0400
@@ -1350,9 +1350,225 @@ print_element_info (GstElementFactory *
return 0;
}
+static void
+print_gst_structure_append_field (GList * strings, const char *field)
+{
+ GList *s;
+
+ //g_message ("adding '%s' to the string", field);
+
+ for (s = strings; s != NULL; s = s->next) {
+ g_string_append (s->data, field);
+ }
+}
+
+static void
+print_gst_structure_append_field_index (GList * strings, const char *field,
+ guint num_items, guint offset)
+{
+ GList *s;
+ guint i;
+
+ //g_message ("adding '%s' to the string (num: %d offset: %d)", field, num_items, offset);
+
+ for (s = strings, i = 0; s != NULL; s = s->next, i++) {
+ if (i == offset) {
+ //g_message ("adding '%s' at '%d'", field, i);
+ g_string_append (s->data, field);
+ }
+ if (i == num_items)
+ i = 0;
+ }
+
+}
+
+static GList *
+print_gst_structure_dup_fields (GList * strings, guint num_items)
+{
+ guint new_items, i;
+
+ if (num_items == 1)
+ return strings;
+
+ //g_message ("creating %d new items", num_items);
+
+ new_items = g_list_length (strings) * (num_items - 1);
+ for (i = 0; i < new_items; i++) {
+ GString *s, *first;
+
+ first = strings->data;
+ s = g_string_new_len (first->str, first->len);
+ strings = g_list_prepend (strings, s);
+ }
+
+ return strings;
+}
+
+enum
+{
+ FIELD_VERSION = 0,