From 9031ac02f9be422fb8a322243bcfffb6052eb74c Mon Sep 17 00:00:00 2001 From: benschermel Date: Fri, 15 Apr 2022 23:09:44 -0400 Subject: [PATCH] update packaging for OS merge --- keydb.conf | 7 - pkg/README.md | 22 +++- pkg/deb/README.md | 2 +- pkg/deb/conf/keydb.conf | 34 ++++- pkg/deb/deb-buildsource.sh | 10 +- .../debian/bin/generate-systemd-service-files | 1 + pkg/deb/debian/control | 22 ++-- pkg/deb/debian/copyright | 6 +- .../debian/keydb-enterprise-sentinel.install | 1 - .../debian/keydb-enterprise-sentinel.manpages | 1 - .../debian/keydb-enterprise-server.install | 1 - .../debian/keydb-enterprise-server.manpages | 1 - ...enterprise-sentinel.1 => keydb-sentinel.1} | 0 .../keydb-sentinel.install} | 0 ...nel.logrotate => keydb-sentinel.logrotate} | 0 pkg/deb/debian/keydb-sentinel.manpages | 1 + ...tinel.postinst => keydb-sentinel.postinst} | 0 ...-sentinel.postrm => keydb-sentinel.postrm} | 0 ...ydb-enterprise-server.1 => keydb-server.1} | 0 ...terprise-server.docs => keydb-server.docs} | 0 .../keydb-server.install} | 0 ...erver.logrotate => keydb-server.logrotate} | 0 pkg/deb/debian/keydb-server.manpages | 1 + ...-server.postinst => keydb-server.postinst} | 0 ...rise-server.postrm => keydb-server.postrm} | 0 ...se-tools.examples => keydb-tools.examples} | 0 ...rise-tools.install => keydb-tools.install} | 0 ...se-tools.manpages => keydb-tools.manpages} | 0 ...se-tools.postinst => keydb-tools.postinst} | 0 ...rprise-tools.postrm => keydb-tools.postrm} | 0 pkg/deb/debian/rules | 3 +- pkg/deb/debian/source/lintian-overrides | 2 +- pkg/deb/debian/watch | 2 +- .../bin/generate-systemd-service-files | 3 + pkg/deb/debian_dh9/control | 27 ++-- pkg/deb/debian_dh9/copyright | 86 ++++++++++++- pkg/deb/debian_dh9/files | 1 + pkg/deb/debian_dh9/keydb-benchmark.1 | 2 +- .../keydb-enterprise-sentinel.manpages | 1 - .../keydb-enterprise-sentinel.prerm | 12 -- .../keydb-enterprise-server.manpages | 1 - .../debian_dh9/keydb-enterprise-server.prerm | 12 -- ...enterprise-sentinel.1 => keydb-sentinel.1} | 0 pkg/deb/debian_dh9/keydb-sentinel.default | 8 ++ pkg/deb/debian_dh9/keydb-sentinel.init | 89 +++++++++++++ pkg/deb/debian_dh9/keydb-sentinel.install | 2 + ...nel.logrotate => keydb-sentinel.logrotate} | 0 ...maintscript => keydb-sentinel.maintscript} | 0 pkg/deb/debian_dh9/keydb-sentinel.manpages | 1 + ...tinel.postinst => keydb-sentinel.postinst} | 2 - ...-sentinel.postrm => keydb-sentinel.postrm} | 2 - ...ydb-enterprise-server.1 => keydb-server.1} | 0 pkg/deb/debian_dh9/keydb-server.default | 7 + ...terprise-server.docs => keydb-server.docs} | 0 pkg/deb/debian_dh9/keydb-server.init | 89 +++++++++++++ pkg/deb/debian_dh9/keydb-server.install | 2 + ...erver.logrotate => keydb-server.logrotate} | 0 ...r.maintscript => keydb-server.maintscript} | 0 pkg/deb/debian_dh9/keydb-server.manpages | 1 + ...-server.postinst => keydb-server.postinst} | 2 - ...rise-server.postrm => keydb-server.postrm} | 2 - ...se-tools.examples => keydb-tools.examples} | 0 ...rise-tools.install => keydb-tools.install} | 2 +- ...se-tools.manpages => keydb-tools.manpages} | 0 ...se-tools.postinst => keydb-tools.postinst} | 0 ...rprise-tools.postrm => keydb-tools.postrm} | 0 pkg/deb/debian_dh9/rules | 6 +- pkg/deb/debian_dh9/source/include-binaries | 5 +- pkg/deb/debian_dh9/source/lintian-overrides | 2 +- pkg/deb/debian_dh9/source/options | 1 - pkg/deb/debian_dh9/watch | 4 +- pkg/deb/master_changelog | 120 +++++++++++++++++- pkg/docker/app/docker-entrypoint.sh | 16 --- pkg/rpm/generate_rpms.sh | 5 +- pkg/rpm/keydb_build/keydb.spec | 4 +- .../keydb_rpm/etc/keydb/keydb.conf | 34 ++++- .../usr/share/licenses/keydb/COPYING | 7 +- 77 files changed, 534 insertions(+), 141 deletions(-) delete mode 100644 pkg/deb/debian/keydb-enterprise-sentinel.install delete mode 100644 pkg/deb/debian/keydb-enterprise-sentinel.manpages delete mode 100644 pkg/deb/debian/keydb-enterprise-server.install delete mode 100644 pkg/deb/debian/keydb-enterprise-server.manpages rename pkg/deb/debian/{keydb-enterprise-sentinel.1 => keydb-sentinel.1} (100%) rename pkg/deb/{debian_dh9/keydb-enterprise-sentinel.install => debian/keydb-sentinel.install} (100%) rename pkg/deb/debian/{keydb-enterprise-sentinel.logrotate => keydb-sentinel.logrotate} (100%) create mode 100644 pkg/deb/debian/keydb-sentinel.manpages rename pkg/deb/debian/{keydb-enterprise-sentinel.postinst => keydb-sentinel.postinst} (100%) rename pkg/deb/debian/{keydb-enterprise-sentinel.postrm => keydb-sentinel.postrm} (100%) rename pkg/deb/debian/{keydb-enterprise-server.1 => keydb-server.1} (100%) rename pkg/deb/debian/{keydb-enterprise-server.docs => keydb-server.docs} (100%) rename pkg/deb/{debian_dh9/keydb-enterprise-server.install => debian/keydb-server.install} (100%) rename pkg/deb/debian/{keydb-enterprise-server.logrotate => keydb-server.logrotate} (100%) create mode 100644 pkg/deb/debian/keydb-server.manpages rename pkg/deb/debian/{keydb-enterprise-server.postinst => keydb-server.postinst} (100%) rename pkg/deb/debian/{keydb-enterprise-server.postrm => keydb-server.postrm} (100%) rename pkg/deb/debian/{keydb-enterprise-tools.examples => keydb-tools.examples} (100%) rename pkg/deb/debian/{keydb-enterprise-tools.install => keydb-tools.install} (100%) rename pkg/deb/debian/{keydb-enterprise-tools.manpages => keydb-tools.manpages} (100%) rename pkg/deb/debian/{keydb-enterprise-tools.postinst => keydb-tools.postinst} (100%) rename pkg/deb/debian/{keydb-enterprise-tools.postrm => keydb-tools.postrm} (100%) create mode 100644 pkg/deb/debian_dh9/files delete mode 100644 pkg/deb/debian_dh9/keydb-enterprise-sentinel.manpages delete mode 100644 pkg/deb/debian_dh9/keydb-enterprise-sentinel.prerm delete mode 100644 pkg/deb/debian_dh9/keydb-enterprise-server.manpages delete mode 100644 pkg/deb/debian_dh9/keydb-enterprise-server.prerm rename pkg/deb/debian_dh9/{keydb-enterprise-sentinel.1 => keydb-sentinel.1} (100%) create mode 100755 pkg/deb/debian_dh9/keydb-sentinel.default create mode 100755 pkg/deb/debian_dh9/keydb-sentinel.init create mode 100644 pkg/deb/debian_dh9/keydb-sentinel.install rename pkg/deb/debian_dh9/{keydb-enterprise-sentinel.logrotate => keydb-sentinel.logrotate} (100%) rename pkg/deb/debian_dh9/{keydb-enterprise-sentinel.maintscript => keydb-sentinel.maintscript} (100%) create mode 100644 pkg/deb/debian_dh9/keydb-sentinel.manpages rename pkg/deb/debian_dh9/{keydb-enterprise-sentinel.postinst => keydb-sentinel.postinst} (93%) rename pkg/deb/debian_dh9/{keydb-enterprise-sentinel.postrm => keydb-sentinel.postrm} (86%) rename pkg/deb/debian_dh9/{keydb-enterprise-server.1 => keydb-server.1} (100%) create mode 100755 pkg/deb/debian_dh9/keydb-server.default rename pkg/deb/debian_dh9/{keydb-enterprise-server.docs => keydb-server.docs} (100%) create mode 100755 pkg/deb/debian_dh9/keydb-server.init create mode 100644 pkg/deb/debian_dh9/keydb-server.install rename pkg/deb/debian_dh9/{keydb-enterprise-server.logrotate => keydb-server.logrotate} (100%) rename pkg/deb/debian_dh9/{keydb-enterprise-server.maintscript => keydb-server.maintscript} (100%) create mode 100644 pkg/deb/debian_dh9/keydb-server.manpages rename pkg/deb/debian_dh9/{keydb-enterprise-server.postinst => keydb-server.postinst} (93%) rename pkg/deb/debian_dh9/{keydb-enterprise-server.postrm => keydb-server.postrm} (86%) rename pkg/deb/debian_dh9/{keydb-enterprise-tools.examples => keydb-tools.examples} (100%) rename pkg/deb/debian_dh9/{keydb-enterprise-tools.install => keydb-tools.install} (100%) rename pkg/deb/debian_dh9/{keydb-enterprise-tools.manpages => keydb-tools.manpages} (100%) rename pkg/deb/debian_dh9/{keydb-enterprise-tools.postinst => keydb-tools.postinst} (100%) rename pkg/deb/debian_dh9/{keydb-enterprise-tools.postrm => keydb-tools.postrm} (100%) delete mode 100755 pkg/docker/app/docker-entrypoint.sh diff --git a/keydb.conf b/keydb.conf index 04f66f766..d543af03f 100644 --- a/keydb.conf +++ b/keydb.conf @@ -2053,13 +2053,6 @@ server-threads 2 # bringing up replicas can result in data loss (the first master will win). # active-replica yes -# Enable Enterprise? KeyDB Enterprise provides support for Enterprise only features -# note: you may omit the license key to demo Enterprise features for a limited time -# enable-enterprise [License Key] - -# Enable FLASH support? (Enterprise Only) -# storage-provider flash /path/to/flash/db - # KeyDB will attempt to balance clients across threads evenly; However, replica clients # are usually much more expensive than a normal client, and so KeyDB will try to assign # fewer clients to threads with a replica. The weighting factor below is intented to help tune diff --git a/pkg/README.md b/pkg/README.md index 48ca61e5f..ea60fee58 100644 --- a/pkg/README.md +++ b/pkg/README.md @@ -1,3 +1,21 @@ -### KeyDB Packaging +### KeyDB DEB Package Source Builds -The following directories contain packaging code used to create rpm and deb packages as well as docker images. +This directory contains scripts and components needed to generate debian packages on different distributions/architectures from source + +The 'debian' directory contains debian source code for bionic, buster and later distributions as it uses functions only available with debhelper11+. 'debian_dh9' is used for xenial, stretch and earlier distributions using debhelper9. + +You will need to install pbuilder `sudo apt install pbuilder` along with other distribution specific dependencies + +Generate deb packages with the following script command run from this directory: + +``` +$ ./deb-buildsource.sh +``` + +This generates a directory structure, .dsc file, original.tar.gz, and new changelog for the distribution and architecture installed. + +When complete the produced debian packages will be located in deb_files_generated directory. + +Arguments for the deb-buildsource.sh script that can be passed are either 'None' or '"your custom comments"'. 'None' assumes a permanent changelog entry has been made listing the correct build for the version. If you quote and enter your own comment string, it will be appended to the changelog for that deb package. If no argument is passed a default comment is generated saying that this deb package was generated by this script. + +This script has been tested on xenial/bionic/focal/stretch/buster/bullseye diff --git a/pkg/deb/README.md b/pkg/deb/README.md index bbd41ca54..83825b06d 100644 --- a/pkg/deb/README.md +++ b/pkg/deb/README.md @@ -14,4 +14,4 @@ When complete the produced debian packages will be located in deb_files_generate Arguments for the deb-buildsource.sh script that can be passed are either 'None' or '"your custom comments"'. 'None' assumes a permanent changelog entry has been made listing the correct build for the version. If you quote and enter your own comment string, it will be appended to the changelog for that deb package. If no argument is passed a default comment is generated saying that this deb package was generated by this script. -This script has been tested on xenial/bionic/stretch/buster +This script has been tested on xenial/bionic/focal/stretch/buster/bullseye diff --git a/pkg/deb/conf/keydb.conf b/pkg/deb/conf/keydb.conf index 8bf03a0c5..8be0b523e 100644 --- a/pkg/deb/conf/keydb.conf +++ b/pkg/deb/conf/keydb.conf @@ -257,6 +257,24 @@ tcp-keepalive 300 # # tls-session-cache-timeout 60 +# Allow the server to monitor the filesystem and rotate out TLS certificates if +# they change on disk, defaults to no. +# +# tls-rotation no + +# Setup a allowlist of allowed Common Names (CNs)/Subject Alternative Names (SANs) +# that are allowed to connect to this server. This includes both normal clients as +# well as other servers connected for replication/clustering purposes. If nothing is +# specified, then no allowlist is used and all certificates are accepted. +# Supports IPv4, DNS, RFC822, and URI SAN types. +# You can put multiple names on one line as follows: +# +# tls-allowlist ... +# +# +# This configuration also allows for wildcard characters with glob style formatting +# i.e. "*.com" would allow all clients to connect with a CN/SAN that ends with ".com" + ################################# GENERAL ##################################### # By default KeyDB does not run as a daemon. Use 'yes' if you need it. @@ -2035,9 +2053,13 @@ server-threads 2 # bringing up replicas can result in data loss (the first master will win). # active-replica yes -# Enable Pro? KeyDB pro provides support for pro only features -# note: you may omit the license key to demo pro features for a limited time -# enable-pro [License Key] - -# Enable FLASH support? (Pro Only) -# storage-provider flash /path/to/flash/db +# KeyDB will attempt to balance clients across threads evenly; However, replica clients +# are usually much more expensive than a normal client, and so KeyDB will try to assign +# fewer clients to threads with a replica. The weighting factor below is intented to help tune +# this behavior. A replica weighting factor of 2 means we treat a replica as the equivalent +# of two normal clients. Adjusting this value may improve performance when replication is +# used. The best weighting is workload specific - e.g. read heavy workloads should set +# this to 1. Very write heavy workloads may benefit from higher numbers. +# +# By default KeyDB sets this to 2. +replica-weighting-factor 2 diff --git a/pkg/deb/deb-buildsource.sh b/pkg/deb/deb-buildsource.sh index b1109642b..8d50035f1 100755 --- a/pkg/deb/deb-buildsource.sh +++ b/pkg/deb/deb-buildsource.sh @@ -19,12 +19,12 @@ elif [ "$distributor" == "Ubuntu" ]; then fi codename=$(lsb_release --codename --short) date=$(date +%a," "%d" "%b" "%Y" "%T) -pkg_name=keydb-enterprise-$majorv:$version$distname +pkg_name=keydb-$majorv:$version$distname # create build tree cd ../../../ -tar -czvf keydb-enterprise_$version.orig.tar.gz --force-local KeyDB-Pro -cd KeyDB-Pro/pkg/deb/ +tar -czvf keydb_$version.orig.tar.gz --force-local keydb-internal +cd keydb-internal/pkg/deb/ mkdir -p $pkg_name/tmp if [[ "$codename" == "xenial" ]] || [[ "$codename" == "stretch" ]]; then cp -r debian_dh9 $pkg_name/tmp/debian @@ -32,9 +32,9 @@ else cp -r debian $pkg_name/tmp fi cp master_changelog $pkg_name/tmp/debian/changelog -mv ../../../keydb-enterprise_$version.orig.tar.gz ./$pkg_name +mv ../../../keydb_$version.orig.tar.gz ./$pkg_name cd $pkg_name/tmp -changelog_str="keydb-enterprise ($majorv:$version-$build$distname) $codename; urgency=medium\n\n * $version $changelog_comments \n\n -- Ben Schermel $date +0000\n\n" +changelog_str="keydb ($majorv:$version-$build$distname) $codename; urgency=medium\n\n * $version $changelog_comments \n\n -- Ben Schermel $date +0000\n\n" if [ $# -eq 0 ]; then sed -i "1s/^/$changelog_str\n/" debian/changelog elif [ $# -eq 1 ] && [ "$1" != "None" ]; then diff --git a/pkg/deb/debian/bin/generate-systemd-service-files b/pkg/deb/debian/bin/generate-systemd-service-files index 4a3df9a12..14e23d50a 100755 --- a/pkg/deb/debian/bin/generate-systemd-service-files +++ b/pkg/deb/debian/bin/generate-systemd-service-files @@ -9,6 +9,7 @@ else SYSTEMD_EXTRA=$(cat < @@ -26,14 +26,14 @@ Build-Depends: libzstd-dev Standards-Version: 4.2.1 Homepage: https://docs.keydb.dev/ -Vcs-Git: https://gitlab.eqalpha.com/keydb-dev/KeyDB-Pro.git -Vcs-Browser: https://gitlab.eqalpha.com/keydb-dev/KeyDB-Pro +Vcs-Git: https://github.com/EQ-Alpha/KeyDB.git +Vcs-Browser: https://github.com/EQ-Alpha/KeyDB -Package: keydb-enterprise +Package: keydb Architecture: all Depends: - keydb-enterprise-server (<< ${binary:Version}.1~), - keydb-enterprise-server (>= ${binary:Version}), + keydb-server (<< ${binary:Version}.1~), + keydb-server (>= ${binary:Version}), ${misc:Depends}, Description: Persistent key-value database with network interface (metapackage) keydb is a key-value database in a similar vein to memcache but the dataset @@ -44,11 +44,11 @@ Description: Persistent key-value database with network interface (metapackage) . This package depends on the keydb-server package. -Package: keydb-enterprise-sentinel +Package: keydb-sentinel Architecture: any Depends: lsb-base (>= 3.2-14), - keydb-enterprise-tools (= ${binary:Version}), + keydb-tools (= ${binary:Version}), ${misc:Depends}, Description: Persistent key-value database with network interface (monitoring) keydb is a key-value database in a similar vein to memcache but the dataset @@ -57,11 +57,11 @@ Description: Persistent key-value database with network interface (monitoring) . This package contains the keydb Sentinel monitoring software. -Package: keydb-enterprise-server +Package: keydb-server Architecture: any Depends: lsb-base (>= 3.2-14), - keydb-enterprise-tools (= ${binary:Version}), + keydb-tools (= ${binary:Version}), ${misc:Depends}, Description: Persistent key-value database with network interface keydb is a key-value database in a similar vein to memcache but the dataset @@ -70,7 +70,7 @@ Description: Persistent key-value database with network interface . The dataset is stored entirely in memory and periodically flushed to disk. -Package: keydb-enterprise-tools +Package: keydb-tools Architecture: any Depends: adduser, diff --git a/pkg/deb/debian/copyright b/pkg/deb/debian/copyright index dcb739c40..7031af64d 100644 --- a/pkg/deb/debian/copyright +++ b/pkg/deb/debian/copyright @@ -1,13 +1,14 @@ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Contact: John Sully -Upstream-Name: keydb-enterprise -Source: https://gitlab.eqalpha.com/keydb-dev/KeyDB-Pro +Upstream-Name: KeyDB +Source: https://github.com/EQ-Alpha/KeyDB Files: * Copyright: © 2006-2014 Salvatore Sanfilippo © 2019-2021 John Sully © 2019-2021 EQ Alpha Technology Ltd. + © 2021 Snap Inc. License: BSD-3-clause @@ -89,6 +90,7 @@ Files: pkg/deb/debian/* Copyright: © 2009 Chris Lamb © 2020-2021 EQ Alpha Technology Ltd. + © 2021 Snap Inc. License: BSD-3-clause License: BSD-2-clause diff --git a/pkg/deb/debian/keydb-enterprise-sentinel.install b/pkg/deb/debian/keydb-enterprise-sentinel.install deleted file mode 100644 index 997fa888e..000000000 --- a/pkg/deb/debian/keydb-enterprise-sentinel.install +++ /dev/null @@ -1 +0,0 @@ -pkg/deb/conf/sentinel.conf /etc/keydb diff --git a/pkg/deb/debian/keydb-enterprise-sentinel.manpages b/pkg/deb/debian/keydb-enterprise-sentinel.manpages deleted file mode 100644 index 036eda5a6..000000000 --- a/pkg/deb/debian/keydb-enterprise-sentinel.manpages +++ /dev/null @@ -1 +0,0 @@ -debian/keydb-enterprise-sentinel.1 diff --git a/pkg/deb/debian/keydb-enterprise-server.install b/pkg/deb/debian/keydb-enterprise-server.install deleted file mode 100644 index 73e7d1240..000000000 --- a/pkg/deb/debian/keydb-enterprise-server.install +++ /dev/null @@ -1 +0,0 @@ -pkg/deb/conf/keydb.conf /etc/keydb diff --git a/pkg/deb/debian/keydb-enterprise-server.manpages b/pkg/deb/debian/keydb-enterprise-server.manpages deleted file mode 100644 index f66cf18d1..000000000 --- a/pkg/deb/debian/keydb-enterprise-server.manpages +++ /dev/null @@ -1 +0,0 @@ -debian/keydb-enterprise-server.1 diff --git a/pkg/deb/debian/keydb-enterprise-sentinel.1 b/pkg/deb/debian/keydb-sentinel.1 similarity index 100% rename from pkg/deb/debian/keydb-enterprise-sentinel.1 rename to pkg/deb/debian/keydb-sentinel.1 diff --git a/pkg/deb/debian_dh9/keydb-enterprise-sentinel.install b/pkg/deb/debian/keydb-sentinel.install similarity index 100% rename from pkg/deb/debian_dh9/keydb-enterprise-sentinel.install rename to pkg/deb/debian/keydb-sentinel.install diff --git a/pkg/deb/debian/keydb-enterprise-sentinel.logrotate b/pkg/deb/debian/keydb-sentinel.logrotate similarity index 100% rename from pkg/deb/debian/keydb-enterprise-sentinel.logrotate rename to pkg/deb/debian/keydb-sentinel.logrotate diff --git a/pkg/deb/debian/keydb-sentinel.manpages b/pkg/deb/debian/keydb-sentinel.manpages new file mode 100644 index 000000000..1b3d9d4a1 --- /dev/null +++ b/pkg/deb/debian/keydb-sentinel.manpages @@ -0,0 +1 @@ +debian/keydb-sentinel.1 diff --git a/pkg/deb/debian/keydb-enterprise-sentinel.postinst b/pkg/deb/debian/keydb-sentinel.postinst similarity index 100% rename from pkg/deb/debian/keydb-enterprise-sentinel.postinst rename to pkg/deb/debian/keydb-sentinel.postinst diff --git a/pkg/deb/debian/keydb-enterprise-sentinel.postrm b/pkg/deb/debian/keydb-sentinel.postrm similarity index 100% rename from pkg/deb/debian/keydb-enterprise-sentinel.postrm rename to pkg/deb/debian/keydb-sentinel.postrm diff --git a/pkg/deb/debian/keydb-enterprise-server.1 b/pkg/deb/debian/keydb-server.1 similarity index 100% rename from pkg/deb/debian/keydb-enterprise-server.1 rename to pkg/deb/debian/keydb-server.1 diff --git a/pkg/deb/debian/keydb-enterprise-server.docs b/pkg/deb/debian/keydb-server.docs similarity index 100% rename from pkg/deb/debian/keydb-enterprise-server.docs rename to pkg/deb/debian/keydb-server.docs diff --git a/pkg/deb/debian_dh9/keydb-enterprise-server.install b/pkg/deb/debian/keydb-server.install similarity index 100% rename from pkg/deb/debian_dh9/keydb-enterprise-server.install rename to pkg/deb/debian/keydb-server.install diff --git a/pkg/deb/debian/keydb-enterprise-server.logrotate b/pkg/deb/debian/keydb-server.logrotate similarity index 100% rename from pkg/deb/debian/keydb-enterprise-server.logrotate rename to pkg/deb/debian/keydb-server.logrotate diff --git a/pkg/deb/debian/keydb-server.manpages b/pkg/deb/debian/keydb-server.manpages new file mode 100644 index 000000000..3935e22fd --- /dev/null +++ b/pkg/deb/debian/keydb-server.manpages @@ -0,0 +1 @@ +debian/keydb-server.1 diff --git a/pkg/deb/debian/keydb-enterprise-server.postinst b/pkg/deb/debian/keydb-server.postinst similarity index 100% rename from pkg/deb/debian/keydb-enterprise-server.postinst rename to pkg/deb/debian/keydb-server.postinst diff --git a/pkg/deb/debian/keydb-enterprise-server.postrm b/pkg/deb/debian/keydb-server.postrm similarity index 100% rename from pkg/deb/debian/keydb-enterprise-server.postrm rename to pkg/deb/debian/keydb-server.postrm diff --git a/pkg/deb/debian/keydb-enterprise-tools.examples b/pkg/deb/debian/keydb-tools.examples similarity index 100% rename from pkg/deb/debian/keydb-enterprise-tools.examples rename to pkg/deb/debian/keydb-tools.examples diff --git a/pkg/deb/debian/keydb-enterprise-tools.install b/pkg/deb/debian/keydb-tools.install similarity index 100% rename from pkg/deb/debian/keydb-enterprise-tools.install rename to pkg/deb/debian/keydb-tools.install diff --git a/pkg/deb/debian/keydb-enterprise-tools.manpages b/pkg/deb/debian/keydb-tools.manpages similarity index 100% rename from pkg/deb/debian/keydb-enterprise-tools.manpages rename to pkg/deb/debian/keydb-tools.manpages diff --git a/pkg/deb/debian/keydb-enterprise-tools.postinst b/pkg/deb/debian/keydb-tools.postinst similarity index 100% rename from pkg/deb/debian/keydb-enterprise-tools.postinst rename to pkg/deb/debian/keydb-tools.postinst diff --git a/pkg/deb/debian/keydb-enterprise-tools.postrm b/pkg/deb/debian/keydb-tools.postrm similarity index 100% rename from pkg/deb/debian/keydb-enterprise-tools.postrm rename to pkg/deb/debian/keydb-tools.postrm diff --git a/pkg/deb/debian/rules b/pkg/deb/debian/rules index 4e888da78..957e05f9a 100755 --- a/pkg/deb/debian/rules +++ b/pkg/deb/debian/rules @@ -19,8 +19,7 @@ endif override_dh_auto_install: debian/bin/generate-systemd-service-files - dh_installsystemd --name keydb-server --restart-after-upgrade - dh_installsystemd --name keydb-sentinel --restart-after-upgrade + dh_installsystemd --restart-after-upgrade override_dh_auto_test: ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) diff --git a/pkg/deb/debian/source/lintian-overrides b/pkg/deb/debian/source/lintian-overrides index ebc49b26e..44dec9b63 100644 --- a/pkg/deb/debian/source/lintian-overrides +++ b/pkg/deb/debian/source/lintian-overrides @@ -1,2 +1,2 @@ # Upstream do not provide signed tarballs. -keydb-enterprise source: debian-watch-does-not-check-gpg-signature +keydb-pro source: debian-watch-does-not-check-gpg-signature diff --git a/pkg/deb/debian/watch b/pkg/deb/debian/watch index 2dac38351..a87ec419e 100644 --- a/pkg/deb/debian/watch +++ b/pkg/deb/debian/watch @@ -1,3 +1,3 @@ version=6 opts=uversionmangle=s/-?(alpha|beta|rc)/~$1/ \ - https://gitlab.eqalpha.com/keydb-dev/KeyDB-Pro/releases .*/archive/(.*).tar.gz + https://github.com/EQ-Alpha/KeyDB/releases .*/archive/(.*).tar.gz diff --git a/pkg/deb/debian_dh9/bin/generate-systemd-service-files b/pkg/deb/debian_dh9/bin/generate-systemd-service-files index 4a3df9a12..59031d99f 100755 --- a/pkg/deb/debian_dh9/bin/generate-systemd-service-files +++ b/pkg/deb/debian_dh9/bin/generate-systemd-service-files @@ -9,6 +9,7 @@ else SYSTEMD_EXTRA=$(cat < Mon, 09 Oct 2017 22:17:24 +0100 EOF fi diff --git a/pkg/deb/debian_dh9/control b/pkg/deb/debian_dh9/control index 3780e177f..0feec1220 100644 --- a/pkg/deb/debian_dh9/control +++ b/pkg/deb/debian_dh9/control @@ -1,4 +1,4 @@ -Source: keydb-enterprise +Source: keydb Section: database Priority: optional Maintainer: Ben Schermel @@ -6,11 +6,6 @@ Build-Depends: debhelper (>= 9~), dpkg-dev (>= 1.17.5), systemd, -# libhiredis-dev (>= 0.14.0), -# libjemalloc-dev [linux-any], -# liblua5.1-dev, -# lua-bitop-dev, -# lua-cjson-dev, libsystemd-dev , procps , build-essential , @@ -30,14 +25,14 @@ Build-Depends: libzstd-dev Standards-Version: 4.2.1 Homepage: https://docs.keydb.dev/ -Vcs-Git: https://gitlab.eqalpha.com/keydb-dev/KeyDB-Pro.git -Vcs-Browser: https://gitlab.eqalpha.com/keydb-dev/KeyDB-Pro +Vcs-Git: https://github.com/EQ-Alpha/KeyDB.git +Vcs-Browser: https://github.com/EQ-Alpha/KeyDB -Package: keydb-enterprise +Package: keydb Architecture: all Depends: - keydb-enterprise-server (<< ${binary:Version}.1~), - keydb-enterprise-server (>= ${binary:Version}), + keydb-server (<< ${binary:Version}.1~), + keydb-server (>= ${binary:Version}), ${misc:Depends}, Description: Persistent key-value database with network interface (metapackage) keydb is a key-value database in a similar vein to memcache but the dataset @@ -48,11 +43,11 @@ Description: Persistent key-value database with network interface (metapackage) . This package depends on the keydb-server package. -Package: keydb-enterprise-sentinel +Package: keydb-sentinel Architecture: any Depends: lsb-base (>= 3.2-14), - keydb-enterprise-tools (= ${binary:Version}), + keydb-tools (= ${binary:Version}), ${misc:Depends}, Description: Persistent key-value database with network interface (monitoring) keydb is a key-value database in a similar vein to memcache but the dataset @@ -61,11 +56,11 @@ Description: Persistent key-value database with network interface (monitoring) . This package contains the keydb Sentinel monitoring software. -Package: keydb-enterprise-server +Package: keydb-server Architecture: any Depends: lsb-base (>= 3.2-14), - keydb-enterprise-tools (= ${binary:Version}), + keydb-tools (= ${binary:Version}), ${misc:Depends}, Description: Persistent key-value database with network interface keydb is a key-value database in a similar vein to memcache but the dataset @@ -74,7 +69,7 @@ Description: Persistent key-value database with network interface . The dataset is stored entirely in memory and periodically flushed to disk. -Package: keydb-enterprise-tools +Package: keydb-tools Architecture: any Depends: adduser, diff --git a/pkg/deb/debian_dh9/copyright b/pkg/deb/debian_dh9/copyright index f8a049e5f..24000363f 100644 --- a/pkg/deb/debian_dh9/copyright +++ b/pkg/deb/debian_dh9/copyright @@ -1,13 +1,89 @@ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Contact: John Sully -Upstream-Name: keydb-enterprise -Source: https://gitlab.eqalpha.com/keydb-dev/KeyDB-Pro +Upstream-Name: KeyDB +Source: https://github.com/EQ-Alpha/KeyDB Files: * -Copyright: © 2006-2014 Salvatore Sanfilippo -Copyright © 2019, John Sully -License: Proprietary +Copyright: + © 2006-2014 Salvatore Sanfilippo + © 2019-2021 John Sully + © 2019-2021 EQ Alpha Technology Ltd. +License: BSD-3-clause + +Files: + src/rio.* + src/t_zset.c + src/ziplist.h + src/intset.* + src/redis-check-aof.c + deps/hiredis/* + deps/linenoise/* +Copyright: + © 2009-2012 Pieter Noordhuis + © 2009-2012 Salvatore Sanfilippo +License: BSD-3-clause + +Files: + src/lzf.h + src/lzfP.h + src/lzf_d.c + src/lzf_c.c +Copyright: + © 2000-2007 Marc Alexander Lehmann + © 2009-2012 Salvatore Sanfilippo +License: BSD-2-clause + +Files: src/setproctitle.c +Copyright: + © 2010 William Ahern + © 2013 Salvatore Sanfilippo + © 2013 Stam He +License: BSD-3-clause + +Files: src/ae_evport.c +Copyright: © 2012 Joyent, Inc. +License: BSD-3-clause + +Files: src/ae_kqueue.c +Copyright: © 2009 Harish Mallipeddi +License: BSD-3-clause + +Files: utils/install_server.sh +Copyright: © 2011 Dvir Volk +License: BSD-3-clause + +Files: deps/jemalloc/* +Copyright: + © 2002-2012 Jason Evans + © 2007-2012 Mozilla Foundation + © 2009-2012 Facebook, Inc. +License: BSD-3-clause + +Files: src/pqsort.* +Copyright: © 1992-1993 The Regents of the University of California +License: BSD-3-clause + +Files: deps/lua/* +Copyright: © 1994-2012 Lua.org, PUC-Ri +License: MIT + Permission is hereby granted, free of charge, to any person obtaining a copy + of this software and associated documentation files (the "Software"), to deal + in the Software without restriction, including without limitation the rights + to use, copy, modify, merge, publish, distribute, sublicense, and/or sell + copies of the Software, and to permit persons to whom the Software is + furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE + AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, + OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN + THE SOFTWARE. Files: pkg/deb/debian_dh9/* Copyright: diff --git a/pkg/deb/debian_dh9/files b/pkg/deb/debian_dh9/files new file mode 100644 index 000000000..0c2ad5610 --- /dev/null +++ b/pkg/deb/debian_dh9/files @@ -0,0 +1 @@ +keydb_5.3.3-1~bionic1_source.buildinfo database optional diff --git a/pkg/deb/debian_dh9/keydb-benchmark.1 b/pkg/deb/debian_dh9/keydb-benchmark.1 index 07a659177..ce9f119b4 100644 --- a/pkg/deb/debian_dh9/keydb-benchmark.1 +++ b/pkg/deb/debian_dh9/keydb-benchmark.1 @@ -1,6 +1,6 @@ .TH KEYDB-BENCHMARK 1 "August 17, 2019" .SH NAME -keydb-benchmark \- Benchmark a KeyDB instance +keydb-benchmark \- Benechmark a KeyDB instance .SH SYNOPSIS .B redis-benchmark [\-h ] [\-p ] [\-c ] [\-n [\-k ] diff --git a/pkg/deb/debian_dh9/keydb-enterprise-sentinel.manpages b/pkg/deb/debian_dh9/keydb-enterprise-sentinel.manpages deleted file mode 100644 index 036eda5a6..000000000 --- a/pkg/deb/debian_dh9/keydb-enterprise-sentinel.manpages +++ /dev/null @@ -1 +0,0 @@ -debian/keydb-enterprise-sentinel.1 diff --git a/pkg/deb/debian_dh9/keydb-enterprise-sentinel.prerm b/pkg/deb/debian_dh9/keydb-enterprise-sentinel.prerm deleted file mode 100644 index cbe143203..000000000 --- a/pkg/deb/debian_dh9/keydb-enterprise-sentinel.prerm +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -set -e -# Automatically added by dh_installinit/11.1.6ubuntu1 -if [ -x "/etc/init.d/keydb-sentinel" ]; then - invoke-rc.d keydb-sentinel stop || exit 1 -fi -# End automatically added section -# Automatically added by dh_installsystemd/11.1.6ubuntu1 -if [ -d /run/systemd/system ] && [ "$1" = remove ]; then - deb-systemd-invoke stop 'keydb-sentinel.service' >/dev/null || true -fi -# End automatically added section diff --git a/pkg/deb/debian_dh9/keydb-enterprise-server.manpages b/pkg/deb/debian_dh9/keydb-enterprise-server.manpages deleted file mode 100644 index f66cf18d1..000000000 --- a/pkg/deb/debian_dh9/keydb-enterprise-server.manpages +++ /dev/null @@ -1 +0,0 @@ -debian/keydb-enterprise-server.1 diff --git a/pkg/deb/debian_dh9/keydb-enterprise-server.prerm b/pkg/deb/debian_dh9/keydb-enterprise-server.prerm deleted file mode 100644 index 3517c7ccb..000000000 --- a/pkg/deb/debian_dh9/keydb-enterprise-server.prerm +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -set -e -# Automatically added by dh_installinit/11.1.6ubuntu1 -if [ -x "/etc/init.d/keydb-server" ]; then - invoke-rc.d keydb-server stop || exit 1 -fi -# End automatically added section -# Automatically added by dh_installsystemd/11.1.6ubuntu1 -if [ -d /run/systemd/system ] && [ "$1" = remove ]; then - deb-systemd-invoke stop 'keydb-server.service' >/dev/null || true -fi -# End automatically added section diff --git a/pkg/deb/debian_dh9/keydb-enterprise-sentinel.1 b/pkg/deb/debian_dh9/keydb-sentinel.1 similarity index 100% rename from pkg/deb/debian_dh9/keydb-enterprise-sentinel.1 rename to pkg/deb/debian_dh9/keydb-sentinel.1 diff --git a/pkg/deb/debian_dh9/keydb-sentinel.default b/pkg/deb/debian_dh9/keydb-sentinel.default new file mode 100755 index 000000000..05a3b73b0 --- /dev/null +++ b/pkg/deb/debian_dh9/keydb-sentinel.default @@ -0,0 +1,8 @@ +# keydb-sentinel configure options + +# ULIMIT: Call ulimit -n with this argument prior to invoking KeyDB Sentinel +# itself. This may be required for high-concurrency environments. KeyDB +# Sentinel itself cannot alter its limits as it is not being run as root. +# (default: 65536) +# +ULIMIT=65536 diff --git a/pkg/deb/debian_dh9/keydb-sentinel.init b/pkg/deb/debian_dh9/keydb-sentinel.init new file mode 100755 index 000000000..1ec8b9a95 --- /dev/null +++ b/pkg/deb/debian_dh9/keydb-sentinel.init @@ -0,0 +1,89 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: keydb-sentinel +# Required-Start: $syslog $remote_fs +# Required-Stop: $syslog $remote_fs +# Should-Start: $local_fs +# Should-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: keydb-sentinel - Persistent key-value db monitor +# Description: keydb-sentinel - Persistent key-value db monitor +### END INIT INFO + + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/bin/keydb-sentinel +DAEMON_ARGS=/etc/keydb/sentinel.conf +NAME=keydb-sentinel +DESC=keydb-sentinel + +RUNDIR=/var/run/sentinel +PIDFILE=$RUNDIR/keydb-sentinel.pid + +test -x $DAEMON || exit 0 + +if [ -r /etc/default/$NAME ] +then + . /etc/default/$NAME +fi + +. /lib/lsb/init-functions + +set -e + +if [ "$(id -u)" != "0" ] +then + log_failure_msg "Must be run as root." + exit 1 +fi + +case "$1" in + start) + echo -n "Starting $DESC: " + mkdir -p $RUNDIR + touch $PIDFILE + chown keydb:keydb $RUNDIR $PIDFILE + chmod 755 $RUNDIR + + if [ -n "$ULIMIT" ] + then + ulimit -n $ULIMIT || true + fi + + if start-stop-daemon --start --quiet --oknodo --umask 007 --pidfile $PIDFILE --chuid keydb:keydb --exec $DAEMON -- $DAEMON_ARGS + then + echo "$NAME." + else + echo "failed" + fi + ;; + stop) + echo -n "Stopping $DESC: " + + if start-stop-daemon --stop --retry forever/TERM/1 --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON + then + echo "$NAME." + else + echo "failed" + fi + rm -f $PIDFILE + sleep 1 + ;; + + restart|force-reload) + ${0} stop + ${0} start + ;; + + status) + status_of_proc -p ${PIDFILE} ${DAEMON} ${NAME} + ;; + + *) + echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload|status}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/pkg/deb/debian_dh9/keydb-sentinel.install b/pkg/deb/debian_dh9/keydb-sentinel.install new file mode 100644 index 000000000..600ef543c --- /dev/null +++ b/pkg/deb/debian_dh9/keydb-sentinel.install @@ -0,0 +1,2 @@ +debian/keydb-sentinel.service /lib/systemd/system +pkg/deb/conf/sentinel.conf /etc/keydb diff --git a/pkg/deb/debian_dh9/keydb-enterprise-sentinel.logrotate b/pkg/deb/debian_dh9/keydb-sentinel.logrotate similarity index 100% rename from pkg/deb/debian_dh9/keydb-enterprise-sentinel.logrotate rename to pkg/deb/debian_dh9/keydb-sentinel.logrotate diff --git a/pkg/deb/debian_dh9/keydb-enterprise-sentinel.maintscript b/pkg/deb/debian_dh9/keydb-sentinel.maintscript similarity index 100% rename from pkg/deb/debian_dh9/keydb-enterprise-sentinel.maintscript rename to pkg/deb/debian_dh9/keydb-sentinel.maintscript diff --git a/pkg/deb/debian_dh9/keydb-sentinel.manpages b/pkg/deb/debian_dh9/keydb-sentinel.manpages new file mode 100644 index 000000000..1b3d9d4a1 --- /dev/null +++ b/pkg/deb/debian_dh9/keydb-sentinel.manpages @@ -0,0 +1 @@ +debian/keydb-sentinel.1 diff --git a/pkg/deb/debian_dh9/keydb-enterprise-sentinel.postinst b/pkg/deb/debian_dh9/keydb-sentinel.postinst similarity index 93% rename from pkg/deb/debian_dh9/keydb-enterprise-sentinel.postinst rename to pkg/deb/debian_dh9/keydb-sentinel.postinst index 787464165..0c856c5c5 100644 --- a/pkg/deb/debian_dh9/keydb-enterprise-sentinel.postinst +++ b/pkg/deb/debian_dh9/keydb-sentinel.postinst @@ -21,6 +21,4 @@ then find /etc/keydb -maxdepth 1 -type d -name 'keydb-sentinel.*.d' -empty -delete fi -systemctl daemon-reload - exit 0 diff --git a/pkg/deb/debian_dh9/keydb-enterprise-sentinel.postrm b/pkg/deb/debian_dh9/keydb-sentinel.postrm similarity index 86% rename from pkg/deb/debian_dh9/keydb-enterprise-sentinel.postrm rename to pkg/deb/debian_dh9/keydb-sentinel.postrm index 2ce8771df..2e9f62888 100644 --- a/pkg/deb/debian_dh9/keydb-enterprise-sentinel.postrm +++ b/pkg/deb/debian_dh9/keydb-sentinel.postrm @@ -11,6 +11,4 @@ fi #DEBHELPER# -systemctl daemon-reload - exit 0 diff --git a/pkg/deb/debian_dh9/keydb-enterprise-server.1 b/pkg/deb/debian_dh9/keydb-server.1 similarity index 100% rename from pkg/deb/debian_dh9/keydb-enterprise-server.1 rename to pkg/deb/debian_dh9/keydb-server.1 diff --git a/pkg/deb/debian_dh9/keydb-server.default b/pkg/deb/debian_dh9/keydb-server.default new file mode 100755 index 000000000..9288682fa --- /dev/null +++ b/pkg/deb/debian_dh9/keydb-server.default @@ -0,0 +1,7 @@ +# keydb-server configure options + +# ULIMIT: Call ulimit -n with this argument prior to invoking Redis itself. +# This may be required for high-concurrency environments. KeyDB itself cannot +# alter its limits as it is not being run as root. (default: 65536) +# +ULIMIT=65536 diff --git a/pkg/deb/debian_dh9/keydb-enterprise-server.docs b/pkg/deb/debian_dh9/keydb-server.docs similarity index 100% rename from pkg/deb/debian_dh9/keydb-enterprise-server.docs rename to pkg/deb/debian_dh9/keydb-server.docs diff --git a/pkg/deb/debian_dh9/keydb-server.init b/pkg/deb/debian_dh9/keydb-server.init new file mode 100755 index 000000000..4d0de9149 --- /dev/null +++ b/pkg/deb/debian_dh9/keydb-server.init @@ -0,0 +1,89 @@ +#! /bin/sh +### BEGIN INIT INFO +# Provides: keydb-server +# Required-Start: $syslog $remote_fs +# Required-Stop: $syslog $remote_fs +# Should-Start: $local_fs +# Should-Stop: $local_fs +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: keydb-server - Persistent key-value db +# Description: keydb-server - Persistent key-value db +### END INIT INFO + + +PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin +DAEMON=/usr/bin/keydb-server +DAEMON_ARGS=/etc/keydb/keydb.conf +NAME=keydb-server +DESC=keydb-server + +RUNDIR=/var/run/keydb +PIDFILE=$RUNDIR/keydb-server.pid + +test -x $DAEMON || exit 0 + +if [ -r /etc/default/$NAME ] +then + . /etc/default/$NAME +fi + +. /lib/lsb/init-functions + +set -e + +if [ "$(id -u)" != "0" ] +then + log_failure_msg "Must be run as root." + exit 1 +fi + +case "$1" in + start) + echo -n "Starting $DESC: " + mkdir -p $RUNDIR + touch $PIDFILE + chown keydb:keydb $RUNDIR $PIDFILE + chmod 755 $RUNDIR + + if [ -n "$ULIMIT" ] + then + ulimit -n $ULIMIT || true + fi + + if start-stop-daemon --start --quiet --oknodo --umask 007 --pidfile $PIDFILE --chuid keydb:keydb --exec $DAEMON -- $DAEMON_ARGS + then + echo "$NAME." + else + echo "failed" + fi + ;; + stop) + echo -n "Stopping $DESC: " + + if start-stop-daemon --stop --retry forever/TERM/1 --quiet --oknodo --pidfile $PIDFILE --exec $DAEMON + then + echo "$NAME." + else + echo "failed" + fi + rm -f $PIDFILE + sleep 1 + ;; + + restart|force-reload) + ${0} stop + ${0} start + ;; + + status) + status_of_proc -p ${PIDFILE} ${DAEMON} ${NAME} + ;; + + *) + echo "Usage: /etc/init.d/$NAME {start|stop|restart|force-reload|status}" >&2 + exit 1 + ;; +esac + +exit 0 diff --git a/pkg/deb/debian_dh9/keydb-server.install b/pkg/deb/debian_dh9/keydb-server.install new file mode 100644 index 000000000..1b86989b1 --- /dev/null +++ b/pkg/deb/debian_dh9/keydb-server.install @@ -0,0 +1,2 @@ +debian/keydb-server.service /lib/systemd/system +pkg/deb/conf/keydb.conf /etc/keydb diff --git a/pkg/deb/debian_dh9/keydb-enterprise-server.logrotate b/pkg/deb/debian_dh9/keydb-server.logrotate similarity index 100% rename from pkg/deb/debian_dh9/keydb-enterprise-server.logrotate rename to pkg/deb/debian_dh9/keydb-server.logrotate diff --git a/pkg/deb/debian_dh9/keydb-enterprise-server.maintscript b/pkg/deb/debian_dh9/keydb-server.maintscript similarity index 100% rename from pkg/deb/debian_dh9/keydb-enterprise-server.maintscript rename to pkg/deb/debian_dh9/keydb-server.maintscript diff --git a/pkg/deb/debian_dh9/keydb-server.manpages b/pkg/deb/debian_dh9/keydb-server.manpages new file mode 100644 index 000000000..3935e22fd --- /dev/null +++ b/pkg/deb/debian_dh9/keydb-server.manpages @@ -0,0 +1 @@ +debian/keydb-server.1 diff --git a/pkg/deb/debian_dh9/keydb-enterprise-server.postinst b/pkg/deb/debian_dh9/keydb-server.postinst similarity index 93% rename from pkg/deb/debian_dh9/keydb-enterprise-server.postinst rename to pkg/deb/debian_dh9/keydb-server.postinst index 9d48ee638..b53ce4142 100644 --- a/pkg/deb/debian_dh9/keydb-enterprise-server.postinst +++ b/pkg/deb/debian_dh9/keydb-server.postinst @@ -21,6 +21,4 @@ then find /etc/keydb -maxdepth 1 -type d -name 'keydb-server.*.d' -empty -delete fi -systemctl daemon-reload - exit 0 diff --git a/pkg/deb/debian_dh9/keydb-enterprise-server.postrm b/pkg/deb/debian_dh9/keydb-server.postrm similarity index 86% rename from pkg/deb/debian_dh9/keydb-enterprise-server.postrm rename to pkg/deb/debian_dh9/keydb-server.postrm index cf57953c3..16ef23bd7 100644 --- a/pkg/deb/debian_dh9/keydb-enterprise-server.postrm +++ b/pkg/deb/debian_dh9/keydb-server.postrm @@ -11,6 +11,4 @@ fi #DEBHELPER# -systemctl daemon-reload - exit 0 diff --git a/pkg/deb/debian_dh9/keydb-enterprise-tools.examples b/pkg/deb/debian_dh9/keydb-tools.examples similarity index 100% rename from pkg/deb/debian_dh9/keydb-enterprise-tools.examples rename to pkg/deb/debian_dh9/keydb-tools.examples diff --git a/pkg/deb/debian_dh9/keydb-enterprise-tools.install b/pkg/deb/debian_dh9/keydb-tools.install similarity index 100% rename from pkg/deb/debian_dh9/keydb-enterprise-tools.install rename to pkg/deb/debian_dh9/keydb-tools.install index 3cdaf4328..00281bf0e 100644 --- a/pkg/deb/debian_dh9/keydb-enterprise-tools.install +++ b/pkg/deb/debian_dh9/keydb-tools.install @@ -1,8 +1,8 @@ debian/bash_completion.d/* /usr/share/bash-completion/completions +src/keydb-server /usr/bin src/keydb-benchmark /usr/bin src/keydb-check-aof /usr/bin src/keydb-check-rdb /usr/bin src/keydb-cli /usr/bin -src/keydb-server /usr/bin src/keydb-sentinel /usr/bin src/keydb-diagnostic-tool /usr/bin diff --git a/pkg/deb/debian_dh9/keydb-enterprise-tools.manpages b/pkg/deb/debian_dh9/keydb-tools.manpages similarity index 100% rename from pkg/deb/debian_dh9/keydb-enterprise-tools.manpages rename to pkg/deb/debian_dh9/keydb-tools.manpages diff --git a/pkg/deb/debian_dh9/keydb-enterprise-tools.postinst b/pkg/deb/debian_dh9/keydb-tools.postinst similarity index 100% rename from pkg/deb/debian_dh9/keydb-enterprise-tools.postinst rename to pkg/deb/debian_dh9/keydb-tools.postinst diff --git a/pkg/deb/debian_dh9/keydb-enterprise-tools.postrm b/pkg/deb/debian_dh9/keydb-tools.postrm similarity index 100% rename from pkg/deb/debian_dh9/keydb-enterprise-tools.postrm rename to pkg/deb/debian_dh9/keydb-tools.postrm diff --git a/pkg/deb/debian_dh9/rules b/pkg/deb/debian_dh9/rules index d1a731196..a568ae470 100755 --- a/pkg/deb/debian_dh9/rules +++ b/pkg/deb/debian_dh9/rules @@ -33,9 +33,9 @@ override_dh_auto_install: override_dh_auto_test: ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS))) # Avoid race conditions in upstream testsuite. - ./runtest --clients 1 || true - ./runtest-cluster || true - ./runtest-sentinel || true +# ./runtest --clients 1 || true +# ./runtest-cluster || true +# ./runtest-sentinel || true endif override_dh_auto_clean: diff --git a/pkg/deb/debian_dh9/source/include-binaries b/pkg/deb/debian_dh9/source/include-binaries index aa70b47d3..ddd5cd4c9 100644 --- a/pkg/deb/debian_dh9/source/include-binaries +++ b/pkg/deb/debian_dh9/source/include-binaries @@ -1,3 +1,2 @@ -keydb-enterprise_5.0.6.orig.tar.gz -keydb-enterprise_5.0.6-1~bionic1.debian.tar.xz - +keydb_5.0.6.orig.tar.gz +keydb_5.0.6-1chl1~bionic1.debian.tar.xz diff --git a/pkg/deb/debian_dh9/source/lintian-overrides b/pkg/deb/debian_dh9/source/lintian-overrides index ebc49b26e..ca7456a67 100644 --- a/pkg/deb/debian_dh9/source/lintian-overrides +++ b/pkg/deb/debian_dh9/source/lintian-overrides @@ -1,2 +1,2 @@ # Upstream do not provide signed tarballs. -keydb-enterprise source: debian-watch-does-not-check-gpg-signature +keydb source: debian-watch-does-not-check-gpg-signature diff --git a/pkg/deb/debian_dh9/source/options b/pkg/deb/debian_dh9/source/options index 3e1f0633c..aa96de89f 100644 --- a/pkg/deb/debian_dh9/source/options +++ b/pkg/deb/debian_dh9/source/options @@ -1,2 +1 @@ extend-diff-ignore = "^\.travis\.yml$" - diff --git a/pkg/deb/debian_dh9/watch b/pkg/deb/debian_dh9/watch index 2dac38351..80db04d7f 100644 --- a/pkg/deb/debian_dh9/watch +++ b/pkg/deb/debian_dh9/watch @@ -1,3 +1,3 @@ -version=6 +version=4 opts=uversionmangle=s/-?(alpha|beta|rc)/~$1/ \ - https://gitlab.eqalpha.com/keydb-dev/KeyDB-Pro/releases .*/archive/(.*).tar.gz + https://github.com/EQ-Alpha/KeyDB/releases .*/archive/(.*).tar.gz diff --git a/pkg/deb/master_changelog b/pkg/deb/master_changelog index c5b91f9fa..606ceb5d2 100644 --- a/pkg/deb/master_changelog +++ b/pkg/deb/master_changelog @@ -1,5 +1,119 @@ -keydb-enterprise (6:6.0.12-1distribution_placeholder) codename_placeholder; urgency=medium +keydb (6:6.2.2-1distribution_placeholder) codename_placeholder; urgency=medium - * 6.0.12 Enable SCAN for MVCC + * Acquire lock in module.cpp to fix module test break + * Fix usage of nanosleep() on Apple hardware + * Fix networking deadlock (#183) + * Remove redundant zfree() in keydb-benchmark + * Issues resolved: #378, #384 - -- Ben Schermel Fri, 10 Jul 2020 20:00:37 +0000 +-- Ben Schermel Sat, 15 Jan 2022 20:00:37 +0000 + +keydb (6:6.2.1-1distribution_placeholder) codename_placeholder; urgency=medium + + * This release of KeyDB is at parity with Redis 6.2.6. In addition, the following changes were included: + * Systemd support for release packages + * Fixes to buffer overflows in the `BITOP SHIFT` and `CRON` commands + * Server times are now computed on a seperate thread to improve performance + * Now enforces syslog identity and facility as soon as possible + * Removed erroneous use of LOG_... flags when using syslog + * Fixed erroneous `#endif` leading to build errors on some platforms + * Fixed the incorrect counting of client connections + * Issues resolved: #355, #370 + + -- Ben Schermel Wed, 17 Nov 2021 20:00:37 +0000 + +keydb (6:6.2.0-1distribution_placeholder) codename_placeholder; urgency=medium + + * Removed unused command line options(-a, -d, -P, -r, -q, --csv, -l, -I, -e, --precision, --cluster, --enable-tracking) + * --ms option changed to --time, added --clients, --host, --port, and --threads options + * Added keydb-diagnostic-tool + * Improved test reliability + * Fixed memory leak in keydb-benchmark + * Fixed a number of race conditions + * Fixed OSX build issues + * Feature parity with Redis 6.2.3 + * Fixed Issues: #323 #325 #276 + + -- Ben Schermel Thu, 12 Aug 2021 20:00:37 +0000 + +keydb (6:6.0.18-1distribution_placeholder) codename_placeholder; urgency=medium + + * 6.0.18 - This release contains a number of improvements to stability and performance. + * Additional tests were added with improvements to existing test reliability + * Merged Redis 6.0.10 into KeyDB + * Issues resolved in this release: #214, #222, #238, #257, #273, #276, #285 + + -- Ben Schermel Fri, 26 Mar 2021 16:00:00 +0000 + +keydb (6:6.0.16-1distribution_placeholder) codename_placeholder; urgency=medium + + * 6.0.16 - This release contains significant performance improvements as well as fixes to the following issues: #234, #236, #233, #207, #229, #231 + * Reduced memory consumption when Active Replication is not used + * Reduced CPU consumption + * Improved TLS performance + * replica-quorum config for multi-master.Intended to be used with "replica-serve-stale-data no", if at least N replicas are connected we will consider our master link up and serve data. + * Subkey expires performance improvement for big sets + + -- Ben Schermel Mon, 28 Sep 2020 16:00:00 +0000 + +keydb (6:6.0.13-1distribution_placeholder) codename_placeholder; urgency=medium + + * 6.0.13 New features added: KEYDB.MEXISTS, REPLICAOF REMOVE, multi-master-no-forward configuration option + * KEYDB.MEXISTS - return exactly which keys exist in the database not just the count + * REPLICAOF REMOVE - Remove specific masters in a multi master setup + * multi-master-no-forward configuration option - Reduce network traffic in mesh topology multimaster setups + * Redis 6.0.5 feature parity + * Fixed Issues: 194 Bad directive or wrong number of arguments error on 'lazyfree-lazy-user-del no'; 209 Timeout using modules; 210 Databases are not merged on multi-master sync; 211 rpm packages now signed; 212 rpm file permissions updated + + -- Ben Schermel Mon, 13 Jul 2020 8:00:00 +0000 + +keydb (6:6.0.9-1distribution_placeholder) codename_placeholder; urgency=medium + + * 6.0.9 Addressing issues 187 - cpu lockup with subkey expire, 190 - missing sentinel binary in keydb-tools. + + -- Ben Schermel Sun, 07 Jun 2020 18:00:37 +0000 + +keydb (6:6.0.8-1distribution_placeholder) codename_placeholder; urgency=medium + + * This is our first release to fully support all Redis 6.0.4 features, including but not limited to: TLS Support (fully supports multithreading!), Client side caching, RESP 3 Support + * KeyDB Has also added the following new features: Improved memory efficiency for short strings, Fastlock autotuning, KeyDB.HRENAME (rename a member of a hash)In addition we've spent a lot of time focussing on stability. + * The following bug fixes are resolved: 150 - Deadlock in ReplicationFeedMonitors, 170 - KeyDB dying via SIGABORT, 180 - crash after setting maxclients via cmd line, 169 - Write performance of a master dropped sharply when a slave is added + * In addition untracked issues were resolved: Potential deadlock when entering futex sleep, Pub/Sub Async messages may not be sent in a timely manner when load is low, Excessive logging during failed RREPLAY, KeyDB unresponsive handling clients on different threads during RDB load + * Updated deb package builds to build from source and phasing out init.d. dh_installsystemd from deb helper 11 used where applicable + * Naming conventions are now updated [ keydbpackage_version-build~distribution_architecture] and master changelog included and maintained + * keydb-pro-server binary is no longer inluded in the open source package + + -- Ben Schermel Mon, 1 Jun 2020 8:00:37 +0000 + +keydb (5:5.3.3-1distribution_placeholder) codename_placeholder; urgency=medium + + * 5.3.3 Updating deb source package, naming conventions, and build scripts. + + -- Ben Schermel Wed, 06 May 2020 8:00:37 +0000 + +keydb (5:5.1.12-1chl1distribution_placeholder) codename_placeholder; urgency=medium + + * 5.1.1 update. This update fixes several rare deadlock scenarios. Deadlock detection is also added. + + -- Ben Schermel Fri, 25 Oct 2019 8:00:37 +0000 + + +keydb (5:5.1.11-1chl1distribution_placeholder) codename_placeholder; urgency=medium + + * 5.1 release. This release includes subkey expires (EXPIREMEMBER/EXPIREMEMBERAT), with updates to PTTL/TTL accordingly. New OBJECT LASTMODIFIED, BITIOP LSHIFT & BITOP RSHIFT commands. See https://docs.keydb.dev/blog/2019/10/20/blog-post/ for detailed review of release. + + -- Ben Schermel Mon, 21 Oct 2019 8:00:37 +0000 + + +keydb (5:5.0.1-1chl1distribution_placeholder) codename_placeholder; urgency=medium + + * Arm build now included for bionic package + + -- Ben Schermel Wed, 21 Aug 2019 22:58:37 +0000 + + +keydb (5:5.0.0-1chl1distribution_placeholder) codename_placeholder; urgency=medium + + * Initial release of KeyDB PPA. This PPA was originally derived from https://launchpad.net/~chris-lea/+archive/ubuntu/redis-server + + -- Ben Schermel Wed, 21 Aug 2019 2:58:37 +0000 diff --git a/pkg/docker/app/docker-entrypoint.sh b/pkg/docker/app/docker-entrypoint.sh deleted file mode 100755 index 6dc54a0ac..000000000 --- a/pkg/docker/app/docker-entrypoint.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh -set -e - -# first arg is `-f` or `--some-option` -# or first arg is `something.conf` -if [ "${1#-}" != "$1" ] || [ "${1%.conf}" != "$1" ]; then - set -- keydb-server "$@" -fi - -# allow the container to be started with `--user` -if [ "$1" = 'keydb-server' -a "$(id -u)" = '0' ]; then - find . \! -user keydb -exec chown keydb '{}' + - exec gosu keydb "$0" "$@" -fi - -exec "$@" diff --git a/pkg/rpm/generate_rpms.sh b/pkg/rpm/generate_rpms.sh index 4069267f0..be5d67a7c 100755 --- a/pkg/rpm/generate_rpms.sh +++ b/pkg/rpm/generate_rpms.sh @@ -39,9 +39,8 @@ sed -i -E "1a\Version : $version" $DIR/keydb_build/keydb.spec sed -i '3d' $DIR/keydb_build/keydb.spec sed -i -E "2a\Release : $release%{?dist}" $DIR/keydb_build/keydb.spec -# yum install -y scl-utils centos-release-scl rpm-build -mkdir -p /root/rpmbuild/BUILDROOT/keydb-enterprise-$version-$release.$dist.$arch -cp -r $DIR/keydb_build/keydb_rpm/* /root/rpmbuild/BUILDROOT/keydb-enterprise-$version-$release.$dist.$arch/ +mkdir -p /root/rpmbuild/BUILDROOT/keydb-$version-$release.$dist.$arch +cp -r $DIR/keydb_build/keydb_rpm/* /root/rpmbuild/BUILDROOT/keydb-$version-$release.$dist.$arch/ rpmbuild -bb $DIR/keydb_build/keydb.spec mv /root/rpmbuild/RPMS/$arch/* $DIR/rpm_files_generated diff --git a/pkg/rpm/keydb_build/keydb.spec b/pkg/rpm/keydb_build/keydb.spec index 8fd826937..b3f7a2639 100755 --- a/pkg/rpm/keydb_build/keydb.spec +++ b/pkg/rpm/keydb_build/keydb.spec @@ -1,9 +1,9 @@ -Name : keydb-enterprise +Name : keydb Version : 6.0.5 Release : 1%{?dist} Group : Unspecified License : BSD -Packager : EQ Alpha Technology +Packager : Snap Inc. URL : https://keydb.dev Summary : A persistent key-value database diff --git a/pkg/rpm/keydb_build/keydb_rpm/etc/keydb/keydb.conf b/pkg/rpm/keydb_build/keydb_rpm/etc/keydb/keydb.conf index 4cf07d280..fca1c74e6 100644 --- a/pkg/rpm/keydb_build/keydb_rpm/etc/keydb/keydb.conf +++ b/pkg/rpm/keydb_build/keydb_rpm/etc/keydb/keydb.conf @@ -257,6 +257,24 @@ tcp-keepalive 300 # # tls-session-cache-timeout 60 +# Allow the server to monitor the filesystem and rotate out TLS certificates if +# they change on disk, defaults to no. +# +# tls-rotation no + +# Setup a allowlist of allowed Common Names (CNs)/Subject Alternative Names (SANs) +# that are allowed to connect to this server. This includes both normal clients as +# well as other servers connected for replication/clustering purposes. If nothing is +# specified, then no allowlist is used and all certificates are accepted. +# Supports IPv4, DNS, RFC822, and URI SAN types. +# You can put multiple names on one line as follows: +# +# tls-allowlist ... +# +# +# This configuration also allows for wildcard characters with glob style formatting +# i.e. "*.com" would allow all clients to connect with a CN/SAN that ends with ".com" + ################################# GENERAL ##################################### # By default KeyDB does not run as a daemon. Use 'yes' if you need it. @@ -2035,9 +2053,13 @@ server-threads 2 # bringing up replicas can result in data loss (the first master will win). # active-replica yes -# Enable Pro? KeyDB pro provides support for pro only features -# note: you may omit the license key to demo pro features for a limited time -# enable-pro [License Key] - -# Enable FLASH support? (Pro Only) -# storage-provider flash /path/to/flash/db +# KeyDB will attempt to balance clients across threads evenly; However, replica clients +# are usually much more expensive than a normal client, and so KeyDB will try to assign +# fewer clients to threads with a replica. The weighting factor below is intented to help tune +# this behavior. A replica weighting factor of 2 means we treat a replica as the equivalent +# of two normal clients. Adjusting this value may improve performance when replication is +# used. The best weighting is workload specific - e.g. read heavy workloads should set +# this to 1. Very write heavy workloads may benefit from higher numbers. +# +# By default KeyDB sets this to 2. +replica-weighting-factor 2 diff --git a/pkg/rpm/keydb_build/keydb_rpm/usr/share/licenses/keydb/COPYING b/pkg/rpm/keydb_build/keydb_rpm/usr/share/licenses/keydb/COPYING index 3a9a7a66f..477bf3019 100644 --- a/pkg/rpm/keydb_build/keydb_rpm/usr/share/licenses/keydb/COPYING +++ b/pkg/rpm/keydb_build/keydb_rpm/usr/share/licenses/keydb/COPYING @@ -1,5 +1,8 @@ -Copyright (c) 2006-2015, Salvatore Sanfilippo -Copyright (C) 2019, John Sully +Copyright (c) 2006-2020, Salvatore Sanfilippo +Copyright (C) 2019-2021, John Sully +Copyright (C) 2020-2021, EQ Alpha Technology Ltd. +Copyright (C) 2021, Snap Inc. + All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: