[Git][java-team/zookeeper][master] 13 commits: Patch for glibc 2.43 ISO C23 const return types (Closes: #1128762)
Tony Mancill (@tmancill)
gitlab at salsa.debian.org
Sun Mar 8 20:53:35 GMT 2026
Tony Mancill pushed to branch master at Debian Java Maintainers / zookeeper
Commits:
a59a154e by tony mancill at 2026-02-27T20:21:05-08:00
Patch for glibc 2.43 ISO C23 const return types (Closes: #1128762)
- - - - -
f5c15583 by tony mancill at 2026-02-27T20:21:14-08:00
Freshen years in debian/copyright
- - - - -
8b1a819b by tony mancill at 2026-02-27T20:34:11-08:00
Bump Standards-Version to 4.7.3
- - - - -
b81a2a9b by tony mancill at 2026-02-27T22:10:46-08:00
Install systemd unit file (Closes: #950386)
- - - - -
ace1eae2 by tony mancill at 2026-03-08T09:31:18-07:00
Add Pre-Depends on init-system-helpers:any to zookeeperd
- - - - -
c803cec1 by tony mancill at 2026-03-08T09:31:18-07:00
Add Documentation link to systemd unit
- - - - -
f2bc382a by tony mancill at 2026-03-08T09:31:18-07:00
Add Recommends on logback-java
- - - - -
e4d2dd5e by tony mancill at 2026-03-08T09:31:18-07:00
Enable jline support for zkCli.sh
- - - - -
bf91bea5 by tony mancill at 2026-03-08T09:31:18-07:00
Configure zookeeperd logging via logback
- - - - -
e4e53110 by tony mancill at 2026-03-08T13:37:56-07:00
Update zookeeper.NEWS
- - - - -
38975487 by tony mancill at 2026-03-08T13:37:56-07:00
Add instructions for starting the admin server
- - - - -
b2da7e41 by tony mancill at 2026-03-08T13:37:56-07:00
Install example logback.xml
- - - - -
5c4df50d by tony mancill at 2026-03-08T13:37:56-07:00
Prepare changelog for upload
- - - - -
11 changed files:
- debian/changelog
- debian/conf_example/environment
- debian/control
- debian/copyright
- + debian/patches/39-iso-c23-const.patch
- + debian/patches/40-default-zoocfg.patch
- debian/patches/series
- debian/rules
- debian/zookeeper.NEWS
- − debian/zookeeperd.preinst
- debian/zookeeperd.zookeeper.service
Changes:
=====================================
debian/changelog
=====================================
@@ -1,3 +1,19 @@
+zookeeper (3.9.4-2) unstable; urgency=medium
+
+ * Patch for glibc 2.43 ISO C23 const return types (Closes: #1128762)
+ * Install systemd unit file (Closes: #950386, #1039434)
+ * Add Pre-Depends on init-system-helpers:any to zookeeperd
+ * Add Documentation link to systemd unit
+ * Configure zookeeperd logging via logback
+ * Add Recommends on logback-java
+ * Install example logback.xml in zookeeper.conf
+ * Enable jline support for zkCli.sh
+ * Bump Standards-Version to 4.7.3
+ * Update debian/NEWS
+ * Add instructions for starting the admin server
+
+ -- tony mancill <tmancill at debian.org> Sun, 08 Mar 2026 13:21:26 -0700
+
zookeeper (3.9.4-1) unstable; urgency=medium
* New upstream version 3.9.4 (Closes: #1116497)
=====================================
debian/conf_example/environment
=====================================
@@ -10,4 +10,21 @@ JAVA_OPTS=""
# line tools such as `zkCli.sh` and not for the actual server
JAVA=/usr/bin/java
-CLASSPATH="/etc/zookeeper/conf:/usr/share/java/zookeeper.jar"
+# JARs for logging suport
+# Do not leave this unset as it is used by the systemd unit.
+# Set the value to /dev/null if for some reason you want to disable logging.
+LOGGING_JARS="/usr/share/java/logback-classic.jar:/usr/share/java/logback-core.jar"
+
+CLASSPATH="/etc/zookeeper/conf:/usr/share/java/zookeeper.jar:/usr/share/java/jline2.jar"
+
+
+##########################################
+# To enable the HTTP admin server:
+# - install libjetty9-java
+# - uncomment the updated CLASSPATH line below to add the Jetty servlet JARs to the CLASSPATH
+# - update /etc/zookeeper/conf/zoo.cfg to admin.enableServer=true and configure as desired
+# - restart Zookeeper
+##########################################
+
+#CLASSPATH="/etc/zookeeper/conf:/usr/share/java/zookeeper.jar:/usr/share/java/jline2.jar:/usr/share/java/jetty-server.jar:/usr/share/java/jetty-http.jar:/usr/share/java/jetty-util.jar:/usr/share/java/jetty-io.jar:/usr/share/java/jetty-servlet.jar:/usr/share/java/jetty-security.jar:/usr/share/java/jetty-util-ajax.jar:/usr/share/java/servlet-api.jar"
+
=====================================
debian/control
=====================================
@@ -1,6 +1,5 @@
Source: zookeeper
Section: java
-Priority: optional
Maintainer: Debian Java Maintainers <pkg-java-maintainers at lists.alioth.debian.org>
Uploaders: James Page <james.page at ubuntu.com>,
tony mancill <tmancill at debian.org>
@@ -57,11 +56,10 @@ Build-Depends:
python3-all-dev,
python3-setuptools,
debhelper-compat (= 13)
-Standards-Version: 4.7.2
+Standards-Version: 4.7.3
Vcs-Git: https://salsa.debian.org/java-team/zookeeper.git
Vcs-Browser: https://salsa.debian.org/java-team/zookeeper
Homepage: https://zookeeper.apache.org
-Rules-Requires-Root: no
Package: libzookeeper-java
Architecture: all
@@ -86,6 +84,8 @@ Depends:
default-jre,
libzookeeper-java (= ${binary:Version}),
${misc:Depends}
+Recommends:
+ libjline2-java,
Description: High-performance coordination service for distributed applications
ZooKeeper is a centralized, reliable, service for maintaining configuration
information, naming, providing distributed synchronization, and group
@@ -98,8 +98,9 @@ Description: High-performance coordination service for distributed applications
Package: zookeeperd
Architecture: all
-Pre-Depends: ${misc:Pre-Depends}
+Pre-Depends: ${misc:Pre-Depends}, init-system-helpers (>= 1.54~)
Depends: zookeeper (= ${binary:Version}), ${misc:Depends}
+Recommends: logback-java
Description: Init control scripts for zookeeper
ZooKeeper is a centralized, reliable, service for maintaining configuration
information, naming, providing distributed synchronization, and group
=====================================
debian/copyright
=====================================
@@ -69,8 +69,8 @@ License: Expat
Files: debian/*
Copyright: 2010 Thomas Koch <thomas.koch at ymc.ch>,
2011 Canonical Ltd (http://www.canonical.com)
- 2015-2025 tony mancill <tmancill at debian.org>
- 2022-2025 Pierre Gruet <pgt at debian.org>
+ 2015-2026 tony mancill <tmancill at debian.org>
+ 2022-2026 Pierre Gruet <pgt at debian.org>
License: Apache-2.0
Files: debian/patches/01-add-jtoaster-to-zooinspector.patch
=====================================
debian/patches/39-iso-c23-const.patch
=====================================
@@ -0,0 +1,88 @@
+Description: Address FTBFS with glibc 2.43 due to ISO C23 const return types
+ There are probably cleaner ways to do this by modifying more of the logic
+ in cli.c.
+Bug-Debian: https://bugs.debian.org/1128762
+Forwarded: no
+Author: tony mancill <tmancill at debian.org>
+Last-Update: 2026-02-27
+
+--- a/zookeeper-client/zookeeper-client-c/src/cli.c
++++ b/zookeeper-client/zookeeper-client-c/src/cli.c
+@@ -494,24 +494,36 @@
+ }
+
+ } else if (startsWith(line, "set ")) {
++ char *copy = strdup(line + 4);
+ char *ptr;
+- line += 4;
+- if (line[0] != '/') {
+- fprintf(stderr, "Path must start with /, found: %s\n", line);
++ if (copy == NULL) {
++ perror("strdup");
+ return;
+ }
+- ptr = strchr(line, ' ');
++ if (copy[0] != '/') {
++ fprintf(stderr, "Path must start with /, found: %s\n", copy);
++ free(copy);
++ return;
++ }
++
++ ptr = strchr(copy, ' ');
+ if (!ptr) {
+ fprintf(stderr, "No data found after path\n");
++ free(copy);
+ return;
+ }
++
+ *ptr = '\0';
+ ptr++;
+- rc = zoo_aset(zh, line, ptr, strlen(ptr), -1, my_stat_completion,
+- strdup(line));
++
++ rc = zoo_aset(zh, copy, ptr, (int)strlen(ptr), -1, my_stat_completion,
++ strdup(copy));
++
+ if (rc) {
+- fprintf(stderr, "Error %d for %s\n", rc, line);
++ fprintf(stderr, "Error %d for %s\n", rc, copy);
+ }
++ free(copy);
++
+ } else if (startsWith(line, "ls ")) {
+ line += 3;
+ if (line[0] != '/') {
+@@ -704,14 +716,19 @@
+ if (rc)
+ fprintf(stderr, "od command failed: %d\n", rc);
+ } else if (startsWith(line, "addauth ")) {
++ char *copy = strdup(line + 8);
+ char *ptr;
+- line += 8;
+- ptr = strchr(line, ' ');
++ if (copy == NULL) {
++ perror("strdup");
++ return;
++ }
++ ptr = strchr(copy, ' ');
+ if (ptr) {
+ *ptr = '\0';
+ ptr++;
+ }
+- zoo_add_auth(zh, line, ptr, ptr ? strlen(ptr) : 0, NULL, NULL);
++ zoo_add_auth(zh, copy, ptr, ptr ? strlen(ptr) : 0, NULL, NULL);
++ free(copy);
+ }
+ }
+
+--- a/zookeeper-client/zookeeper-client-c/src/zookeeper.c
++++ b/zookeeper-client/zookeeper-client-c/src/zookeeper.c
+@@ -1304,7 +1304,7 @@
+ {
+ int errnosave = 0;
+ zhandle_t *zh = NULL;
+- char *index_chroot = NULL;
++ const char *index_chroot = NULL;
+
+ // Create our handle
+ zh = calloc(1, sizeof(*zh));
=====================================
debian/patches/40-default-zoocfg.patch
=====================================
@@ -0,0 +1,13 @@
+--- a/conf/zoo_sample.cfg
++++ b/conf/zoo_sample.cfg
+@@ -35,3 +35,10 @@
+ #metricsProvider.httpPort=7000
+ #metricsProvider.exportJvmInfo=true
+
++## Admin Server
++# Set to true to enable the HTTP-based admin server
++# You must also have Jetty JARs on the classpath.
++# See /etc/zookeeper/conf/environment
++admin.enableServer=false
++admin.serverAddress=127.0.0.1
++admin.serverPort=8080
=====================================
debian/patches/series
=====================================
@@ -32,3 +32,5 @@
36-JUnitPlatform-deprecation.patch
37-no_burningwave.patch
38-netty-4.1.114.patch
+39-iso-c23-const.patch
+40-default-zoocfg.patch
=====================================
debian/rules
=====================================
@@ -48,9 +48,10 @@ override_dh_install-arch:
override_dh_install-indep:
dh_install -i
- # Also installing the configuration.xsl and zoo.cfg which are in conf/.
+ # Also install configuration.xsl, logback.xml, and zoo.cfg which are in conf/.
cp conf/configuration.xsl debian/zookeeper/etc/zookeeper/conf_example/
cp conf/zoo_sample.cfg debian/zookeeper/etc/zookeeper/conf_example/zoo.cfg
+ cp conf/logback.xml debian/zookeeper/etc/zookeeper/conf_example
override_dh_auto_test-indep:
ifeq ($(ENABLE_TESTS),true)
@@ -105,3 +106,6 @@ override_dh_auto_clean:
override_dh_installinit:
dh_installinit --name=zookeeper
+
+override_dh_installsystemd:
+ dh_installsystemd --name=zookeeper
=====================================
debian/zookeeper.NEWS
=====================================
@@ -1,3 +1,14 @@
+zookeeper (3.9.4-2) unstable; urgency=medium
+
+ The systemd unit is now installed as part of the zookeeperd package.
+ It uses LOGGING_JARS sourced from /etc/zookeeper/conf/environment to
+ configure logback on the classpath. Adjust as needed if your logging
+ needs are different, or for some reason you don't want logging.
+
+ zkCli.sh is configured with jline2 support.
+
+ -- tony mancill <tmancill at debian.org> Sun, 08 Mar 2026 09:18:29 -0700
+
zookeeper (3.8.0-1) unstable; urgency=medium
It is likely the server will not start on the first run, because of a missing
=====================================
debian/zookeeperd.preinst deleted
=====================================
@@ -1,17 +0,0 @@
-#!/bin/sh
-
-set -e
-
-case "$1" in
- install|upgrade)
- DOCDIR=/usr/share/doc/zookeeperd
-
- if [ -L $DOCDIR ]; then
- rm $DOCDIR
- fi
- ;;
-esac
-
-#DEBHELPER#
-
-exit 0
=====================================
debian/zookeeperd.zookeeper.service
=====================================
@@ -1,5 +1,6 @@
[Unit]
Description=Coordination service for distributed applications
+Documentation=https://zookeeper.apache.org
After=network.target
ConditionPathExists=/var/lib/zookeeper/myid
@@ -9,7 +10,7 @@ User=zookeeper
SyslogIdentifier=zookeeper
EnvironmentFile=/etc/zookeeper/conf/environment
EnvironmentFile=-/etc/default/zookeeper
-ExecStart=/usr/bin/java -cp ${CLASSPATH} $JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=${JMXLOCALONLY} -Dzookeeper.log.dir=${ZOO_LOG_DIR} -Dzookeeper.root.logger=${ZOO_LOG4J_PROP} $ZOOMAIN $ZOOCFG
+ExecStart=/usr/bin/java -cp ${CLASSPATH}:${LOGGING_JARS} $JAVA_OPTS -Dcom.sun.management.jmxremote -Dcom.sun.management.jmxremote.local.only=${JMXLOCALONLY} -Dzookeeper.log.dir=${ZOO_LOG_DIR} -Dzookeeper.root.logger=${ZOO_LOG4J_PROP} $ZOOMAIN $ZOOCFG
SuccessExitStatus=143
# ZooKeeper is "fail-fast", see https://zookeeper.apache.org/doc/r3.4.8/zookeeperAdmin.html#sc_supervision
Restart=always
View it on GitLab: https://salsa.debian.org/java-team/zookeeper/-/compare/9ec235df5a68a7324d111bd38c62fe1be534964a...5c4df50d2fd9f1c4edaa55d1ffd633330df923dd
--
View it on GitLab: https://salsa.debian.org/java-team/zookeeper/-/compare/9ec235df5a68a7324d111bd38c62fe1be534964a...5c4df50d2fd9f1c4edaa55d1ffd633330df923dd
You're receiving this email because of your account on salsa.debian.org.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-java-commits/attachments/20260308/fad07b8f/attachment.htm>
More information about the pkg-java-commits
mailing list