[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#871466: stretch-pu: package wrk/4.0.2-2~deb9u1



Package: release.debian.org
Severity: normal
Tags: stretch
User: release.debian.org@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 <ctrochalakis@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 <edmonds@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 to: