Hello community, here is the log from the commit of package libxcb for openSUSE:Factory checked in at 2012-03-23 12:06:59 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/libxcb (Old) and /work/SRC/openSUSE:Factory/.libxcb.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "libxcb", Maintainer is "" Changes: -------- --- /work/SRC/openSUSE:Factory/libxcb/libxcb.changes 2012-02-17 12:02:39.000000000 +0100 +++ /work/SRC/openSUSE:Factory/.libxcb.new/libxcb.changes 2012-03-23 12:07:00.000000000 +0100 @@ -1,0 +2,7 @@ +Wed Mar 21 10:00:05 UTC 2012 - [email protected] + +- Update to new upstream release 1.8.1 +* Fallback to TCP if no protocol is specified and the UNIX + connection fails + +------------------------------------------------------------------- Old: ---- libxcb-1.8.tar.bz2 New: ---- libxcb-1.8.1.tar.bz2 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ libxcb.spec ++++++ --- /var/tmp/diff_new_pack.GQ9PMD/_old 2012-03-23 12:07:02.000000000 +0100 +++ /var/tmp/diff_new_pack.GQ9PMD/_new 2012-03-23 12:07:02.000000000 +0100 @@ -16,24 +16,28 @@ # Name: libxcb %define lname libxcb1 -Version: 1.8 +Version: 1.8.1 Release: 0 Summary: X11 core protocol C library License: MIT Group: Development/Libraries/C and C++ -URL: http://xcb.freedesktop.org/ +Url: http://xcb.freedesktop.org/ #Git-Clone: git://anongit.freedesktop.org/xorg/lib/libxcb #Git-Web: http://cgit.freedesktop.org/xorg/lib/libxcb/ +#DL-URL: http://xcb.freedesktop.org/dist/ Source: %name-%version.tar.bz2 Patch1: bug-262309_xcb-xauthlocalhostname.diff -BuildRoot: %_tmppath/%name-%version-build +BuildRoot: %{_tmppath}/%{name}-%{version}-build #git#BuildRequires: autoconf >= 2.57, automake, libtool -BuildRequires: pkgconfig, python-base >= 2.6, python-xml +BuildRequires: pkgconfig +BuildRequires: python-base >= 2.6 +BuildRequires: python-xml BuildRequires: pkgconfig(check) >= 0.9.4 -BuildRequires: pkgconfig(xcb-proto) >= 1.6 -BuildRequires: pkgconfig(pthread-stubs), pkgconfig(xau) >= 0.99.2 +BuildRequires: pkgconfig(pthread-stubs) +BuildRequires: pkgconfig(xau) >= 0.99.2 +BuildRequires: pkgconfig(xcb-proto) >= 1.7 #optional#BuildRequires: pkgconfig(xdmcp) %if 0%{?suse_version} >= 1210 BuildRequires: xsltproc @@ -344,48 +348,91 @@ rm -f "%buildroot/%_libdir"/*.la %post -n libxcb1 -p /sbin/ldconfig + %postun -n libxcb1 -p /sbin/ldconfig + %post -n libxcb-composite0 -p /sbin/ldconfig + %postun -n libxcb-composite0 -p /sbin/ldconfig + %post -n libxcb-damage0 -p /sbin/ldconfig + %postun -n libxcb-damage0 -p /sbin/ldconfig + %post -n libxcb-dpms0 -p /sbin/ldconfig + %postun -n libxcb-dpms0 -p /sbin/ldconfig + %post -n libxcb-dri2-0 -p /sbin/ldconfig + %postun -n libxcb-dri2-0 -p /sbin/ldconfig + %post -n libxcb-glx0 -p /sbin/ldconfig + %postun -n libxcb-glx0 -p /sbin/ldconfig + %post -n libxcb-randr0 -p /sbin/ldconfig + %postun -n libxcb-randr0 -p /sbin/ldconfig + %post -n libxcb-record0 -p /sbin/ldconfig + %postun -n libxcb-record0 -p /sbin/ldconfig + %post -n libxcb-render0 -p /sbin/ldconfig + %postun -n libxcb-render0 -p /sbin/ldconfig + %post -n libxcb-res0 -p /sbin/ldconfig + %postun -n libxcb-res0 -p /sbin/ldconfig + %post -n libxcb-screensaver0 -p /sbin/ldconfig + %postun -n libxcb-screensaver0 -p /sbin/ldconfig + %post -n libxcb-shape0 -p /sbin/ldconfig + %postun -n libxcb-shape0 -p /sbin/ldconfig + %post -n libxcb-shm0 -p /sbin/ldconfig + %postun -n libxcb-shm0 -p /sbin/ldconfig + %post -n libxcb-sync0 -p /sbin/ldconfig + %postun -n libxcb-sync0 -p /sbin/ldconfig + %post -n libxcb-xevie0 -p /sbin/ldconfig + %postun -n libxcb-xevie0 -p /sbin/ldconfig + %post -n libxcb-xf86dri0 -p /sbin/ldconfig + %postun -n libxcb-xf86dri0 -p /sbin/ldconfig + %post -n libxcb-xfixes0 -p /sbin/ldconfig + %postun -n libxcb-xfixes0 -p /sbin/ldconfig + %post -n libxcb-xinerama0 -p /sbin/ldconfig + %postun -n libxcb-xinerama0 -p /sbin/ldconfig + %post -n libxcb-xprint0 -p /sbin/ldconfig + %postun -n libxcb-xprint0 -p /sbin/ldconfig + %post -n libxcb-xtest0 -p /sbin/ldconfig + %postun -n libxcb-xtest0 -p /sbin/ldconfig + %post -n libxcb-xv0 -p /sbin/ldconfig + %postun -n libxcb-xv0 -p /sbin/ldconfig + %post -n libxcb-xvmc0 -p /sbin/ldconfig + %postun -n libxcb-xvmc0 -p /sbin/ldconfig %files -n libxcb1 ++++++ libxcb-1.8.tar.bz2 -> libxcb-1.8.1.tar.bz2 ++++++ ++++ 2283 lines of diff (skipped) ++++ retrying with extended exclude list diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libxcb-1.8/NEWS new/libxcb-1.8.1/NEWS --- old/libxcb-1.8/NEWS 2012-01-11 18:23:38.000000000 +0100 +++ new/libxcb-1.8.1/NEWS 2012-03-09 15:38:29.000000000 +0100 @@ -1,3 +1,14 @@ +Release 1.8.1 (2012-03-09) +========================== +- Fix a busy loop on BSD and Mac OS +- Bump xcb-proto requirement +- Fallback to TCP if no protocol is specified and the UNIX connection fails +- Update use of error_connection under WIN32 to _xcb_conn_ret_error() +- Fix build of xcb_auth.c with XDMCP on WIN32 +- Revert "Fix include order with Xdmcp on WIN32" +- darwin: Use read(2) rather than recv(2) +- Add xkb_internals and xkb_issues to EXTRA_DIST. + Release 1.8 (2012-01-11) ======================== - xcb_disconnect: call shutdown() to force a disconnect @@ -42,7 +53,6 @@ - Compute alignment correctly - Fix a dead-lock due to xcb_poll_for_reply - Release 1.7 (2010-08-13) ======================== - Always wake up readers after writing diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libxcb-1.8/configure.ac new/libxcb-1.8.1/configure.ac --- old/libxcb-1.8/configure.ac 2012-01-11 18:23:46.000000000 +0100 +++ new/libxcb-1.8.1/configure.ac 2012-03-09 15:38:38.000000000 +0100 @@ -3,7 +3,7 @@ AC_PREREQ(2.57) AC_INIT([libxcb], - 1.8, + 1.8.1, [[email protected]]) AC_CONFIG_SRCDIR([xcb.pc.in]) AM_INIT_AUTOMAKE([foreign dist-bzip2]) @@ -34,7 +34,7 @@ AC_SUBST(HTML_CHECK_RESULT) # Checks for pkg-config packages -PKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.6) +PKG_CHECK_MODULES(XCBPROTO, xcb-proto >= 1.7) NEEDED="pthread-stubs xau >= 0.99.2" PKG_CHECK_MODULES(NEEDED, $NEEDED) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libxcb-1.8/doc/Makefile.am new/libxcb-1.8.1/doc/Makefile.am --- old/libxcb-1.8/doc/Makefile.am 2011-11-10 15:36:14.000000000 +0100 +++ new/libxcb-1.8.1/doc/Makefile.am 2012-03-09 15:37:20.000000000 +0100 @@ -2,7 +2,9 @@ EXTRA_DIST = \ tutorial/index.html \ tutorial/xcb.css \ -xcb.doxygen.in +xcb.doxygen.in \ +xkb_internals \ +xkb_issues docdirs = $(srcdir)/tutorial diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libxcb-1.8/doc/xkb_internals new/libxcb-1.8.1/doc/xkb_internals --- old/libxcb-1.8/doc/xkb_internals 1970-01-01 01:00:00.000000000 +0100 +++ new/libxcb-1.8.1/doc/xkb_internals 2011-11-10 15:36:14.000000000 +0100 @@ -0,0 +1,49 @@ + +XKB introduces several uncommon data structures: + - switch allows conditional inclusion of fields + - several complex objects intermix variable and fixed size fields + - lists with a variable number of variable size objects + +To handle these objects, a number of new functions is generated: + - _serialize() turns a structured object into a byte stream, + (re)ordering or including fields according to the protocol + - _unserialize() rewrites data from a buffer into a structured object + - _unpack() expands a buffer representing a switch object into + a special structured type, all flags needed to resolve the switch + expression have to given as parameters + - _sizeof() calculates the size of a serialized object, often by calling + _unserialize()/_unpack() internally + +The new structured data type for switch is special as it contains fixed +and variable size fields. Variable size fields can be accessed via pointers. + +If switch appears in a request, an additional set of request helpers is +generated with the suffix _aux or _aux_(un)checked. While the 'common' +request functions require that switch has been serialized before, the _aux +variants take the structured data type. They are especially designed to +replace certain functions in xcb-util/aux. + +Accessors for switch members need two parameters, where the first is usually +a pointer to the respective request or reply structure, while the second +is a pointer to the unpacked switch data structure. + +Functions from the serialize family that take a double pointer can allocate +memory on their own, which is useful if the size of a buffer has to be +calculated depending on the data within. These functions call malloc() when +the double pointer is given as the address of a pointer that has been +initialized to 0. It is the responsibility of the user to free any allocated +memory. + +Intermixed variable and fixed size fields are an important special case in XKB. +The current implementation resolves the issue by reordering the fields before +sending them on the wire as well as before returning a reply. That means that +these objects look like 'common' XCB data types and they can be accessed as such +(i.e. fixed size fields directly via the structured type and variable size fields +via accessors/iterators). + +In case a list with variable size elements needs to be accessed, it is necessary +to use iterators. The iterator functions take care of determining the actual +object size for each element automatically. + +A small and preliminary set of auxiliary functions is available in xkb_util.c +in the check_xkb module. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libxcb-1.8/doc/xkb_issues new/libxcb-1.8.1/doc/xkb_issues --- old/libxcb-1.8/doc/xkb_issues 1970-01-01 01:00:00.000000000 +0100 +++ new/libxcb-1.8.1/doc/xkb_issues 2011-11-10 15:36:14.000000000 +0100 @@ -0,0 +1,38 @@ + +There are a number of problematic special cases in XKB. The issues +mentioned here are at most partly resolved. + +1. The are several XxxDoodad structures defined in xkb.xml. They are used + in a few lists, but in a rather special way: + The struct "CommonDoodad" is supposed to be a rather generic data type, + combining the most basic Doodad fields that are common in all these structures. + All Doodads are encapsulated in a union type simply called "Doodad". + Now this union is used in subsequent list definitions, aiming at a kind of + 'polymorphism': From inspection of the protocol and Xlib, the Doodads are to + be discriminated based on their type field. + However the special meaning of the type field is not encoded in the protocol. + Furthermore the TextDoodad and the LogoDoodad are variable size types due to + some fields of type CountedString16, thereby turning the union into a + possibly variable size type as well. + However, for lists with variable size elements, special sizeof functions are + required. These cannot be autogenerated as it cannot be referred which + Doodad type to use for the union. + Therefore, the Doodad type structures are unsupported at the moment. + +2. There are still some bugs in xkb.xml: Either certain fields are missing + that are required by the protocol, or Xlib simply has another understanding + of the protocol. + +3. The interface for accessors should be reviewed. + +4. Currently some bitcases carry 'name' attributes. These could be avoided if + the data within would consist of a singe struct field only. + +5. switch could get a 'fixed_size' attribute, so when rewriting valueparam to switch, + an uint32_t * pointer could be used instead of void *. + +6. The automatic inclusion of padding requires some complicated coding in the + generator. This is errorprone and could be avoided if all padding is explicitly + given in the protocol definition. For variable size fields that require padding, + the pad tag could get a 'fieldref' attribute. That way padding could be handled + a lot easier in the autogenerator. \ No newline at end of file diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libxcb-1.8/missing new/libxcb-1.8.1/missing --- old/libxcb-1.8/missing 2012-01-11 18:27:54.000000000 +0100 +++ new/libxcb-1.8.1/missing 2012-03-09 15:40:57.000000000 +0100 @@ -1,10 +1,10 @@ #! /bin/sh # Common stub for a few missing GNU programs while installing. -scriptversion=2009-04-28.21; # UTC +scriptversion=2012-01-06.13; # UTC # Copyright (C) 1996, 1997, 1999, 2000, 2002, 2003, 2004, 2005, 2006, -# 2008, 2009 Free Software Foundation, Inc. +# 2008, 2009, 2010, 2011, 2012 Free Software Foundation, Inc. # Originally by Fran,cois Pinard <[email protected]>, 1996. # This program is free software; you can redistribute it and/or modify @@ -84,7 +84,6 @@ help2man touch the output file lex create \`lex.yy.c', if possible, from existing .c makeinfo touch the output file - tar try tar, gnutar, gtar, then tar without non-portable flags yacc create \`y.tab.[ch]', if possible, from existing .[ch] Version suffixes to PROGRAM as well as the prefixes \`gnu-', \`gnu', and @@ -122,15 +121,6 @@ # Not GNU programs, they don't have --version. ;; - tar*) - if test -n "$run"; then - echo 1>&2 "ERROR: \`tar' requires --run" - exit 1 - elif test "x$2" = "x--version" || test "x$2" = "x--help"; then - exit 1 - fi - ;; - *) if test -z "$run" && ($1 --version) > /dev/null 2>&1; then # We have it, but it failed. @@ -226,7 +216,7 @@ \`Bison' from any GNU archive site." rm -f y.tab.c y.tab.h if test $# -ne 1; then - eval LASTARG="\${$#}" + eval LASTARG=\${$#} case $LASTARG in *.y) SRCFILE=`echo "$LASTARG" | sed 's/y$/c/'` @@ -256,7 +246,7 @@ \`Flex' from any GNU archive site." rm -f lex.yy.c if test $# -ne 1; then - eval LASTARG="\${$#}" + eval LASTARG=\${$#} case $LASTARG in *.l) SRCFILE=`echo "$LASTARG" | sed 's/l$/c/'` @@ -318,41 +308,6 @@ touch $file ;; - tar*) - shift - - # We have already tried tar in the generic part. - # Look for gnutar/gtar before invocation to avoid ugly error - # messages. - if (gnutar --version > /dev/null 2>&1); then - gnutar "$@" && exit 0 - fi - if (gtar --version > /dev/null 2>&1); then - gtar "$@" && exit 0 - fi - firstarg="$1" - if shift; then - case $firstarg in - *o*) - firstarg=`echo "$firstarg" | sed s/o//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - case $firstarg in - *h*) - firstarg=`echo "$firstarg" | sed s/h//` - tar "$firstarg" "$@" && exit 0 - ;; - esac - fi - - echo 1>&2 "\ -WARNING: I can't seem to be able to run \`tar' with the given arguments. - You may want to install GNU tar or Free paxutils, or check the - command line arguments." - exit 1 - ;; - *) echo 1>&2 "\ WARNING: \`$1' is needed, and is $msg. diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libxcb-1.8/src/xcb_auth.c new/libxcb-1.8.1/src/xcb_auth.c --- old/libxcb-1.8/src/xcb_auth.c 2012-01-11 18:03:31.000000000 +0100 +++ new/libxcb-1.8.1/src/xcb_auth.c 2012-03-09 15:37:20.000000000 +0100 @@ -25,6 +25,10 @@ /* Authorization systems for the X protocol. */ +#ifdef HAVE_CONFIG_H +#include "config.h" +#endif + #include <assert.h> #include <X11/Xauth.h> #include <sys/param.h> @@ -36,11 +40,12 @@ #include <rpc/types.h> #endif +#ifdef _WIN32 #ifdef HASXDMAUTH -#include <X11/Xdmcp.h> +/* We must include the wrapped windows.h before any system header which includes + it unwrapped, to avoid conflicts with types defined in X headers */ +#include <X11/Xwindows.h> #endif - -#ifdef _WIN32 #include "xcb_windefs.h" #else #include <arpa/inet.h> @@ -52,6 +57,9 @@ #include "xcb.h" #include "xcbint.h" +#ifdef HASXDMAUTH +#include <X11/Xdmcp.h> +#endif enum auth_protos { #ifdef HASXDMAUTH diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libxcb-1.8/src/xcb_in.c new/libxcb-1.8.1/src/xcb_in.c --- old/libxcb-1.8/src/xcb_in.c 2012-01-11 18:01:29.000000000 +0100 +++ new/libxcb-1.8.1/src/xcb_in.c 2012-03-09 15:37:20.000000000 +0100 @@ -51,11 +51,6 @@ #define XCB_REPLY 1 #define XCB_XGE_EVENT 35 -/* required for compiling for Win32 using MinGW */ -#ifndef MSG_WAITALL -#define MSG_WAITALL 0 -#endif - struct event_list { xcb_generic_event_t *event; struct event_list *next; @@ -269,7 +264,7 @@ int done = 0; while(done < len) { - int ret = recv(fd, ((char *) buf) + done, len - done,MSG_WAITALL); + int ret = recv(fd, ((char *) buf) + done, len - done, 0); if(ret > 0) done += ret; #ifndef _WIN32 @@ -661,7 +656,7 @@ int _xcb_in_read(xcb_connection_t *c) { - int n = recv(c->fd, c->in.queue + c->in.queue_len, sizeof(c->in.queue) - c->in.queue_len,MSG_WAITALL); + int n = recv(c->fd, c->in.queue + c->in.queue_len, sizeof(c->in.queue) - c->in.queue_len, 0); if(n > 0) c->in.queue_len += n; while(read_packet(c)) diff -urN '--exclude=CVS' '--exclude=.cvsignore' '--exclude=.svn' '--exclude=.svnignore' --exclude Makefile.in --exclude configure --exclude config.guess --exclude '*.pot' --exclude mkinstalldirs --exclude aclocal.m4 --exclude config.sub --exclude depcomp --exclude install-sh --exclude ltmain.sh old/libxcb-1.8/src/xcb_util.c new/libxcb-1.8.1/src/xcb_util.c --- old/libxcb-1.8/src/xcb_util.c 2012-01-11 18:06:35.000000000 +0100 +++ new/libxcb-1.8.1/src/xcb_util.c 2012-03-09 15:37:20.000000000 +0100 @@ -235,6 +235,11 @@ fd = _xcb_open_unix(protocol, file); free(file); + if (fd < 0 && !protocol && *host == '\0') { + unsigned short port = X_TCP_PORT + display; + fd = _xcb_open_tcp(host, protocol, port); + } + return fd; #endif /* !_WIN32 */ return -1; /* if control reaches here then something has gone wrong */ @@ -430,7 +435,7 @@ #ifdef _WIN32 WSADATA wsaData; if (WSAStartup(MAKEWORD(2, 2), &wsaData) != 0) { - c = (xcb_connection_t *) &error_connection; + c = _xcb_conn_ret_error(XCB_CONN_ERROR); goto out; } #endif -- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
