From 649da04215a9651f1de1e18ee958fc073dfd6ce2 Mon Sep 17 00:00:00 2001 From: David Howells Date: Thu, 21 Aug 2014 14:10:09 +0100 Subject: [PATCH] Renamed to x11trace due to a name collision with glibc-utils [BZ 1067665] --- .gitignore | 1 - dead.package | 1 + sources | 1 - xtrace-1.3.1-git-HEAD.patch | 494 ----------------------- xtrace-1.3.1-use-AC_CONFIG_HEADERS.patch | 23 -- xtrace.spec | 76 ---- 6 files changed, 1 insertion(+), 595 deletions(-) delete mode 100644 .gitignore create mode 100644 dead.package delete mode 100644 sources delete mode 100644 xtrace-1.3.1-git-HEAD.patch delete mode 100644 xtrace-1.3.1-use-AC_CONFIG_HEADERS.patch delete mode 100644 xtrace.spec diff --git a/.gitignore b/.gitignore deleted file mode 100644 index a734fee..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -/xtrace_1.3.1.orig.tar.gz diff --git a/dead.package b/dead.package new file mode 100644 index 0000000..eaf890a --- /dev/null +++ b/dead.package @@ -0,0 +1 @@ +Renamed to x11trace due to a name collision with glibc-utils [BZ 1067665] diff --git a/sources b/sources deleted file mode 100644 index 5741f8c..0000000 --- a/sources +++ /dev/null @@ -1 +0,0 @@ -c87a2d2f63872f2f7530df0ac946058b xtrace_1.3.1.orig.tar.gz diff --git a/xtrace-1.3.1-git-HEAD.patch b/xtrace-1.3.1-git-HEAD.patch deleted file mode 100644 index b721175..0000000 --- a/xtrace-1.3.1-git-HEAD.patch +++ /dev/null @@ -1,494 +0,0 @@ -Bring xtrace-1.3.1 up to git HEAD (commit 3ae9cf2f457b0ddf0ecc6405e7073c966f8fab06). ---- - ChangeLog | 8 +++ - NEWS | 3 + - atoms.c | 2 - configure.ac | 4 + - parse.c | 29 ++++++++++++- - parse.h | 2 - requests.proto | 25 ++++++++++- - translate.c | 17 ++++++- - xinput.proto | 40 +++++++++++++++-- - xkb.proto | 127 +++++++++++++++++++++++++++++++++++++++++++++++++++++++-- - 10 files changed, 239 insertions(+), 18 deletions(-) - -diff --git a/ChangeLog b/ChangeLog -index 97a398a..07b4aca 100644 ---- a/ChangeLog -+++ b/ChangeLog -@@ -1,3 +1,11 @@ -+2013-05-26 -+ * xinput: improve ValuatorClass (previously AxisClass), -+ add ScrollClass, TouchClass -+ * mark some font properties as atoms -+2013-05-21 -+ * xkb: add partial support for GetMap, GetNames and GetNamedIndicator -+2013-05-21 -+ * Add handling of GetAtomName - 2012-06-01 - * fix parsing of unusual QueryExtension requests - 2012-01-09 -diff --git a/NEWS b/NEWS -index b3c5f92..ae68c6c 100644 ---- a/NEWS -+++ b/NEWS -@@ -1,3 +1,6 @@ -+new after 1.3.1: -+- also remember atoms seen by GetAtomName -+- partial improvements to xkb, xinput, fontprops - new after 1.3.0: - - fix query extension parsing - new after 1.2.0: -diff --git a/atoms.c b/atoms.c -index e9b871f..9baf1cc 100644 ---- a/atoms.c -+++ b/atoms.c -@@ -87,7 +87,6 @@ const char *getAtom(struct connection *c UNUSED, uint32_t atom) { - } - void internAtom(struct connection *c UNUSED, uint32_t atom, struct atom *data) { - struct atom **p; -- uint32_t lastmask; - - if( atom <= CONSTANT_ATOMS ) { - free(data); -@@ -98,7 +97,6 @@ void internAtom(struct connection *c UNUSED, uint32_t atom, struct atom *data) { - data->atom = atom; - - p = &atom_root; -- lastmask = 0; - while( *p != NULL ) { - uint32_t k; - k = (*p)->atom; -diff --git a/configure.ac b/configure.ac -index 4787d59..1c32aa6 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -37,10 +37,12 @@ AC_CACHE_CHECK([Checking for _POSIX_TIMERS and _POSIX_MONOTONIC_CLOCK],[ac_cv_mo - - if test $ac_cv_monotonic_clock = yes ; then - AC_DEFINE([HAVE_MONOTONIC_CLOCK], 1, [Define if clock_gettime(CLOCK_MONOTONIC) should work]) -+ AC_CHECK_FUNC([clock_gettime],[],[ - AC_CHECK_LIB(rt, clock_gettime, [], [AC_MSG_ERROR([_POSIX_TIMERS suggests clock_gettime should work but it seems not to work, though])]) -+ ]) - fi - --AC_CHECK_FUNCS([strndup asprintf socket]) -+AC_CHECK_FUNCS([strndup asprintf socket tdestroy]) - if test $ac_cv_func_socket = no; then - AC_CHECK_LIB(socket, socket, [AC_DEFINE(HAVE_SOCKET) - LIBS="$LIBS -lsocket -lnsl"; break],[AC_MSG_ERROR([Could not find socket library function])]) -diff --git a/parse.c b/parse.c -index c79e56a..d3125f9 100644 ---- a/parse.c -+++ b/parse.c -@@ -174,12 +174,14 @@ struct expectedreply { - dt_UNKNOWN_EXTENSION, /* uextension used */ - dt_EXTENSION, /* extension used */ - dt_ATOM, /* atom used */ -+ dt_CARD32, /* card32 used */ - } data_type; - union { - void *data; - struct atom *atom; - const struct extension *extension; - struct unknownextension *uextension; -+ uint32_t card32; - } data; - unsigned long values[]; - }; -@@ -1505,6 +1507,20 @@ bool requestInternAtom(struct connection *c, bool pre, bool bigrequest UNUSED, s - return false; - } - -+bool requestGetAtomName(struct connection *c, bool pre, bool bigrequest UNUSED, struct expectedreply *reply) { -+ uint32_t atom; -+ if( pre ) -+ return false; -+ if( reply == NULL) -+ return false; -+ if( c->clientignore < 8 ) -+ return false; -+ atom = clientCARD32(4); -+ reply->data_type = dt_CARD32; -+ reply->data.card32 = atom; -+ return false; -+} -+ - /* Reactions to some replies */ - - void replyListFontsWithInfo(struct connection *c, bool *ignore, bool *dontremove, struct expectedreply *dummy UNUSED) { -@@ -1562,6 +1578,16 @@ void replyInternAtom(struct connection *c, bool *ignore UNUSED, bool *dontremove - internAtom(c, atom, d->data.atom); - } - -+void replyGetAtomName(struct connection *c, bool *ignore UNUSED, bool *dontremove UNUSED, struct expectedreply *d) { -+ struct atom *atom; -+ uint16_t len; -+ if( d->data_type != dt_CARD32 || d->data.card32 == 0 ) -+ return; -+ len = serverCARD16(8); -+ atom = newAtom((const char *)c->serverbuffer+32, len); -+ internAtom(c, d->data.card32, atom); -+} -+ - #define ft_COUNT8 ft_STORE8 - #define ft_COUNT16 ft_STORE16 - #define ft_COUNT32 ft_STORE32 -@@ -1794,7 +1820,7 @@ static inline void print_server_event(struct connection *c) { - - - static inline void print_server_reply(struct connection *c) { -- unsigned int cmd,seq; -+ unsigned int seq; - struct expectedreply *replyto,**lastp; - size_t len; - unsigned long stackvalues[30]; -@@ -1808,7 +1834,6 @@ static inline void print_server_reply(struct connection *c) { - if( len > c->servercount ) - len = c->servercount; - -- cmd = serverCARD8(1); - seq = serverCARD16(2); - for( lastp = &c->expectedreplies ; - (replyto=*lastp) != NULL ; lastp=&replyto->next){ -diff --git a/parse.h b/parse.h -index e7dcdb6..e3c8a88 100644 ---- a/parse.h -+++ b/parse.h -@@ -167,8 +167,10 @@ extern const struct parameter *setup_parameters; - /* special handlers, for the SPECIAL requests/events */ - extern request_func requestQueryExtension; - extern request_func requestInternAtom; -+extern request_func requestGetAtomName; - extern reply_func replyListFontsWithInfo; - extern reply_func replyQueryExtension; - extern reply_func replyInternAtom; -+extern reply_func replyGetAtomName; - - #endif -diff --git a/requests.proto b/requests.proto -index dc74386..57466fa 100644 ---- a/requests.proto -+++ b/requests.proto -@@ -111,7 +111,7 @@ CirculateWindow - GetGeometry RESPONDS - QueryTree RESPONDS - InternAtom RESPONDS SPECIAL --GetAtomName RESPONDS -+GetAtomName RESPONDS SPECIAL - ChangeProperty - DeleteProperty - GetProperty RESPONDS /* 20*/ -@@ -1023,6 +1023,29 @@ TYPE 32bits CARD32 - - LIST FONTPROP length 8 - 0 name ATOM -+IF 0 ATOM "FONT" -+4 value ATOM -+ELSEIF 0 ATOM "FAMILY_NAME" -+4 value ATOM -+ELSEIF 0 ATOM "FOUNDRY" -+4 value ATOM -+ELSEIF 0 ATOM "FACE_NAME" -+4 value ATOM -+ELSEIF 0 ATOM "COPYRIGHT" -+4 value ATOM -+ELSEIF 0 ATOM "NOTICE" -+4 value ATOM -+ELSEIF 0 ATOM "CHARSET_REGISTRY" -+4 value ATOM -+ELSEIF 0 ATOM "CHARSET_ENCODING" -+4 value ATOM -+ELSEIF 0 ATOM "FONT_TYPE" -+4 value ATOM -+ELSEIF 0 ATOM "SLANT" -+4 value ATOM -+ELSEIF 0 ATOM "FULL_NAME" -+4 value ATOM -+ELSE - 4 value 32bits - END - -diff --git a/translate.c b/translate.c -index 134cf40..05dae42 100644 ---- a/translate.c -+++ b/translate.c -@@ -1141,7 +1141,7 @@ static bool parse_parameters(struct parser *parser, struct variable *variable, b - } - if( strcmp(position, "SIZE") == 0 ) { - const char *v; -- unsigned long t = 1; -+ //unsigned long t = 1; - - v = get_const_token(parser, false); - if( v == NULL ) -@@ -1180,8 +1180,8 @@ static bool parse_parameters(struct parser *parser, struct variable *variable, b - } - error(parser, "'TIMES' not yet supported!"); - continue; -- v = get_const_token(parser, false); -- t = parse_number(parser, v); -+ //v = get_const_token(parser, false); -+ //t = parse_number(parser, v); - } - no_more_arguments(parser); - state->sizemarker_set = true; -@@ -2183,11 +2183,13 @@ bool translate(struct parser *parser, const char *name) { - return false; - } - -+#ifdef HAVE_TDESTROY - static void free_varname(void *nodep) { - struct varname *vn = nodep; - variable_unref(vn->variable); - free(vn); - } -+#endif - - bool parser_free(struct parser *parser) { - bool success = !parser->error; -@@ -2198,12 +2200,18 @@ bool parser_free(struct parser *parser) { - struct namespace *ns = parser->namespaces; - parser->namespaces = ns->next; - int i; -+#ifdef HAVE_TDESTROY - enum variable_type vt; -+#endif - - assert( ns->refcount == 0 ); -+#ifdef HAVE_TDESTROY - for( vt = 0 ; vt < vt_COUNT ; vt ++ ) { - tdestroy(ns->variables[vt], free_varname); - } -+#else -+#warning Not freeing some memory as your libc lacks tdestroy -+#endif - free(ns->name); - free(ns->extension); - for( i = 0 ; i < ns->num_requests ; i++ ) { -@@ -2456,6 +2464,9 @@ static const struct request *finalize_requests(struct parser *parser, struct nam - } else if( strcmp(rs[i].name, "ListFontsWithInfo") == 0 ) { - /* this should be changed to a general approach */ - rs[i].reply_func = replyListFontsWithInfo; -+ } else if( strcmp(rs[i].name, "GetAtomName") == 0) { -+ rs[i].request_func = requestGetAtomName; -+ rs[i].reply_func = replyGetAtomName; - } else { - fprintf(stderr, "No specials available for '%s::%s'!\n", - ns->name, rs[i].name); -diff --git a/xinput.proto b/xinput.proto -index 73ddad7..3d9d596 100644 ---- a/xinput.proto -+++ b/xinput.proto -@@ -1015,9 +1015,27 @@ TYPE SETofBUTTONMASK CARD32 - CONSTANTS class - 0 KeyClass - 1 ButtonClass --2 AxisClass -+2 ValuatorClass -+3 ScrollClass -+8 TouchClass - END - -+CONSTANTS scrolltype -+1 vertical -+2 horizontal -+END -+TYPE ScrollType ENUM32 scrolltype -+BITMASK scrollflag -+1<<0 NoEmulation -+1<<1 Preferred -+END -+TYPE ScrollFlag BITMASK32 scrollflag -+CONSTANTS touchmode -+1 DirectTouch -+2 DependentTouch -+END -+TYPE TouchMode ENUM8 touchmode -+ - LIST CLASS variable min-length 8 - 0 type ENUM16 class - 2 length COUNT16 -@@ -1029,15 +1047,25 @@ ELSEIF 0 CARD16 $class:ButtonClass - 6 num_buttons COUNT16 - 8 state SETofBUTTONMASK - 12 labels LISTofATOM --ELSEIF 0 CARD16 $class:AxisClass --6 axisnumber COUNT16 -+ELSEIF 0 CARD16 $class:ValuatorClass -+6 number UINT16 - 8 label ATOM --12 min FRACTION32_32 --20 max FRACTION32_32 --28 value FRACTION32_32 -+12 min FP3232 -+20 max FP3232 -+28 value FP3232 - 36 resolution UINT32 - 40 mode CARD8 - NEXT 44 -+ELSEIF 0 CARD16 $class:ScrollClass -+6 number UINT16 -+8 type ScrollType -+12 flags ScrollFlag -+16 increment FP3232 -+NEXT 24 -+ELSEIF 0 CARD16 $class:TouchClass -+6 mode TouchMode -+7 touch_max UINT8 -+NEXT 8 - ELSE - 0 pad LISTofCARD32 - END -diff --git a/xkb.proto b/xkb.proto -index c747133..a88b78a 100644 ---- a/xkb.proto -+++ b/xkb.proto -@@ -11,16 +11,16 @@ GetState RESPONDS UNSUPPORTED /* 4 */ - LatchLockState UNSUPPORTED /* 5 */ - GetControls RESPONDS UNSUPPORTED /* 6 */ - SetControls UNSUPPORTED /* 7 */ --GetMap RESPONDS UNSUPPORTED /* 8 */ -+GetMap RESPONDS /* 8 */ - SetMap UNSUPPORTED /* 9 */ - GetCompatMap RESPONDS UNSUPPORTED /* 10 */ - SetCompatMap UNSUPPORTED /* 11 */ - GetIndicatorState RESPONDS UNSUPPORTED /* 12 */ - GetIndicatorMap RESPONDS UNSUPPORTED /* 13 */ - SetIndicatorMap UNSUPPORTED /* 14 */ --GetNamedIndicator RESPONDS UNSUPPORTED /* 15 */ -+GetNamedIndicator RESPONDS /* 15 */ - SetNamedIndicator UNSUPPORTED /* 16 */ --GetNames RESPONDS UNSUPPORTED /* 17 */ -+GetNames RESPONDS /* 17 */ - SetNames UNSUPPORTED /* 18 */ - GetGeometry RESPONDS UNSUPPORTED /* 19 */ - SetGeometry UNSUPPORTED /* 20 */ -@@ -82,6 +82,127 @@ REQUEST Bell - 24 window WINDOW - END - -+TYPE KEYCODE UINT8 -+ -+REQUEST GetMap -+ 4 deviceSpec DEVICESPEC -+ 6 full UINT16 -+ 8 partial UINT16 -+10 firstType UINT8 -+11 nTypes UINT8 -+12 firstKeySym KEYCODE -+13 nKeySyms UINT8 -+14 firstKeyAct KEYCODE -+15 nKeyActs UINT8 -+16 firstKeyBehavior KEYCODE -+17 nKeyBehaviors UINT8 -+18 virtualMods UINT16 -+END -+ -+RESPONSE GetMap -+ 2 deviceID UINT8 -+10 minKeyCode KEYCODE -+11 maxKeyCode KEYCODE -+12 present UINT16 -+14 firstType UINT8 -+15 nTypes UINT8 -+16 totalTypes UINT8 -+17 firstKeySym KEYCODE -+18 totalSyms UINT16 -+20 nKeySyms UINT8 -+21 firstKeyAct KEYCODE -+22 totalActs UINT16 -+24 nKeyActs UINT8 -+25 firstKeyBehavior KEYCODE -+26 nKeyBehaviors UINT8 -+27 totalKeyBehaviors UINT8 -+28 firstKeyExplicit KEYCODE -+29 nKeyExplicit UINT8 -+30 totalKeyExplicit UINT8 -+31 firstModMapKey KEYCODE -+32 nModMapKeys UINT8 -+33 totalModMapKeys UINT8 -+34 firstVModMapKey KEYCODE -+35 nVModMapKeys UINT8 -+36 totalVModMapKeys UINT8 -+38 virtualMods UINT16 -+# TODO -+40 not-yet-supported LISTofCARD8 -+END -+ -+BITMASK namedetailmask -+ 1 keycodes -+ 2 geometry -+ 4 symbols -+ 8 phys_symbols -+ 16 type -+ 32 compat -+ 64 key_type_names -+ 128 key_type_level_names -+ 256 indicators -+ 512 key_names -+1024 key_aliases -+2048 vmods -+4096 groups -+8192 radio_groups -+END -+ -+REQUEST GetNames -+ 4 deviceSpec DEVICESPEC -+ 8 which BITMASK32 namedetailmask -+END -+ -+RESPONSE GetNames -+ 1 deviceID UINT8 -+ 8 which BITMASK32 namedetailmask -+12 minKeyCode KEYCODE -+13 maxKeyCode KEYCODE -+14 nTypes UINT8 -+15 groupNames UINT8 -+16 virtualMods UINT16 -+18 firstKey KEYCODE -+19 nKeys UINT8 -+20 indicators CARD32 -+24 nRadioGroups UINT8 -+25 nKeyAliases UINT8 -+26 nKTLevels UINT16 -+# TODO -+32 valueList LISTofCARD8 -+END -+ -+CONSTANTS LEDCLASSSPEC -+0 KbdFeedbackClass -+4 LedFeedbackClass -+0x0300 DfltXIClass -+0x0500 AllXIClasses -+0xff00 XINone -+END -+ -+REQUEST GetNamedIndicator -+ 4 deviceSpec DEVICESPEC -+ 6 ledClass ENUM16 LEDCLASSSPEC -+ 8 ledID IDSPEC -+12 indicator ATOM -+END -+ -+RESPONSE GetNamedIndicator -+ 1 deviceID UINT8 -+ 8 indicator ATOM -+12 found BOOL -+13 on BOOL -+14 realIndicator BOOL -+15 ndx UINT8 -+16 flags CARD8 -+17 whichGroups CARD8 -+18 groups CARD8 -+19 whichMods CARD8 -+20 mods CARD8 -+21 realMods CARD8 -+22 virtualMods CARD16 -+24 ctrls CARD32 -+28 supported BOOL -+END -+ - EVENT XkbEvent - # all events packaged into one? WTF? - 1 type UINT8 diff --git a/xtrace-1.3.1-use-AC_CONFIG_HEADERS.patch b/xtrace-1.3.1-use-AC_CONFIG_HEADERS.patch deleted file mode 100644 index 665b3cf..0000000 --- a/xtrace-1.3.1-use-AC_CONFIG_HEADERS.patch +++ /dev/null @@ -1,23 +0,0 @@ -Use AC_CONFIG_HEADERS() instead of AM_CONFIG_HEADER() - -From: David Howells - -Use AC_CONFIG_HEADERS() instead of AM_CONFIG_HEADER() as the latter is -obsolete. ---- - configure.ac | 2 +- - 1 file changed, 1 insertion(+), 1 deletion(-) - -diff --git a/configure.ac b/configure.ac -index 1c32aa6..5277115 100644 ---- a/configure.ac -+++ b/configure.ac -@@ -5,7 +5,7 @@ dnl - AC_INIT(xtrace, 1.3.1, brlink@debian.org) - AC_CONFIG_SRCDIR(main.c) - AC_CONFIG_AUX_DIR(ac) --AM_CONFIG_HEADER(config.h) -+AC_CONFIG_HEADERS(config.h) - AM_INIT_AUTOMAKE([-Wall -Werror]) - - AM_MAINTAINER_MODE diff --git a/xtrace.spec b/xtrace.spec deleted file mode 100644 index d163ff8..0000000 --- a/xtrace.spec +++ /dev/null @@ -1,76 +0,0 @@ -Summary: A program for X11 protocol tracing -Name: xtrace -Version: 1.3.1 -License: GPLv2 -URL: http://xtrace.alioth.debian.org/ - -# Please set buildid below when building a private version of this rpm to -# differentiate it from the stock rpm. -# -# % global buildid .local - -Release: 7%{?buildid}%{?dist} - -Source0: ftp://ftp.debian.org/debian/pool/main/x/xtrace/xtrace_%{version}.orig.tar.gz - -# Bring the sources up to the head of the git master branch. -Patch1: xtrace-1.3.1-git-HEAD.patch - -# AM_CONFIG_HEADER() is obsolete - use AC_CONFIG_HEADERS instead. -Patch2: xtrace-1.3.1-use-AC_CONFIG_HEADERS.patch - -BuildRequires: automake autoconf -BuildRequires: libX11-devel -BuildRequires: libXext-devel -BuildRequires: xorg-x11-proto-devel - -%description -What strace is for system calls, xtrace is for X11 connections: -you hook it between one or more X11 clients and an X server and -it prints the requests going from client to server and the replies, -events and errors going the other way. - -%prep -%setup -q -%patch1 -p1 -%patch2 -p1 -autoreconf -i -%configure - -%build -make %{?_smp_mflags} - -%install -make install DESTDIR=%{buildroot} INSTALL="install -p" - -%files -%doc AUTHORS COPYING NEWS README -%{_bindir}/* -%{_datadir}/xtrace/*.proto -%{_mandir}/man1/* - - -%changelog -* Mon Aug 18 2014 Fedora Release Engineering - 1.3.1-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_22_Mass_Rebuild - -* Sun Jun 08 2014 Fedora Release Engineering - 1.3.1-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_21_Mass_Rebuild - -* Fri Mar 28 2014 David Howells - 1.3.1-5 -- Use % global rather than % define. - -* Wed Mar 26 2014 David Howells - 1.3.1-4 -- AM_CONFIG_HEADER is obsolete - use AC_CONFIG_HEADERS instead. - -* Wed Feb 26 2014 David Howells - 1.3.1-3 -- Rename the patch that brings the source up to date with git. -- Include derivation information in the patch. -- Fixed up review comments on the specfile. - -* Fri Feb 21 2014 David Howells - 1.3.1-2 -- Fixed up review comments on the specfile. - -* Thu Feb 20 2014 David Howells - 1.3.1-1 -- Initial packaging. -- Apply new changes from git as a patch.