package: irssi-plugin-xmpp version: 0.13+cvs20090406-1 severity: serious tags: patch
The ia64 buildd has a build log filter looking for implicit conversions of function results to pointers (because they belive they are almost certain to cause the app to segfault and usually indicate an include screwup or similar), this filter detects "Function `strptime' implicitly converted to pointer at xep/datetime.c:83" and fails the build. Hence your package cannot currently be built on the IA64 autobuilders and therefore cannot migrate to testing.
To attack the issue of major warnings (stuff that would be errors in any modern langauge) I enabled -Werror then as each warning came up depending on it's severity either fixed it or added a -Wno-error=<warning type> for it. In doing so I also discovered I had to modify the makefiles a bit to make the upstream makefiles respect CFLAGS from debian/rules.
In the process of fixing warnings I have also fixed some code that didn't look like it could possiblly work (in get_jids in xmpp-completion.c) . Please check that the fix there is correct (i'm only doing flyby rc bug inspection, in this case looking at why the fixes for 521227 and 527697 aren't in testing.). I also had to add -Wno-error=uninitialized to make some code build which i'm not happy about but probablly needs real knowlage of the codebase to fix.
r...@debian:/irssi-plugin-xmpp-0.13+cvs20090406.new# dpkg-buildpackage 2>&1 | grep 'used uninitialized' rosters-tools.c:83: warning: ‘group_tmp’ may be used uninitialized in this function [-Wuninitialized] xep/fe-version.c:37: warning: ‘name’ may be used uninitialized in this function [-Wuninitialized]
r...@debian:/irssi-plugin-xmpp-0.13+cvs20090406.new#
diff -ur irssi-plugin-xmpp-0.13+cvs20090406/config.mk irssi-plugin-xmpp-0.13+cvs20090406.new/config.mk --- irssi-plugin-xmpp-0.13+cvs20090406/config.mk 2009-04-06 22:19:25.000000000 +0000 +++ irssi-plugin-xmpp-0.13+cvs20090406.new/config.mk 2009-05-23 22:14:01.000000000 +0000 @@ -21,7 +21,7 @@ LIBS = ${LIB_LIBS} # flags -CFLAGS = -fPIC -std=c99 -DUOFF_T_LONG ${INCS} +CFLAGS = ${DEBIAN_CFLAGS} -fPIC -std=c99 -DUOFF_T_LONG ${INCS} LDFLAGS = -shared ${LIBS} # debug diff -ur irssi-plugin-xmpp-0.13+cvs20090406/debian/rules irssi-plugin-xmpp-0.13+cvs20090406.new/debian/rules --- irssi-plugin-xmpp-0.13+cvs20090406/debian/rules 2009-05-23 22:29:39.000000000 +0000 +++ irssi-plugin-xmpp-0.13+cvs20090406.new/debian/rules 2009-05-23 22:15:18.000000000 +0000 @@ -4,7 +4,8 @@ # Uncomment this to turn on verbose mode. #export DH_VERBOSE=1 -CFLAGS = -Wall -g + +CFLAGS = -Wall -g -Werror -fdiagnostics-show-option -Wno-error=unused-parameter -Wno-error=empty-body -Wno-error=uninitialized -Wno-error=unused-variable -Wno-error=unused-parameter -Wno-error=unused-function ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS))) CFLAGS += -O0 @@ -12,6 +13,8 @@ CFLAGS += -O2 endif +export DEBIAN_CFLAGS=${CFLAGS} + build: build-stamp build-stamp: diff -ur irssi-plugin-xmpp-0.13+cvs20090406/src/core/xep/datetime.c irssi-plugin-xmpp-0.13+cvs20090406.new/src/core/xep/datetime.c --- irssi-plugin-xmpp-0.13+cvs20090406/src/core/xep/datetime.c 2009-04-06 22:19:32.000000000 +0000 +++ irssi-plugin-xmpp-0.13+cvs20090406.new/src/core/xep/datetime.c 2009-05-23 21:39:55.000000000 +0000 @@ -21,6 +21,9 @@ * XEP-0082: XMPP Date and Time Profiles */ +//according to the manpage we need this #define to get strptime +#define _XOPEN_SOURCE + #include <ctype.h> #include <stdlib.h> #include <string.h> diff -ur irssi-plugin-xmpp-0.13+cvs20090406/src/core/xep/muc-nicklist.c irssi-plugin-xmpp-0.13+cvs20090406.new/src/core/xep/muc-nicklist.c --- irssi-plugin-xmpp-0.13+cvs20090406/src/core/xep/muc-nicklist.c 2009-04-06 22:19:31.000000000 +0000 +++ irssi-plugin-xmpp-0.13+cvs20090406.new/src/core/xep/muc-nicklist.c 2009-05-23 21:42:21.000000000 +0000 @@ -179,15 +179,15 @@ switch (affiliation) { case XMPP_NICKLIST_AFFILIATION_OWNER: nick->prefixes[0] = '&'; - nick->prefixes[1] = NULL; + nick->prefixes[1] = 0; nick->op = TRUE; break; case XMPP_NICKLIST_AFFILIATION_ADMIN: - nick->prefixes[0] = NULL; + nick->prefixes[0] = 0; nick->op = TRUE; break; default: - nick->prefixes[0] = NULL; + nick->prefixes[0] = 0; nick->op = FALSE; } switch (role) { diff -ur irssi-plugin-xmpp-0.13+cvs20090406/src/core/xep/oob.c irssi-plugin-xmpp-0.13+cvs20090406.new/src/core/xep/oob.c --- irssi-plugin-xmpp-0.13+cvs20090406/src/core/xep/oob.c 2009-04-06 22:19:31.000000000 +0000 +++ irssi-plugin-xmpp-0.13+cvs20090406.new/src/core/xep/oob.c 2009-05-23 21:47:38.000000000 +0000 @@ -50,7 +50,7 @@ url_recoded = xmpp_recode_in(url); if (desc != NULL) { desc_recoded = xmpp_recode_in(desc); - str = g_strconcat(desc_recoded, ": ", url_recoded); + str = g_strconcat(desc_recoded, ": ", url_recoded,NULL); g_free(url_recoded); g_free(desc_recoded); } else diff -ur irssi-plugin-xmpp-0.13+cvs20090406/src/fe-common/xmpp-completion.c irssi-plugin-xmpp-0.13+cvs20090406.new/src/fe-common/xmpp-completion.c --- irssi-plugin-xmpp-0.13+cvs20090406/src/fe-common/xmpp-completion.c 2009-04-06 22:19:27.000000000 +0000 +++ irssi-plugin-xmpp-0.13+cvs20090406.new/src/fe-common/xmpp-completion.c 2009-05-23 21:55:45.000000000 +0000 @@ -89,14 +89,14 @@ user = (XMPP_ROSTER_USER_REC *)ul->data; if (strncmp(user->jid, jid, len) == 0) { if (user->resources != NULL) - g_list_append(list, user->jid); + list=g_list_append(list, user->jid); else - g_list_append(offlist, user->jid); + offlist=g_list_append(offlist, user->jid); } else if (g_strncasecmp(user->jid, jid, len) == 0) { if (user->resources != NULL) - g_list_append(list_case, user->jid); + list_case=g_list_append(list_case, user->jid); else - g_list_append(offlist_case, user->jid); + offlist_case=g_list_append(offlist_case, user->jid); } } } diff -ur irssi-plugin-xmpp-0.13+cvs20090406/src/rules.mk irssi-plugin-xmpp-0.13+cvs20090406.new/src/rules.mk --- irssi-plugin-xmpp-0.13+cvs20090406/src/rules.mk 2009-04-06 22:19:25.000000000 +0000 +++ irssi-plugin-xmpp-0.13+cvs20090406.new/src/rules.mk 2009-05-23 21:23:31.000000000 +0000 @@ -1,4 +1,6 @@ # $Id: rules.mk,v 1.6 2008/08/15 00:25:21 cdidier Exp $ +# modified by plugw...@p10link.net to report what it's actually doing rather than +# only part of what it's doing include ../../config.mk @@ -7,12 +9,10 @@ all: ${LIB} .c.o: - @echo ${CC} -c $< - @${CC} -c $< -o $@ ${CFLAGS} + ${CC} -c $< -o $@ ${CFLAGS} ${LIB}: ${OBJS} - @echo ${CC} -o l...@.so - @${CC} -o l...@.so ${OBJS} ${LDFLAGS} + ${CC} -o l...@.so ${OBJS} ${LDFLAGS} clean: @echo cleaning