The following commit has been merged in the master branch:
commit 59a09594315fea644aa301f633fb37221d6ed4de
Author: James Page <james.p...@ubuntu.com>
Date:   Mon Jan 30 13:22:19 2012 +0000

    Sync changes from Ubuntu:
    
    * Sync changes from Ubuntu:
      - Switch zookeeperd upstart configuration to use start-stop-daemon.
        Thanks to Clint Byrum for this fix.
      - Enable C and Java test suites:
        - d/patches/fixes/ZOOKEEPER-1374: Use __sync_* primitives
          instead of ASM code when avaliable to improve portability across
          supported platforms.
        - d/patches/fix-broken-c-client-test.patch: Fixes the unit test so
          it will pass with EINVAL which is the correct error. Thanks to
          Clint Byrum for this fix.
        - d/rules: Enable C client test suite for all architectures.
        - d/rules: Only run core Java test suite when building
          Architecture: all packages.

diff --git a/debian/changelog b/debian/changelog
index 86bb70c..70ae10a 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,21 @@
+zookeeper (3.3.4+dfsg1-3) unstable; urgency=low
+
+  * Sync changes from Ubuntu:
+    - Switch zookeeperd upstart configuration to use start-stop-daemon.
+      Thanks to Clint Byrum for this fix.
+    - Enable C and Java test suites:
+      - d/patches/fixes/ZOOKEEPER-1374: Use __sync_* primitives
+        instead of ASM code when avaliable to improve portability across 
+        supported platforms.
+      - d/patches/fix-broken-c-client-test.patch: Fixes the unit test so
+        it will pass with EINVAL which is the correct error. Thanks to
+        Clint Byrum for this fix.
+      - d/rules: Enable C client test suite for all architectures.
+      - d/rules: Only run core Java test suite when building 
+        Architecture: all packages.
+
+ -- James Page <james.p...@ubuntu.com>  Mon, 30 Jan 2012 13:21:21 +0000
+
 zookeeper (3.3.4+dfsg1-2) unstable; urgency=low
 
   * Added new libzookeeper-st{2,-dev} packages (Closes: #650938) and 
diff --git a/debian/control b/debian/control
index 017d916..ef9db1f 100644
--- a/debian/control
+++ b/debian/control
@@ -68,7 +68,7 @@ Description: High-performance coordination service for 
distributed applications
 
 Package: zookeeperd
 Architecture: all
-Depends: zookeeper (= ${binary:Version}), ${misc:Depends}, ${zookeeperd-deps}
+Depends: zookeeper (= ${binary:Version}), ${misc:Depends}, lsb-base (>= 3.2-14)
 Description: Init control scripts for zookeeper
  ZooKeeper is a centralized, reliable, service for maintaining configuration
  information, naming, providing distributed synchronization, and group
diff --git a/debian/debian_control_vars b/debian/debian_control_vars
deleted file mode 100644
index c83f47f..0000000
--- a/debian/debian_control_vars
+++ /dev/null
@@ -1 +0,0 @@
-zookeeperd-deps= lsb-base (>= 3.2-14) 
diff --git a/debian/patches/fix-broken-c-client-unittest.patch 
b/debian/patches/fix-broken-c-client-unittest.patch
new file mode 100644
index 0000000..3f8afd9
--- /dev/null
+++ b/debian/patches/fix-broken-c-client-unittest.patch
@@ -0,0 +1,20 @@
+Description: Loosens C client unit test to allow multiple errors
+ The test incorrectly assumes that ENOENT will eb returned on a clearly
+ incorrectly formatted hostname. Some other C library implementations
+ may do this, so we accept ENOENT or EINVAL.
+Author: Clint Byrum <cl...@ubuntu.com>
+Bug: https://issues.apache.org/jira/browse/ZOOKEEPER-1353
+Bug-Ubuntu: http://pad.lv/912935
+Forwarded: yes
+
+--- zookeeper-3.3.4+dfsg1.orig/src/c/tests/TestZookeeperInit.cc
++++ zookeeper-3.3.4+dfsg1/src/c/tests/TestZookeeperInit.cc
+@@ -230,7 +230,7 @@ public:
+         const string INVALID_HOST("host1:1111+host:123");
+         zh=zookeeper_init(INVALID_HOST.c_str(),0,0,0,0,0);
+         CPPUNIT_ASSERT(zh==0);
+-        CPPUNIT_ASSERT_EQUAL(ENOENT,errno);
++        CPPUNIT_ASSERT((ENOENT|EINVAL) & errno);
+     }
+     void testNonexistentHost()
+     {
diff --git a/debian/patches/fixes/ZOOKEEPER-1374 
b/debian/patches/fixes/ZOOKEEPER-1374
new file mode 100644
index 0000000..3b75735
--- /dev/null
+++ b/debian/patches/fixes/ZOOKEEPER-1374
@@ -0,0 +1,39 @@
+Description: Use __sync primitives for better cross platform support when 
+ compiling with gcc.
+Origin: https://issues.apache.org/jira/browse/ZOOKEEPER-1374
+
+Index: zookeeper/src/c/tests/ThreadingUtil.cc
+===================================================================
+--- zookeeper.orig/src/c/tests/ThreadingUtil.cc        2012-01-27 
22:36:14.696423169 +0000
++++ zookeeper/src/c/tests/ThreadingUtil.cc     2012-01-27 22:36:46.460422374 
+0000
+@@ -47,6 +47,9 @@
+ // Atomics
+ int32_t atomic_post_incr(volatile int32_t* operand, int32_t incr)
+ {
++#if defined(__GNUC__)
++    return __sync_fetch_and_add(operand,incr);
++#else
+     int32_t result;
+     __asm__ __volatile__(
+          "lock xaddl %0,%1\n"
+@@ -54,15 +57,20 @@
+          : "0"(incr)
+          : "memory");
+    return result;
++#endif
+ }
+ int32_t atomic_fetch_store(volatile int32_t *ptr, int32_t value)
+ {
++#if defined(__GNUC__)
++    return __sync_lock_test_and_set(ptr,value);
++#else
+     int32_t result;
+     __asm__ __volatile__("lock xchgl %0,%1\n"
+                           : "=r"(result), "=m"(*ptr)
+                           : "0"(value)
+                           : "memory");
+    return result; 
++#endif
+ }
+ #else
+ int32_t atomic_post_incr(volatile int32_t* operand, int32_t incr){
diff --git a/debian/patches/series b/debian/patches/series
index 947159a..1e279d4 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -3,3 +3,5 @@ debian/patch-build-system
 debian/disable-cygwin-detection
 fixes/ZOOKEEPER-705
 fixes/ZOOKEEPER-1033
+fix-broken-c-client-unittest.patch
+fixes/ZOOKEEPER-1374
diff --git a/debian/rules b/debian/rules
index 429ba63..658d018 100755
--- a/debian/rules
+++ b/debian/rules
@@ -52,21 +52,26 @@ override_dh_install:
        done
        dh_install
 
-#ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS)))
-#override_dh_auto_test-arch:
-#      # C testing starts/stops zookeeper
-#      # this ensures that all the right classes are found
-#      for jar in jline log4j-1.2 xercesImpl xmlParserAPIs; do \
-#              ln -sf /usr/share/java/$$jar.jar build/lib/$$jar.jar; \
-#      done;
-#      # Execute multi-threaded test suite
-#      $(MAKE) -C src/c zktest-mt
-#      cd src/c && ./zktest-mt
-#
-#override_dh_auto_test-indep:
-#      # Run core Java test suite against zookeeper
-#      ant -Dversion=$(DEB_UPSTREAM_VERSION) -DlastRevision=-1 test-core-java
-#endif
+ifeq (,$(findstring nocheck, $(DEB_BUILD_OPTIONS)))
+override_dh_auto_test-arch:
+       # C testing starts/stops zookeeper
+       # this ensures that all the right classes are found
+       for jar in jline log4j-1.2 xercesImpl xmlParserAPIs; do \
+               ln -sf /usr/share/java/$$jar.jar build/lib/$$jar.jar; \
+       done;
+       # Execute multi-threaded test suite
+       $(MAKE) -C src/c zktest-mt
+       cd src/c && ./zktest-mt
+
+# Only run core Java unit tests on i386 architecture as this is the arch
+# that they are built and published on - works around -indep not working
+# in Ubuntu.
+ifeq (i386, $(DEB_BUILD_ARCH))
+override_dh_auto_test-indep:
+       # Run core Java test suite against zookeeper
+       ant -Dversion=$(DEB_UPSTREAM_VERSION) -DlastRevision=-1 test-core-java
+endif
+endif
 
 override_dh_clean:
        dh_clean --exclude=src/java \
@@ -130,11 +135,3 @@ override_dh_installinit:
                cp debian/zookeeperd.upstart.in debian/zookeeperd.upstart ; \
        fi
        dh_installinit -d
-
-# init/upstart require difference dependencies for zookeeperd
-override_dh_gencontrol:
-       if dpkg-vendor --derives-from ubuntu ; then \
-        dh_gencontrol -- -T$(CURDIR)/debian/ubuntu_control_vars ; \
-    else \
-        dh_gencontrol -- -T$(CURDIR)/debian/debian_control_vars ; \
-    fi
diff --git a/debian/ubuntu_control_vars b/debian/ubuntu_control_vars
deleted file mode 100644
index e551528..0000000
--- a/debian/ubuntu_control_vars
+++ /dev/null
@@ -1 +0,0 @@
-zookeeperd-deps= daemon
diff --git a/debian/zookeeperd.upstart.in b/debian/zookeeperd.upstart.in
index 3354657..167ae02 100644
--- a/debian/zookeeperd.upstart.in
+++ b/debian/zookeeperd.upstart.in
@@ -21,7 +21,7 @@ script
     if [ -z "$JMXDISABLE" ]; then
         JAVA_OPTS="$JAVA_OPTS -Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.local.only=$JMXLOCALONLY"
     fi
-    exec daemon --name=zookeeper --inherit --user=$USER \
-       -- $JAVA -cp $CLASSPATH $JAVA_OPTS -Dzookeeper.log.dir=${ZOO_LOG_DIR} \
+    exec start-stop-daemon --start -c $USER --exec $JAVA --name zookeeper \
+       -- -cp $CLASSPATH $JAVA_OPTS -Dzookeeper.log.dir=${ZOO_LOG_DIR} \
        -Dzookeeper.root.logger=${ZOO_LOG4J_PROP} $ZOOMAIN $ZOOCFG
 end script

-- 
Apache ZooKeeper

_______________________________________________
pkg-java-commits mailing list
pkg-java-comm...@lists.alioth.debian.org
http://lists.alioth.debian.org/cgi-bin/mailman/listinfo/pkg-java-commits

Reply via email to