diff --git a/gnome-session-3.2.1.tar.bz2 b/gnome-session-3.2.1.tar.bz2 deleted file mode 100644 index 033bbe4..0000000 --- a/gnome-session-3.2.1.tar.bz2 +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:cd333238585c28b01373f1630523277a640675f2374e3694e07de28092ac4772 -size 822857 diff --git a/gnome-session-3.3.3.tar.xz b/gnome-session-3.3.3.tar.xz new file mode 100644 index 0000000..d55023c --- /dev/null +++ b/gnome-session-3.3.3.tar.xz @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:72ffcb5d5215b351e92c2fe0cdb3861341c43aab35ffde06a4f292f3b61b97d4 +size 703520 diff --git a/gnome-session-blacklist-hardware.patch b/gnome-session-blacklist-hardware.patch deleted file mode 100644 index aec4863..0000000 --- a/gnome-session-blacklist-hardware.patch +++ /dev/null @@ -1,256 +0,0 @@ -From 50b121a7737a13bde1195d1aea215ff8789f65fd Mon Sep 17 00:00:00 2001 -From: Vincent Untz -Date: Wed, 19 Oct 2011 14:27:25 +0200 -Subject: [PATCH 1/2] tools: Use whitelist/blacklist regexps when evaluating - renderer - -The regexps are in a file that we also ship. - -https://bugzilla.gnome.org/show_bug.cgi?id=644325 ---- - data/Makefile.am | 5 +- - data/hardware-compatibility | 20 +++++ - tools/Makefile.am | 3 +- - tools/gnome-session-check-accelerated-helper.c | 95 ++++++++++++++++++++++-- - 4 files changed, 115 insertions(+), 8 deletions(-) - create mode 100644 data/hardware-compatibility - -diff --git a/data/Makefile.am b/data/Makefile.am -index cdd3201..6f0fb33 100644 ---- a/data/Makefile.am -+++ b/data/Makefile.am -@@ -5,6 +5,9 @@ ui_DATA = \ - session-properties.ui \ - gsm-inhibit-dialog.ui - -+hwcompatdir = $(pkgdatadir) -+hwcompat_DATA = hardware-compatibility -+ - xsessiondir = $(datadir)/xsessions - xsession_in_files = gnome.desktop.in - xsession_DATA = $(xsession_in_files:.desktop.in=.desktop) -@@ -39,7 +42,7 @@ EXTRA_DIST = \ - $(session_in_in_files) \ - $(gsettings_SCHEMAS:.xml=.xml.in) \ - $(ui_DATA) \ -- $(pixmap_DATA_dist) -+ $(hwcompat_DATA) - - CLEANFILES = \ - $(gsettings_SCHEMAS) \ -diff --git a/data/hardware-compatibility b/data/hardware-compatibility -new file mode 100644 -index 0000000..b311898 ---- /dev/null -+++ b/data/hardware-compatibility -@@ -0,0 +1,20 @@ -+## -+## This file contains a list of blacklist/whitelist regular expressions for -+## renderer strings. -+## -+## The regular expressions are case-insensitive POSIX Extended Regular -+## Expressions. See regex(7) for details. -+## -+## Syntax: -+## - Comment lines start with '#' -+## - Lines starting with '+' are whitelisting. -+## - Lines starting with '-' are blacklisting. -+## - Lines not starting with '#', '+', '-' are ignored. -+## -+ -+# Old Mesa software GL renderer -+-software rasterizer -+ -+# Gallium has softpipe and llvmpipe -+-softpipe -+-llvmpipe -diff --git a/tools/Makefile.am b/tools/Makefile.am -index aaf1ca1..dc85836 100644 ---- a/tools/Makefile.am -+++ b/tools/Makefile.am -@@ -26,7 +26,8 @@ gnome_session_quit_LDADD = \ - gnome_session_check_accelerated_helper_SOURCES = \ - gnome-session-check-accelerated-helper.c - --gnome_session_check_accelerated_helper_CPPFLAGS = \ -+gnome_session_check_accelerated_helper_CPPFLAGS = \ -+ -DPKGDATADIR=\""$(pkgdatadir)"\" \ - $(GL_TEST_CFLAGS) - - gnome_session_check_accelerated_helper_LDADD = \ -diff --git a/tools/gnome-session-check-accelerated-helper.c b/tools/gnome-session-check-accelerated-helper.c -index c1b49e2..c0fa1e5 100644 ---- a/tools/gnome-session-check-accelerated-helper.c -+++ b/tools/gnome-session-check-accelerated-helper.c -@@ -75,6 +75,8 @@ - #include - #include - -+#include -+ - #include - #include - #include -@@ -148,6 +150,92 @@ _has_composite (Display *display) - } - - static int -+_is_comment (const char *line) -+{ -+ while (*line && isspace(*line)) -+ line++; -+ -+ if (*line == '#' || *line == '\0') -+ return 0; -+ else -+ return 1; -+} -+ -+static int -+_is_gl_renderer_blacklisted (const char *renderer) -+{ -+ FILE *blacklist; -+ char *line = NULL; -+ size_t line_len = 0; -+ int ret = 1; -+ -+ blacklist = fopen(PKGDATADIR "/hardware-compatibility", "r"); -+ if (blacklist == NULL) -+ goto out; -+ -+ while (getline (&line, &line_len, blacklist) != -1) { -+ int whitelist = 0; -+ const char *re_str; -+ regex_t re; -+ int status; -+ -+ if (line == NULL) -+ break; -+ -+ /* Drop trailing \n */ -+ line[strlen(line) - 1] = '\0'; -+ -+ if (_is_comment (line) == 0) { -+ free (line); -+ line = NULL; -+ continue; -+ } -+ -+ if (line[0] == '+') -+ whitelist = 1; -+ else if (line[0] == '-') -+ whitelist = 0; -+ else { -+ _print_error ("Invalid syntax in this line for hardware compatibility:"); -+ _print_error (line); -+ free (line); -+ line = NULL; -+ continue; -+ } -+ -+ re_str = line + 1; -+ -+ if (regcomp (&re, re_str, REG_EXTENDED|REG_ICASE|REG_NOSUB) != 0) { -+ _print_error ("Cannot use this regular expression for hardware compatibility:"); -+ _print_error (re_str); -+ } else { -+ status = regexec (&re, renderer, 0, NULL, 0); -+ regfree(&re); -+ -+ if (status == 0) { -+ if (whitelist) -+ ret = 0; -+ goto out; -+ } -+ } -+ -+ free (line); -+ line = NULL; -+ } -+ -+ ret = 0; -+ -+out: -+ if (line != NULL) -+ free (line); -+ -+ if (blacklist != NULL) -+ fclose (blacklist); -+ -+ return ret; -+} -+ -+static int - _has_hardware_gl (Display *display) - { - int screen; -@@ -193,12 +281,7 @@ _has_hardware_gl (Display *display) - goto out; - - renderer = (const char *) glGetString (GL_RENDERER); -- /* The current Mesa software GL renderer string is -- * "Software Rasterizer". -- * Gallium has softpipe and llvmpipe. */ -- if (strcasestr (renderer, "software rasterizer") != NULL || -- strcasestr (renderer, "softpipe") != NULL || -- strcasestr (renderer, "llvmpipe") != NULL) -+ if (_is_gl_renderer_blacklisted (renderer) != 0) - goto out; - - /* we need to get the max texture size while we have a context, --- -1.7.7 - - -From 5762becdbb2a308647067e0e09617b3f91f0ac0e Mon Sep 17 00:00:00 2001 -From: Vincent Untz -Date: Wed, 19 Oct 2011 14:36:57 +0200 -Subject: [PATCH 2/2] data: Blacklist Intel 830-865 hardware - -https://bugzilla.gnome.org/show_bug.cgi?id=644325 ---- - data/hardware-compatibility | 3 +++ - 1 files changed, 3 insertions(+), 0 deletions(-) - -diff --git a/data/hardware-compatibility b/data/hardware-compatibility -index b311898..ddbfe07 100644 ---- a/data/hardware-compatibility -+++ b/data/hardware-compatibility -@@ -12,6 +12,9 @@ - ## - Lines not starting with '#', '+', '-' are ignored. - ## - -+# Intel 830-865 -+-Intel(R) 8[[:digit:]]{2,2}[^[:digit:]] -+ - # Old Mesa software GL renderer - -software rasterizer - --- -1.7.7 - -From b7db5c55424a3ce0b0c4d24cb02862402a70ff29 Mon Sep 17 00:00:00 2001 -From: Vincent Untz -Date: Tue, 25 Oct 2011 21:37:36 +0200 -Subject: [PATCH] data: Fix regexp for Intel 830-865 hardware blacklisting - ---- - data/hardware-compatibility | 2 +- - 1 files changed, 1 insertions(+), 1 deletions(-) - -diff --git a/data/hardware-compatibility b/data/hardware-compatibility -index ddbfe07..5adc072 100644 ---- a/data/hardware-compatibility -+++ b/data/hardware-compatibility -@@ -13,7 +13,7 @@ - ## - - # Intel 830-865 ---Intel(R) 8[[:digit:]]{2,2}[^[:digit:]] -+-Intel\(R\) 8[[:digit:]]{2,2}[^[:digit:]] - - # Old Mesa software GL renderer - -software rasterizer --- -1.7.7 - diff --git a/gnome-session-gnome.fallback-boot-arg.patch b/gnome-session-gnome.fallback-boot-arg.patch deleted file mode 100644 index dbcf449..0000000 --- a/gnome-session-gnome.fallback-boot-arg.patch +++ /dev/null @@ -1,102 +0,0 @@ -commit 2613036679b7691c93f5bbd1e15379d80fbb9bf6 -Author: Vincent Untz -Date: Wed Oct 19 13:14:50 2011 +0200 - - tools: Look at gnome.fallback argument in kernel boot line - - This is a quick way to let users easily force the fallback (or - non-fallback mode) with gnome.fallback=0/1 on boot. - -diff --git a/tools/gnome-session-check-accelerated-helper.c b/tools/gnome-session-check-accelerated-helper.c -index 3f83f76..c1fbe9d 100644 ---- a/tools/gnome-session-check-accelerated-helper.c -+++ b/tools/gnome-session-check-accelerated-helper.c -@@ -70,7 +70,9 @@ - /* for strcasestr */ - #define _GNU_SOURCE - -+#include - #include -+#include - #include - - #include -@@ -87,6 +89,54 @@ _print_error (const char *str) - } - - static int -+_parse_kcmdline (void) -+{ -+ FILE *kcmdline; -+ char *line = NULL; -+ size_t line_len = 0; -+ int ret = -1; -+ -+ kcmdline = fopen("/proc/cmdline", "r"); -+ if (kcmdline == NULL) -+ return ret; -+ -+ while (getline (&line, &line_len, kcmdline) != -1) { -+ const char *arg; -+ const char *str; -+ int key_len = strlen ("gnome.fallback="); -+ -+ if (line == NULL) -+ break; -+ -+ /* don't break if we found the argument once: last mention wins */ -+ -+ str = line; -+ do { -+ arg = strstr (str, "gnome.fallback="); -+ str = arg + key_len; -+ -+ if (arg && -+ (arg == line || isspace (arg[-1])) && /* gnome.fallback= is really the beginning of an argument */ -+ (isdigit (arg[key_len]))) { /* the first character of the value of this argument is an integer */ -+ if ((arg[key_len+1] == '\0' || isspace (arg[key_len+1]))) /* the value of this argument is only one character long */ -+ ret = arg[key_len] - '0'; -+ else /* invalid value */ -+ ret = 0xDEAD; -+ -+ } -+ } while (arg != NULL); -+ -+ free (line); -+ line = NULL; -+ line_len = 0; -+ } -+ -+ fclose (kcmdline); -+ -+ return ret; -+} -+ -+static int - _has_composite (Display *display) - { - int dummy1, dummy2; -@@ -257,9 +307,23 @@ _is_max_texture_size_big_enough (Display *display) - int - main (int argc, char **argv) - { -+ int kcmdline_parsed; - Display *display = NULL; - int ret = 1; - -+ kcmdline_parsed = _parse_kcmdline (); -+ if (kcmdline_parsed >= 0) { -+ if (kcmdline_parsed == 0) { -+ _print_error ("Non-fallback mode forced by kernel command line."); -+ ret = 0; -+ goto out; -+ } else if (kcmdline_parsed == 1) { -+ _print_error ("Fallback mode forced by kernel command line."); -+ goto out; -+ } else -+ _print_error ("Invalid value for gnome.fallback passed in kernel command line."); -+ } -+ - display = XOpenDisplay (NULL); - if (!display) { - _print_error ("No X display."); diff --git a/gnome-session.changes b/gnome-session.changes index 35d1e75..6899da2 100644 --- a/gnome-session.changes +++ b/gnome-session.changes @@ -1,3 +1,36 @@ +------------------------------------------------------------------- +Tue Dec 20 09:31:15 UTC 2011 - vuntz@opensuse.org + +- Update to version 3.3.3: + + Blacklist pre-R300 Radeon hardware in accelerated check. +- Add xz BuildRequires because we can't build a package for a + xz-compressed tarball without explicitly specifying that... See + bnc#697467 for more details. + +------------------------------------------------------------------- +Mon Nov 21 13:37:28 UTC 2011 - dimstar@opensuse.org + +- Update to version 3.3.2: + + Fix regexp for blacklisting Intel 830-865 hardware + + Updated translations. +- Drop gnome-session-blacklist-hardware.patch: fixed upstream. + +------------------------------------------------------------------- +Wed Oct 26 20:40:45 UTC 2011 - dimstar@opensuse.org + +- Update to version 3.3.1: + + Tools: + - Look at gnome.fallback={0,1} argument in kernel boot line to + determine if fallback mode should be enforced or ignored + - Use whitelist/blacklist regexps in an external file when + evaluating renderer for accelerated check + - Blacklist Intel 830-865 hardware when checking for + accelerated hardware + + Updated translations. +- Rebase gnome-session-blacklist-hardware.patch: mostly fixed + upstream, except the regex form in hardware-compatibility. +- Drop gnome-session-gnome.fallback-boot-arg.patch: fixed upstream. + ------------------------------------------------------------------- Tue Oct 25 19:40:14 UTC 2011 - vuntz@opensuse.org diff --git a/gnome-session.spec b/gnome-session.spec index 64cf9dc..f56bf86 100644 --- a/gnome-session.spec +++ b/gnome-session.spec @@ -15,16 +15,14 @@ # Please submit bugfixes or comments via http://bugs.opensuse.org/ # - - Name: gnome-session -Version: 3.2.1 -Release: 1 -License: GPLv2+ +Version: 3.3.3 +Release: 0 Summary: Session Tools for the GNOME Desktop -Url: http://www.gnome.org +License: GPL-2.0+ Group: System/GUI/GNOME -Source: http://download.gnome.org/sources/gnome-session/3.2/%{name}-%{version}.tar.bz2 +Url: http://www.gnome.org +Source: http://download.gnome.org/sources/gnome-session/3.3/%{name}-%{version}.tar.xz Source1: gnome Source2: gnome.desktop # Temporarly needed until we get upstream to ship the right icon for suspend @@ -37,10 +35,6 @@ Patch1: gnome-session-kdm-support.patch Patch2: gnome-session-wm-switch.patch # PATCH-NEEDS-REBASE gnome-session-bgo507101-tile-ui.patch bgo507101 vuntz@novell.com -- Tile UI for logout dialog. (Was: PATCH-FIX-UPSTREAM) Patch3: gnome-session-bgo507101-tile-ui.patch -# PATCH-FEATURE-UPSTREAM gnome-session-gnome.fallback-boot-arg.patch vuntz@opensuse.org -- Let users be able to pass gnome.fallback at boot to choose fallback/non-fallback -Patch4: gnome-session-gnome.fallback-boot-arg.patch -# PATCH-FEATURE-UPSTREAM gnome-session-blacklist-hardware.patch bgo#644325 vuntz@opensuse.org -- Use an external file to easily blacklist/whitelist some hardware -Patch5: gnome-session-blacklist-hardware.patch BuildRequires: fdupes BuildRequires: gnome-common BuildRequires: gnome-patch-translation @@ -49,6 +43,8 @@ BuildRequires: intltool BuildRequires: tcpd-devel BuildRequires: translation-update-upstream BuildRequires: update-desktop-files +# Only needed because we don't (and won't) support building xz tarballs by default... See bnc#697467 +BuildRequires: xz BuildRequires: pkgconfig(dbus-glib-1) BuildRequires: pkgconfig(gconf-2.0) BuildRequires: pkgconfig(gl) @@ -80,9 +76,7 @@ This package provides the basic session tools, like session management functionality, for the GNOME Desktop. %package default-session -License: GPLv2+ Summary: Session Manager for GNOME -- Default GNOME Session -Group: System/GUI/GNOME Requires: %{name} = %{version} Requires: gnome-shell Requires: gnome-settings-daemon @@ -92,9 +86,7 @@ Recommends: %{name}-fallback-session This package contains the definition of the default GNOME session. %package fallback-session -License: GPLv2+ Summary: Session Manager for GNOME -- Fallback GNOME Session -Group: System/GUI/GNOME Requires: %{name} = %{version} Requires: gnome-panel Requires: gnome-settings-daemon @@ -107,7 +99,6 @@ which is used when the graphics are not hardware-accelerated. %package -n gnome2-look-and-feel Summary: GNOME Desktop with the GNOME 2 Look and Feel -Group: System/GUI/GNOME Requires: %{name}-fallback-session %description -n gnome2-look-and-feel @@ -115,9 +106,7 @@ This package contains the definition to choose in the display manager a GNOME 3 session that looks and feels like GNOME 2. %package core -License: GPLv2+ Summary: Session Manager for GNOME -- Minimal Version -Group: System/GUI/GNOME Requires: ConsoleKit Requires: dbus-1-x11 Requires: gsettings-desktop-schemas >= 0.1.7 @@ -141,8 +130,6 @@ translation-update-upstream #%patch2 -p1 # needs-rebase #%patch3 -p0 -%patch4 -p1 -%patch5 -p1 # gnome-patch-translation-update %build