Control: tags 778140 + patch
Control: tags 778140 + pending

Dear maintainer,

I've prepared an NMU for tcpcopy (versioned as 0.6.3-2.1) and
uploaded it to DELAYED/5. Please feel free to tell me if I
should delay it longer.

Regards.

-- 
 .''`.  Homepage: http://info.comodo.priv.at/ - OpenPGP key 0xBB3A68018649AA06
 : :' : Debian GNU/Linux user, admin, and developer -  https://www.debian.org/
 `. `'  Member of VIBE!AT & SPI, fellow of the Free Software Foundation Europe
   `-   NP: Flying Pickets: Blowing Away
diff -Nru tcpcopy-0.6.3/debian/changelog tcpcopy-0.6.3/debian/changelog
--- tcpcopy-0.6.3/debian/changelog	2013-10-14 15:26:12.000000000 +0200
+++ tcpcopy-0.6.3/debian/changelog	2015-07-23 21:48:38.000000000 +0200
@@ -1,3 +1,12 @@
+tcpcopy (0.6.3-2.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * Fix "ftbfs with GCC-5", add patch, backported from upstream git, to handle
+    changed inline semantics.
+    (Closes: #778140)
+
+ -- gregor herrmann <gre...@debian.org>  Thu, 23 Jul 2015 21:48:18 +0200
+
 tcpcopy (0.6.3-2) unstable; urgency=low
 
   * Add iptables-dev to Build-Dep (Closes: #707405).
diff -Nru tcpcopy-0.6.3/debian/patches/gnu99.patch tcpcopy-0.6.3/debian/patches/gnu99.patch
--- tcpcopy-0.6.3/debian/patches/gnu99.patch	1970-01-01 01:00:00.000000000 +0100
+++ tcpcopy-0.6.3/debian/patches/gnu99.patch	2015-07-23 21:48:14.000000000 +0200
@@ -0,0 +1,241 @@
+Origin: upstream git,
+ https://github.com/wangbin579/tcpcopy/commit/6419499ab372a69f98af04ee28908c3670658b13
+Bug-Debian: https://bugs.debian.org/778140
+Reviewed-by: gregor herrmann <gre...@debian.org>
+Last-Update: 2015-07-23
+Applied-Upstream: yes
+
+From 6419499ab372a69f98af04ee28908c3670658b13 Mon Sep 17 00:00:00 2001
+From: wangbin579 <wangbin...@gmail.com>
+Date: Sat, 8 Feb 2014 17:25:03 +0800
+Subject: [PATCH] Fix the gnu99 problem
+
+---
+ src/core/tc_common.c     |  2 +-
+ src/core/tc_hash.c       |  4 ++--
+ src/core/tc_hash.h       |  2 +-
+ src/core/tc_link_list.c  | 20 ++++++++++----------
+ src/core/tc_link_list.h  | 20 ++++++++++----------
+ src/core/xcopy.h         |  2 +-
+ src/mysql/protocol.c     |  7 -------
+ src/tcpcopy/tc_session.c |  2 +-
+ src/util/tc_util.c       |  8 ++++----
+ src/util/tc_util.h       |  8 ++++----
+ 10 files changed, 34 insertions(+), 41 deletions(-)
+
+--- a/src/core/tc_hash.c
++++ b/src/core/tc_hash.c
+@@ -19,7 +19,7 @@ hash_node_malloc(uint64_t key, void *dat
+     return hn;
+ }
+ 
+-static inline uint32_t
++static uint32_t
+ get_slot(uint64_t key, uint32_t size)
+ {
+     uint32_t trim_key = key & (0xFFFFFFFF);
+@@ -81,7 +81,7 @@ hash_create(size_t size)
+     return ht;
+ }
+ 
+-inline link_list *
++link_list *
+ get_link_list(hash_table *table, uint64_t key)
+ {
+     uint32_t slot = get_slot(key, table->size);
+--- a/src/core/tc_hash.h
++++ b/src/core/tc_hash.h
+@@ -21,7 +21,7 @@ typedef struct hash_table_s{
+ }hash_table_t, hash_table;
+ 
+ hash_table *hash_create(size_t size);
+-inline link_list_t *get_link_list(hash_table *table, uint64_t key);
++link_list_t *get_link_list(hash_table *table, uint64_t key);
+ void hash_set_timeout(hash_table*, int);
+ bool hash_add(hash_table*, uint64_t, void *);
+ void *hash_find(hash_table*, uint64_t);
+--- a/src/core/tc_link_list.c
++++ b/src/core/tc_link_list.c
+@@ -15,7 +15,7 @@ link_node_malloc(void *data)
+     return p;
+ }
+ 
+-inline void
++void
+ link_node_internal_free(p_link_node p)
+ {
+     if (p->data != NULL) {
+@@ -63,7 +63,7 @@ link_list_clear(link_list *l)
+ 
+ }
+ 
+-inline void
++void
+ link_list_append(link_list *l, p_link_node p)
+ {
+     p_link_node node;
+@@ -100,7 +100,7 @@ link_list_append_by_order(link_list *l,
+     }
+ }
+ 
+-inline void
++void
+ link_list_push(link_list *l, p_link_node p)
+ {
+     p_link_node node;
+@@ -113,7 +113,7 @@ link_list_push(link_list *l, p_link_node
+     l->size++;
+ }
+ 
+-inline p_link_node
++p_link_node
+ link_list_remove(link_list *l, p_link_node node)
+ {
+     p_link_node next, prev;
+@@ -126,7 +126,7 @@ link_list_remove(link_list *l, p_link_no
+     return node;
+ }
+ 
+-inline p_link_node
++p_link_node
+ link_list_first(link_list *l)
+ {
+     if (l->head.next == &(l->head)) {
+@@ -136,7 +136,7 @@ link_list_first(link_list *l)
+     return l->head.next;
+ }
+ 
+-inline p_link_node
++p_link_node
+ link_list_tail(link_list *l)
+ {
+     if (l->head.next == &(l->head)) {
+@@ -146,7 +146,7 @@ link_list_tail(link_list *l)
+     return l->head.prev;
+ }
+ 
+-inline p_link_node
++p_link_node
+ link_list_pop_first(link_list *l)
+ {
+     p_link_node first = link_list_first(l);
+@@ -158,7 +158,7 @@ link_list_pop_first(link_list *l)
+     return link_list_remove(l, first);
+ }
+ 
+-inline p_link_node
++p_link_node
+ link_list_pop_tail(link_list *l)
+ {
+     p_link_node tail = link_list_tail(l);
+@@ -170,7 +170,7 @@ link_list_pop_tail(link_list *l)
+     return link_list_remove(l, tail);
+ }
+ 
+-inline p_link_node
++p_link_node
+ link_list_get_next(link_list *l, p_link_node p)
+ {
+     if (p->next == &(l->head)) {
+@@ -180,7 +180,7 @@ link_list_get_next(link_list *l, p_link_
+     return p->next;
+ } 
+ 
+-inline bool
++bool
+ link_list_is_empty(link_list *l)
+ {
+     if (l->head.next == &(l->head)) {
+--- a/src/core/tc_link_list.h
++++ b/src/core/tc_link_list.h
+@@ -18,20 +18,20 @@ typedef struct link_list_s{
+ 
+ 
+ p_link_node link_node_malloc(void *data);
+-inline void link_node_internal_free(p_link_node p);
++void link_node_internal_free(p_link_node p);
+ 
+ link_list *link_list_create();
+ int link_list_clear(link_list *l);
+-inline void link_list_append(link_list *l, p_link_node);
++void link_list_append(link_list *l, p_link_node);
+ void link_list_append_by_order(link_list *l, p_link_node);
+-inline void link_list_push(link_list *l, p_link_node p);
+-inline p_link_node link_list_remove(link_list *l, p_link_node node);
+-inline p_link_node link_list_first(link_list *l);
+-inline p_link_node link_list_tail(link_list *l);
+-inline p_link_node link_list_pop_first(link_list *l);
+-inline p_link_node link_list_pop_tail(link_list *l);
+-inline p_link_node link_list_get_next(link_list *l, p_link_node p);
+-inline bool link_list_is_empty(link_list *l);
++void link_list_push(link_list *l, p_link_node p);
++p_link_node link_list_remove(link_list *l, p_link_node node);
++p_link_node link_list_first(link_list *l);
++p_link_node link_list_tail(link_list *l);
++p_link_node link_list_pop_first(link_list *l);
++p_link_node link_list_pop_tail(link_list *l);
++p_link_node link_list_get_next(link_list *l, p_link_node p);
++bool link_list_is_empty(link_list *l);
+ 
+ #endif /* _LINK_LIST_H_INC */
+ 
+--- a/src/mysql/protocol.c
++++ b/src/mysql/protocol.c
+@@ -4,13 +4,6 @@
+ #include "protocol.h"
+ #include "password.h"
+ 
+-static inline unsigned char
+-char_val(unsigned char X)
+-{
+-    return (unsigned char) (X >= '0' && X <= '9' ? X-'0':
+-            X >= 'A' && X <= 'Z' ? X - 'A' + 10 : X - 'a' + 10);
+-}
+-
+ static void
+ new_hash(uint64_t *result, const char *password)
+ {
+--- a/src/tcpcopy/tc_session.c
++++ b/src/tcpcopy/tc_session.c
+@@ -738,7 +738,7 @@ mysql_dispose_auth(session_t *s, tc_ip_h
+  * If packet's syn and ack are not according to the tcp protocol,
+  * it may be mistaken to be a greeting packet
+  */
+-static inline bool
++static bool
+ is_wait_greet(session_t *s, tc_ip_header_t *ip_header,
+         tc_tcp_header_t *tcp_header)
+ {
+--- a/src/util/tc_util.c
++++ b/src/util/tc_util.c
+@@ -2,7 +2,7 @@
+ #include <xcopy.h>
+ #include <tcpcopy.h>
+ 
+-inline uint64_t
++uint64_t
+ get_key(uint32_t ip, uint16_t port)
+ {
+     uint64_t value = ((uint64_t) ip ) << 16;
+@@ -12,7 +12,7 @@ get_key(uint32_t ip, uint16_t port)
+     return value;
+ }
+ 
+-inline uint16_t
++uint16_t
+ get_appropriate_port(uint16_t orig_port, uint16_t add)
+ {
+     uint16_t dest_port = orig_port;
+--- a/src/util/tc_util.h
++++ b/src/util/tc_util.h
+@@ -10,8 +10,8 @@
+ #define TCP_PAYLOAD_LENGTH(iph, tcph) \
+         (ntohs(iph->tot_len) - IP_HDR_LEN(iph) - TCP_HDR_LEN(tcph))
+ 
+-inline uint64_t get_key(uint32_t s_ip, uint16_t s_port);
+-inline uint16_t get_appropriate_port(uint16_t orig_port, uint16_t add);
++uint64_t get_key(uint32_t s_ip, uint16_t s_port);
++uint16_t get_appropriate_port(uint16_t orig_port, uint16_t add);
+ uint16_t get_port_by_rand_addition(uint16_t orig_port);
+ uint16_t get_port_from_shift(uint16_t orig_port, uint16_t rand_port,
+         int shift_factor);
diff -Nru tcpcopy-0.6.3/debian/patches/series tcpcopy-0.6.3/debian/patches/series
--- tcpcopy-0.6.3/debian/patches/series	1970-01-01 01:00:00.000000000 +0100
+++ tcpcopy-0.6.3/debian/patches/series	2015-07-23 21:39:42.000000000 +0200
@@ -0,0 +1 @@
+gnu99.patch

Attachment: signature.asc
Description: Digital Signature

Reply via email to