Package: release.debian.org
Severity: normal
Tags: stretch
User: release.debian....@packages.debian.org
Usertags: pu

Hello,

wrk in stable is not functional due to #855118 [0], I'd like to
upload wrk_4.0.2-2~deb9u1 fixing the bug above, plus an FTBFS on mips
architectures.

[0] http://bugs.debian.org/855118
[1] http://bugs.debian.org/801881

Vcs commits:
https://anonscm.debian.org/cgit/collab-maint/wrk.git/commit/?h=debian&id=f83391282fc9c80380dd64e91f269c6e8e16289d
https://anonscm.debian.org/cgit/collab-maint/wrk.git/commit/?h=debian&id=a81e6cc12f24f8f980a88fcae9a37c8507abb546

I am attaching the relevant debdiff.
diff -Nru wrk-4.0.2/debian/changelog wrk-4.0.2/debian/changelog
--- wrk-4.0.2/debian/changelog  2016-10-03 03:16:03.000000000 +0300
+++ wrk-4.0.2/debian/changelog  2017-08-08 10:31:41.000000000 +0300
@@ -1,3 +1,18 @@
+wrk (4.0.2-2~deb9u1) stretch; urgency=medium
+
+  * Rebuild for stretch.
+
+ -- Christos Trochalakis <ctrochala...@debian.org>  Tue, 08 Aug 2017 10:31:41 
+0300
+
+wrk (4.0.2-2) unstable; urgency=medium
+
+  [ Christos Trochalakis ]
+  * Modify previous mips FTBFS patch rendering wrk unusable in all
+    architectures. Thanks to Rinat Ibragimov (Closes: #855118)
+  * Fix build on mips architectures (Closes: #801881)
+
+ -- Robert Edmonds <edmo...@debian.org>  Sat, 05 Aug 2017 16:04:19 -0400
+
 wrk (4.0.2-1) unstable; urgency=medium
 
   [ Robert Edmonds ]
diff -Nru wrk-4.0.2/debian/patches/debian-changes 
wrk-4.0.2/debian/patches/debian-changes
--- wrk-4.0.2/debian/patches/debian-changes     2016-10-03 03:16:03.000000000 
+0300
+++ wrk-4.0.2/debian/patches/debian-changes     2017-08-08 10:31:41.000000000 
+0300
@@ -10,15 +10,17 @@
 repository.
 --- wrk-4.0.2.orig/Makefile
 +++ wrk-4.0.2/Makefile
-@@ -1,21 +1,14 @@
- CFLAGS  += -std=c99 -Wall -O2 -D_REENTRANT
- LIBS    := -lpthread -lm -lssl -lcrypto
- 
--TARGET  := $(shell uname -s | tr '[A-Z]' '[a-z]' 2>/dev/null || echo unknown)
-+CFLAGS   += -std=c99 -Wall -D_REENTRANT -D_POSIX_C_SOURCE=200112L 
-D_BSD_SOURCE
+@@ -1,21 +1,11 @@
+-CFLAGS  += -std=c99 -Wall -O2 -D_REENTRANT
+-LIBS    := -lpthread -lm -lssl -lcrypto
++CFLAGS   += -O2 -std=c99 -Wall -D_REENTRANT -D_POSIX_C_SOURCE=200112L 
-D_BSD_SOURCE
 +LIBS     += -lpthread -lm -lcrypto -lssl
 +LDFLAGS  += -Wl,-E
  
+-TARGET  := $(shell uname -s | tr '[A-Z]' '[a-z]' 2>/dev/null || echo unknown)
++CFLAGS   += $(shell pkg-config --cflags luajit)
++LIBS     += $(shell pkg-config --libs luajit)
+ 
 -ifeq ($(TARGET), sunos)
 -      CFLAGS += -D_PTHREADS -D_POSIX_C_SOURCE=200112L
 -      LIBS   += -lsocket
@@ -32,14 +34,11 @@
 -      CFLAGS  += -D_DECLARE_C99_LDBL_MATH
 -      LDFLAGS += -Wl,-E
 -endif
-+CFLAGS   += $(shell pkg-config --cflags luajit)
-+LIBS     += $(shell pkg-config --libs luajit)
-+
 +CFLAGS   += $(CPPFLAGS)
  
  SRC  := wrk.c net.c ssl.c aprintf.c stats.c script.c units.c \
                ae.c zmalloc.c http_parser.c
-@@ -50,8 +43,7 @@ clean:
+@@ -50,8 +40,7 @@ clean:
        $(RM) -rf $(BIN) obj/*
  
  $(BIN): $(OBJ)
@@ -51,7 +50,7 @@
  
 --- wrk-4.0.2.orig/src/stats.c
 +++ wrk-4.0.2/src/stats.c
-@@ -21,12 +21,12 @@ void stats_free(stats *stats) {
+@@ -21,12 +21,21 @@ void stats_free(stats *stats) {
  
  int stats_record(stats *stats, uint64_t n) {
      if (n >= stats->limit) return 0;
@@ -63,8 +62,17 @@
      uint64_t max = stats->max;
 -    while (n < min) min = __sync_val_compare_and_swap(&stats->min, min, n);
 -    while (n > max) max = __sync_val_compare_and_swap(&stats->max, max, n);
-+    while (n < min) min = __atomic_compare_exchange(&stats->min, &min, &n, 
false,__ATOMIC_SEQ_CST,__ATOMIC_SEQ_CST);
-+    while (n > max) max = __atomic_compare_exchange(&stats->max, &max, &n, 
false,__ATOMIC_SEQ_CST,__ATOMIC_SEQ_CST);
++    while (n < min) {
++        __atomic_compare_exchange(&stats->min, &min, &n, false,
++                                  __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
++        min = stats->min;
++    }
++    while (n > max) {
++        __atomic_compare_exchange(&stats->max, &max, &n, false,
++                                  __ATOMIC_SEQ_CST, __ATOMIC_SEQ_CST);
++        max = stats->max;
++    }
++
      return 1;
  }
  

Reply via email to