Package: jabberd14 Version: 1.6.1.1-3 Severity: serious Tags: patch Please see attached the failed build log with g++-4.4. Also, please see attached a quick and dirty patch to solve this.
-- System Information: Debian Release: squeeze/sid APT prefers unstable APT policy: (500, 'unstable') Architecture: i386 (i686) Kernel: Linux 2.6.21.7-2.fc8xen-ec2-v1.0 (SMP w/1 CPU core) Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Versions of packages jabberd14 depends on: ii adduser 3.111 add and remove users and groups ii libc6 2.10.2-2 GNU C Library: Shared libraries ii libgcc1 1:4.4.2-4 GCC support library ii libidn11 1.15-2 GNU Libidn library, implementation ii libjabberd2 1.6.1.1-3 Runtime library for the Jabber/XMP ii libmysqlclient16 5.1.41-3 MySQL database client library ii libpopt0 1.15-1 lib for parsing cmdline parameters ii libpq5 8.4.1-1 PostgreSQL C client library ii libpth20 2.0.7-14 The GNU Portable Threads ii libstdc++6 4.4.2-4 The GNU Standard C++ Library v3 ii lsb-base 3.2-23 Linux Standard Base 3.2 init scrip ii openssl 0.9.8k-7 Secure Socket Layer (SSL) binary a jabberd14 recommends no packages. jabberd14 suggests no packages. -- no debconf information -- Miguel Landaeta, miguel at miguel.cc secure email with PGP 0x7D8967E9 available at http://keyserver.pgp.com/ "Faith means not wanting to know what is true." -- Nietzsche
jabberd14_1.6.1.1-4_i386.build
Description: Binary data
diff --git a/debian/patches/00list b/debian/patches/00list index eae1970..a868cc9 100644 --- a/debian/patches/00list +++ b/debian/patches/00list @@ -3,3 +3,4 @@ fix_gnutls_api_changes fix_dpkg_shlibdeps_warning fix_installdir_locales fix_getaddrinfo_test +fix_g++-4.4_ftbfs diff --git a/debian/patches/fix_g++-4.4_ftbfs.dpatch b/debian/patches/fix_g++-4.4_ftbfs.dpatch new file mode 100755 index 0000000..05f591b --- /dev/null +++ b/debian/patches/fix_g++-4.4_ftbfs.dpatch @@ -0,0 +1,62 @@ +#! /bin/sh -e +## fix_g++-4.4_ftbfs.dpatch by Miguel Landaeta <mig...@miguel.cc> +## +## All lines beginning with `## DP:' are a description of the patch. +## DP: quick and dirty hack to allow jabberd14 compilation under +## DP: g++-4.4, a more stricter compiler than previous versions. + + +[ -f debian/patches/00patch-opts ] && . debian/patches/00patch-opts +patch_opts="${patch_opts:--f --no-backup-if-mismatch}" + +if [ $# -ne 1 ]; then + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1 +fi +case "$1" in + -patch) patch $patch_opts -p1 < $0;; + -unpatch) patch $patch_opts -Rp1 < $0;; + *) + echo >&2 "`basename $0`: script expects -patch|-unpatch as argument" + exit 1;; +esac + +exit 0 +...@dpatch@ +diff --git a/jabberd/lib/xmlnode.cc b/jabberd/lib/xmlnode.cc +index 28ef9fe..d3aa513 100644 +--- a/jabberd/lib/xmlnode.cc ++++ b/jabberd/lib/xmlnode.cc +@@ -910,8 +910,8 @@ xmlnode_list_item xmlnode_get_tags(xmlnode context_node, const char *path, xht n + } + + /* separate this step from the next one, and check for a predicate in this step */ +- start_predicate = strchr(path, '['); +- next_step = strchr(path, '/'); ++ start_predicate = strchr((char*)path, '['); ++ next_step = strchr((char*)path, '/'); + if (start_predicate == NULL && next_step == NULL) { + this_step = pstrdup(p, path); + } else if (start_predicate == NULL || start_predicate > next_step && next_step != NULL) { +@@ -1833,7 +1833,7 @@ xmlnode xmlnode_select_by_lang(xmlnode_list_item nodes, const char* lang) { + if (lang != NULL && strchr(lang, '-') != NULL) { + snprintf(general_lang, sizeof(general_lang), "%s", lang); + if (strchr(lang, '-') != NULL) { +- strchr(lang, '-')[0] = 0; ++ strchr((char*)lang, '-')[0] = 0; + } else { + general_lang[0] = 0; + } +diff --git a/jabberd/log.cc b/jabberd/log.cc +index 230c7d0..9a7bd13 100644 +--- a/jabberd/log.cc ++++ b/jabberd/log.cc +@@ -86,7 +86,7 @@ static inline int _debug_log_zonefilter(char const* zone) { + char *pos, c = '\0'; + if(zone != NULL && debug__zones != NULL) + { +- pos = strchr(zone,'.'); ++ pos = strchr((char *)zone,'.'); + if(pos != NULL) + { + c = *pos;