Hello community, here is the log from the commit of package xorg-x11-server for openSUSE:Factory checked in at Wed Apr 7 01:52:30 CEST 2010. -------- --- xorg-x11-server/xorg-x11-server.changes 2010-04-02 12:08:06.000000000 +0200 +++ /mounts/work_src_done/STABLE/xorg-x11-server/xorg-x11-server.changes 2010-04-06 20:48:50.000000000 +0200 @@ -1,0 +2,12 @@ +Tue Apr 6 20:48:21 CEST 2010 - ro@suse.de + +- fix libxf86config (resolve references) + +------------------------------------------------------------------- +Tue Apr 6 18:20:00 CEST 2010 - sndirsch@suse.de + +- fix_fglrx_screendepth_issue.patch + * hardcode default color depth of fglrx driver to 24bit to fix + video driver autoconfiguration (bnc #593878) + +------------------------------------------------------------------- calling whatdependson for head-i586 New: ---- fix_fglrx_screendepth_issue.patch xorg-server-option_libxf86config.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ xorg-x11-server.spec ++++++ --- /var/tmp/diff_new_pack.i8SkbO/_old 2010-04-07 01:52:02.000000000 +0200 +++ /var/tmp/diff_new_pack.i8SkbO/_new 2010-04-07 01:52:02.000000000 +0200 @@ -35,7 +35,7 @@ Url: http://xorg.freedesktop.org/ %define EXPERIMENTAL 0 Version: 7.5_%{dirsuffix} -Release: 1 +Release: 2 License: GPLv2+ ; MIT License (or similar) BuildRoot: %{_tmppath}/%{name}-%{version}-build Group: System/X11/Servers/XF86_4 @@ -126,6 +126,8 @@ Patch203: 0001-Fix-segfault-when-killing-X-with-ctrl-alt-backspace.patch Patch204: missing_font_paths.diff Patch205: xorg-server-1.8.0.diff +Patch206: fix_fglrx_screendepth_issue.patch +Patch207: xorg-server-option_libxf86config.diff %description This package contains the X.Org Server. @@ -249,6 +251,8 @@ %patch203 -p1 %patch204 -p0 %patch205 -p0 +%patch206 -p0 +%patch207 -p0 %build pushd xorg-docs-* @@ -318,7 +322,7 @@ --with-xkb-path="/usr/share/X11/xkb" \ --with-xkb-output="/var/lib/xkb/compiled" #make %{?jobs:-j %jobs} -make +make V=1 make -C hw/kdrive %{?jobs:-j %jobs} %install ++++++ fix_fglrx_screendepth_issue.patch ++++++ --- hw/xfree86/common/xf86AutoConfig.c.orig 2010-03-23 19:36:35.242114919 +0100 +++ hw/xfree86/common/xf86AutoConfig.c 2010-03-23 19:46:34.037124633 +0100 @@ -75,6 +75,13 @@ "\tDevice\t" BUILTIN_DEVICE_NAME "\n" \ "EndSection\n\n" +#define BUILTIN_SCREEN_SECTION_FOR_FGLRX \ + "Section \"Screen\"\n" \ + "\tIdentifier\t" BUILTIN_SCREEN_NAME "\n" \ + "\tDevice\t" BUILTIN_DEVICE_NAME "\n" \ + "\tDefaultDepth\t24\n" \ + "EndSection\n\n" + #define BUILTIN_LAYOUT_SECTION_PRE \ "Section \"ServerLayout\"\n" \ "\tIdentifier\t\"Builtin Default Layout\"\n" @@ -259,7 +266,10 @@ xf86AutoConfig(void) for (p = deviceList; *p; p++) { snprintf(buf, sizeof(buf), BUILTIN_DEVICE_SECTION, *p, 0, *p); AppendToConfig(buf); - snprintf(buf, sizeof(buf), BUILTIN_SCREEN_SECTION, *p, 0, *p, 0); + if( strcmp(*p, "fglrx") == 0 ) + snprintf(buf, sizeof(buf), BUILTIN_SCREEN_SECTION_FOR_FGLRX, *p, 0, *p, 0); + else + snprintf(buf, sizeof(buf), BUILTIN_SCREEN_SECTION, *p, 0, *p, 0); AppendToConfig(buf); } ++++++ xorg-server-option_libxf86config.diff ++++++ --- hw/xfree86/parser/InputClass.c +++ hw/xfree86/parser/InputClass.c @@ -61,6 +61,47 @@ #define TOKEN_SEP "|" +/* + * Tokenize a string into a NULL terminated array of strings. Always returns + * an allocated array unless an error occurs. + */ +char** +m_xstrtokenize(const char *str, const char *separators) +{ + char **list, **nlist; + char *tok, *tmp; + unsigned num = 0, n; + + if (!str) + return NULL; + list = calloc(1, sizeof(*list)); + if (!list) + return NULL; + tmp = strdup(str); + if (!tmp) + goto error; + for (tok = strtok(tmp, separators); tok; tok = strtok(NULL, separators)) { + nlist = realloc(list, (num + 2) * sizeof(*list)); + if (!nlist) + goto error; + list = nlist; + list[num] = strdup(tok); + if (!list[num]) + goto error; + list[++num] = NULL; + } + free(tmp); + return list; + +error: + free(tmp); + for (n = 0; n < num; n++) + free(list[n]); + free(list); + return NULL; +} + + XF86ConfInputClassPtr xf86parseInputClassSection(void) { @@ -96,22 +137,22 @@ case MATCH_PRODUCT: if (xf86getSubToken(&(ptr->comment)) != STRING) Error(QUOTE_MSG, "MatchProduct"); - ptr->match_product = xstrtokenize(val.str, TOKEN_SEP); + ptr->match_product = m_xstrtokenize(val.str, TOKEN_SEP); break; case MATCH_VENDOR: if (xf86getSubToken(&(ptr->comment)) != STRING) Error(QUOTE_MSG, "MatchVendor"); - ptr->match_vendor = xstrtokenize(val.str, TOKEN_SEP); + ptr->match_vendor = m_xstrtokenize(val.str, TOKEN_SEP); break; case MATCH_DEVICE_PATH: if (xf86getSubToken(&(ptr->comment)) != STRING) Error(QUOTE_MSG, "MatchDevicePath"); - ptr->match_device = xstrtokenize(val.str, TOKEN_SEP); + ptr->match_device = m_xstrtokenize(val.str, TOKEN_SEP); break; case MATCH_TAG: if (xf86getSubToken(&(ptr->comment)) != STRING) Error(QUOTE_MSG, "MatchTag"); - ptr->match_tag = xstrtokenize(val.str, TOKEN_SEP); + ptr->match_tag = m_xstrtokenize(val.str, TOKEN_SEP); break; case MATCH_IS_KEYBOARD: if (xf86getSubToken(&(ptr->comment)) != STRING) --- hw/xfree86/parser/Layout.c +++ hw/xfree86/parser/Layout.c @@ -449,7 +449,10 @@ /* add all AutoServerLayout devices to the server layout */ while (input) { - if (xf86CheckBoolOption(input->inp_option_lst, "AutoServerLayout", FALSE)) + Bool asl_value = FALSE; + char *s = xf86findOptionValue(input->inp_option_lst ,"AutoServerLayout"); + Bool asl_found = xf86getBoolValue(&asl_value, s); + if (asl_found == TRUE && asl_value == TRUE) { XF86ConfInputrefPtr iref = layout->lay_input_lst; ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Remember to have fun... -- To unsubscribe, e-mail: opensuse-commit+unsubscribe@opensuse.org For additional commands, e-mail: opensuse-commit+help@opensuse.org