fritzkink
2023-12-26 9ab11effb25dbfd53277ba2fb8e8a3a8434663f7
memcached - update to version 1.6.22

1 files deleted
2 files added
7 files modified
283 ■■■■ changed files
components/network/memcached/Makefile 43 ●●●● patch | view | raw | blame | history
components/network/memcached/Solaris/memcached 2 ●●● patch | view | raw | blame | history
components/network/memcached/manifests/sample-manifest.p5m 6 ●●●●● patch | view | raw | blame | history
components/network/memcached/memcached.license 30 ●●●●● patch | view | raw | blame | history
components/network/memcached/memcached.p5m 23 ●●●● patch | view | raw | blame | history
components/network/memcached/patches/01-iov_base.patch 21 ●●●● patch | view | raw | blame | history
components/network/memcached/patches/02-bzero.patch 14 ●●●●● patch | view | raw | blame | history
components/network/memcached/patches/03-libevent2.patch 20 ●●●●● patch | view | raw | blame | history
components/network/memcached/pkg5 4 ●●● patch | view | raw | blame | history
components/network/memcached/test/results-64.master 120 ●●●● patch | view | raw | blame | history
components/network/memcached/Makefile
@@ -21,40 +21,57 @@
#
# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2023, Friedrich Kink. All rights reserved.
#
BUILD_BITS=64
include ../../../make-rules/shared-macros.mk
COMPONENT_NAME=        memcached
COMPONENT_VERSION=    1.6.2
COMPONENT_VERSION=    1.6.22
COMPONENT_SUMMARY=    The memcached memory object cache
COMPONENT_DESCRIPTION=    Memcached is a high performance multithreaded event-based \
            key/value cache store intended to be used in a distributed system.
COMPONENT_FMRI=        service/memcached
COMPONENT_CLASSIFICATION=Web Services/Application and Web Servers
COMPONENT_SRC=        $(COMPONENT_NAME)-$(COMPONENT_VERSION)
COMPONENT_PROJECT_URL=    http://memcached.org/
COMPONENT_PROJECT_URL=    https://memcached.org/
COMPONENT_ARCHIVE=    $(COMPONENT_SRC).tar.gz
COMPONENT_ARCHIVE_HASH=    \
    sha256:06720118c40689be0b85249b3dcb23c6e6d5e3ce53893aca9faced264145168b
COMPONENT_ARCHIVE_URL=    http://www.memcached.org/files/$(COMPONENT_ARCHIVE)
    sha256:34783a90a4ccf74c4107085fd92b688749d23b276cfdad9f04e4f725a05d1ca7
COMPONENT_ARCHIVE_URL=    https://www.memcached.org/files/$(COMPONENT_ARCHIVE)
COMPONENT_LICENSE=    BSD
COMPONENT_LICENSE_FILE=    COPYING
include $(WS_MAKE_RULES)/common.mk
COMPONENT_PRE_CONFIGURE_ACTION = \
    ($(CLONEY) $(SOURCE_DIR) $(@D))
    (cd $(SOURCE_DIR); aclocal; autoconf; $(CLONEY) $(SOURCE_DIR) $(@D))
# otherwise the link with ssl library does not work
# standard linker path does not make sense anyway
COMPONENT_POST_CONFIGURE_ACTION = \
    ($(GSED) -i -e 's:-L/usr/lib/amd64::' $(@D)/config.status)
COMPONENT_TEST_TARGETS=    test
CFLAGS += -D__ATTRIBUTE_DISABLED
CFLAGS += -I/usr/include/libevent2
CONFIGURE_BINDIR.64 =    $(CONFIGURE_PREFIX)/lib
CONFIGURE_OPTIONS.64 +=    --with-libevent=/usr/lib/${MACH64}
CONFIGURE_OPTIONS +=    --with-libevent=/usr/lib/${MACH64}
CONFIGURE_OPTIONS +=    --enable-dtrace
CONFIGURE_OPTIONS +=    --disable-sasl
CONFIGURE_OPTIONS +=    --enable-werror
CONFIGURE_OPTIONS +=    --enable-64bit
CONFIGURE_OPTIONS +=    --enable-large-client-flags
CONFIGURE_OPTIONS +=    --enable-tls
CONFIGURE_OPTIONS +=    --disable-docs
CONFIGURE_OPTIONS +=    --disable-coverage
# Exstore has too many failed tests. Disabling for now.
CONFIGURE_OPTIONS +=    --disable-extstore
#CONFIGURE_OPTIONS +=    --disable-extstore
CONFIGURE_OPTIONS +=    --localstatedir=/var
ASLR_MODE = $(ASLR_ENABLE)
COMPONENT_TEST_ARGS +=  -k -i
# Just retain test result output that's useful.
COMPONENT_TEST_TRANSFORMS += \
    '-n ' \
@@ -64,7 +81,9 @@
    '-e "/^All tests/p" ' \
    '-e "/^Result/p" '
REQUIRED_PACKAGES += library/libevent
# Auto-generated dependencies
REQUIRED_PACKAGES += SUNWcs
REQUIRED_PACKAGES += library/libevent2
REQUIRED_PACKAGES += library/security/openssl-31
REQUIRED_PACKAGES += shell/ksh93
REQUIRED_PACKAGES += system/library
components/network/memcached/Solaris/memcached
@@ -38,7 +38,7 @@
case "$1" in
'start')
/usr/lib/memcached -u noaccess $MCOPTIONS &
/usr/bin/memcached -u noaccess $MCOPTIONS &
;;
'stop')
components/network/memcached/manifests/sample-manifest.p5m
@@ -10,10 +10,11 @@
#
#
# Copyright 2017 <contributor>
# Copyright 2023 <contributor>
#
set name=pkg.fmri value=pkg:/$(COMPONENT_FMRI)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
set name=pkg.human-version value=$(HUMAN_VERSION)
set name=pkg.summary value="$(COMPONENT_SUMMARY)"
set name=info.classification value="$(COMPONENT_CLASSIFICATION)"
set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
@@ -22,6 +23,7 @@
license $(COMPONENT_LICENSE_FILE) license='$(COMPONENT_LICENSE)'
file path=usr/bin/memcached
file path=usr/include/memcached/protocol_binary.h
file path=usr/lib/memcached
file path=usr/include/memcached/xxhash.h
file path=usr/share/man/man1/memcached.1
components/network/memcached/memcached.license
File was deleted
components/network/memcached/memcached.p5m
@@ -19,28 +19,27 @@
# CDDL HEADER END
#
# Copyright (c) 2011, 2013, Oracle and/or its affiliates. All rights reserved.
# Copyright (c) 2023 Friedrich Kink. All rights reserved.
#
<transform file path=usr.*/man/.+ -> default mangler.man.stability uncommitted>
set name=pkg.fmri value=pkg:/service/memcached@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
set name=pkg.summary value="The memcached memory object cache"
set name=com.oracle.info.description value="the memcached memory object cache"
set name=com.oracle.info.tpno value=5711
set name=info.classification value="org.opensolaris.category.2008:Web Services/Application and Web Servers"
set name=pkg.fmri value=pkg:/$(COMPONENT_FMRI)@$(IPS_COMPONENT_VERSION),$(BUILD_VERSION)
set name=pkg.human-version value=$(HUMAN_VERSION)
set name=pkg.summary value="$(COMPONENT_SUMMARY)"
set name=info.classification value="$(COMPONENT_CLASSIFICATION)"
set name=info.upstream-url value=$(COMPONENT_PROJECT_URL)
set name=info.source-url value=$(COMPONENT_ARCHIVE_URL)
set name=org.opensolaris.arc-caseid \
    value=LSARC/2009/067
set name=org.opensolaris.consolidation value=$(CONSOLIDATION)
license memcached.license license='BSD'
license $(COMPONENT_LICENSE_FILE) license='$(COMPONENT_LICENSE)'
file path=usr/bin/memcached mode=0555
file path=usr/include/memcached/protocol_binary.h
file path=usr/include/memcached/xxhash.h
#file path=usr/share/man/man1/memcached.1
file Solaris/auth_attr path=etc/security/auth_attr.d/memcached
file Solaris/prof_attr path=etc/security/prof_attr.d/memcached
file path=usr/lib/memcached mode=0555
file Solaris/memcached.xml \
    path=lib/svc/manifest/application/database/memcached.xml
file Solaris/memcached path=lib/svc/method/memcached
file path=usr/include/memcached/protocol_binary.h
file Solaris/memcached.1m path=usr/share/man/man1m/memcached.1m
components/network/memcached/patches/01-iov_base.patch
@@ -1,22 +1,13 @@
Our iov_base is caddr_t, not void*
--- memcached-1.6.2/memcached.c.1    2020-03-26 08:28:03.981372958 +0000
+++ memcached-1.6.2/memcached.c    2020-03-26 08:28:53.780496301 +0000
@@ -3808,7 +3808,7 @@
--- memcached-1.6.22/storage.c    2023-10-16 08:03:25.000000000 +0200
+++ memcached-1.6.22/storage.c.new    2023-12-26 11:07:11.882044125 +0100
@@ -295,7 +295,7 @@
         }
 
         // fill the header so we can get the full data + crc back.
-        io->io.iov[0].iov_base = new_it;
+        io->io.iov[0].iov_base = (void *)new_it;
         io->io.iov[0].iov_len = ITEM_ntotal(new_it) - new_it->nbytes;
-        eio->iov[0].iov_base = new_it;
+        eio->iov[0].iov_base = (void *)new_it;
         eio->iov[0].iov_len = ITEM_ntotal(new_it) - new_it->nbytes;
         ciovcnt++;
 
@@ -6771,7 +6771,7 @@
     msg.msg_namelen = resp->request_addr_size;
     // First IOV is the custom UDP header.
-    iovs[0].iov_base = udp_hdr;
+    iovs[0].iov_base = (void *)udp_hdr;
     iovs[0].iov_len = UDP_HEADER_SIZE;
     build_udp_header(udp_hdr, resp);
     iovused++;
components/network/memcached/patches/02-bzero.patch
New file
@@ -0,0 +1,14 @@
# bzero is a deprecated funtion
--- memcached-1.6.22/tls.c    2022-11-25 01:28:47.000000000 +0100
+++ memcached-1.6.22/tls.c.new    2023-12-26 11:16:26.830255549 +0100
@@ -124,7 +124,8 @@
         *errmsg = NULL;
         return false;
     }
-    bzero(ssl_err_msg, SSL_ERROR_MSG_SIZE);
+    //bzero(ssl_err_msg, SSL_ERROR_MSG_SIZE);
+    memset(ssl_err_msg, 0, sizeof(SSL_ERROR_MSG_SIZE));
     size_t err_msg_size = 0;
     SSL_LOCK();
components/network/memcached/patches/03-libevent2.patch
New file
@@ -0,0 +1,20 @@
--- memcached-1.6.22/configure.ac    2023-10-16 08:03:25.000000000 +0200
+++ memcached-1.6.22/configure.ac.new    2023-12-25 19:29:02.691348520 +0100
@@ -369,7 +369,7 @@
   le_found=no
   for ledir in $trylibeventdir "" $prefix /usr/local ; do
     LDFLAGS="$saved_LDFLAGS"
-    LIBS="-levent $saved_LIBS"
+    LIBS="-levent-2.1 $saved_LIBS"
     # Skip the directory if it isn't there.
     if test ! -z "$ledir" -a ! -d "$ledir" ; then
@@ -417,7 +417,7 @@
 ])
   fi
 ])
-LIBS="-levent $LIBS"
+LIBS="-levent-2.1 $LIBS"
 if test $ac_cv_libevent_dir != "(system)"; then
   if test -d "$ac_cv_libevent_dir/lib" ; then
     LDFLAGS="-L$ac_cv_libevent_dir/lib $LDFLAGS"
components/network/memcached/pkg5
@@ -1,7 +1,9 @@
{
    "dependencies": [
        "SUNWcs",
        "library/libevent",
        "library/libevent2",
        "library/security/openssl-31",
        "shell/ksh93",
        "system/library"
    ],
    "fmris": [
components/network/memcached/test/results-64.master
@@ -1,75 +1,81 @@
ok 1 - cache_create
ok 2 - cache_constructor
ok 3 - cache_constructor_fail
ok 4 - cache_destructor
ok 5 - cache_reuse
ok 6 - cache_redzone
ok 7 - stats_prefix_find
ok 8 - stats_prefix_record_get
ok 9 - stats_prefix_record_delete
ok 10 - stats_prefix_record_set
ok 11 - stats_prefix_dump
ok 12 - issue_161
ok 13 - strtol
ok 14 - strtoll
ok 15 - strtoul
ok 16 - strtoull
ok 17 - issue_44
ok 18 - vperror
ok 19 - issue_101
ok 20 - start_server
ok 21 - issue_92
ok 22 - issue_102
ok 23 - binary_noop
ok 24 - binary_quit
ok 25 - binary_quitq
ok 26 - binary_set
ok 27 - binary_setq
ok 28 - binary_add
ok 29 - binary_addq
ok 30 - binary_replace
ok 31 - binary_replaceq
ok 32 - binary_delete
ok 33 - binary_deleteq
ok 34 - binary_get
ok 35 - binary_getq
ok 36 - binary_getk
ok 37 - binary_getkq
ok 38 - binary_gat
ok 39 - binary_gatq
ok 40 - binary_gatk
ok 41 - binary_gatkq
ok 42 - binary_incr
ok 43 - binary_incrq
ok 44 - binary_decr
ok 45 - binary_decrq
ok 46 - binary_version
ok 47 - binary_flush
ok 48 - binary_flushq
ok 49 - binary_append
ok 50 - binary_appendq
ok 51 - binary_prepend
ok 52 - binary_prependq
ok 53 - binary_stat
ok 54 - binary_illegal
ok 55 - binary_pipeline_hickup
ok 56 - shutdown
ok 57 - stop_server
ok 2 - cache_reuse
ok 3 - cache_redzone
ok 4 - cache_limit_revised_downward
ok 5 - stats_prefix_find
ok 6 - stats_prefix_record_get
ok 7 - stats_prefix_record_delete
ok 8 - stats_prefix_record_set
ok 9 - stats_prefix_dump
ok 10 - issue_161
ok 11 - strtol
ok 12 - strtoll
ok 13 - strtoul
ok 14 - strtoull
ok 15 - issue_44
ok 16 - vperror
ok 17 - issue_101
ok 18 - crc32c
ok 19 - start_server
ok 20 - issue_92
ok 21 - issue_102
ok 22 - binary_noop
ok 23 - binary_quit
ok 24 - binary_quitq
ok 25 - binary_set
ok 26 - binary_setq
ok 27 - binary_add
ok 28 - binary_addq
ok 29 - binary_replace
ok 30 - binary_replaceq
ok 31 - binary_delete
ok 32 - binary_deleteq
ok 33 - binary_get
ok 34 - binary_getq
ok 35 - binary_getk
ok 36 - binary_getkq
ok 37 - binary_gat
ok 38 - binary_gatq
ok 39 - binary_gatk
ok 40 - binary_gatkq
ok 41 - binary_incr
ok 42 - binary_incrq
ok 43 - binary_decr
ok 44 - binary_decrq
ok 45 - binary_version
ok 46 - binary_flush
ok 47 - binary_flushq
ok 48 - binary_append
ok 49 - binary_appendq
ok 50 - binary_prepend
ok 51 - binary_prependq
ok 52 - binary_stat
ok 53 - binary_illegal
ok 54 - binary_pipeline_hickup
ok 55 - shutdown
ok 56 - stop_server
$(SOURCE_DIR)/t/00-startup.t .............. ok
$(SOURCE_DIR)/t/64bit.t ................... ok
$(SOURCE_DIR)/t/ascii-auth.t .............. ok
$(SOURCE_DIR)/t/binary-extstore.t ......... ok
$(SOURCE_DIR)/t/binary-get.t .............. ok
$(SOURCE_DIR)/t/binary-sasl.t ............. ok
$(SOURCE_DIR)/t/binary.t .................. ok
$(SOURCE_DIR)/t/bogus-commands.t .......... ok
$(SOURCE_DIR)/t/cas.t ..................... ok
$(SOURCE_DIR)/t/chunked-extstore.t ........ ok
$(SOURCE_DIR)/t/chunked-items.t ........... ok
$(SOURCE_DIR)/t/conn-limits.t ............. ok
$(SOURCE_DIR)/t/daemonize.t ............... ok
$(SOURCE_DIR)/t/dash-M.t .................. ok
$(SOURCE_DIR)/t/dyn-maxbytes.t ............ ok
$(SOURCE_DIR)/t/error-extstore.t .......... ok
$(SOURCE_DIR)/t/evictions.t ............... ok
$(SOURCE_DIR)/t/expirations.t ............. ok
$(SOURCE_DIR)/t/extstore-buckets.t ........ ok
$(SOURCE_DIR)/t/extstore-jbod.t ........... ok
$(SOURCE_DIR)/t/extstore-overdel.t ........ ok
$(SOURCE_DIR)/t/extstore.t ................ ok
$(SOURCE_DIR)/t/flags.t ................... ok
$(SOURCE_DIR)/t/flush-all.t ............... ok
$(SOURCE_DIR)/t/getandtouch.t ............. ok
@@ -106,12 +112,14 @@
$(SOURCE_DIR)/t/noreply.t ................. ok
$(SOURCE_DIR)/t/quit.t .................... ok
$(SOURCE_DIR)/t/restart.t ................. ok
$(SOURCE_DIR)/t/shutdown.t ................ ok
$(SOURCE_DIR)/t/slabs-reassign-chunked.t .. ok
$(SOURCE_DIR)/t/slabs-reassign2.t ......... ok
$(SOURCE_DIR)/t/slabs_reassign.t .......... ok
$(SOURCE_DIR)/t/stats-conns.t ............. ok
$(SOURCE_DIR)/t/stats-detail.t ............ ok
$(SOURCE_DIR)/t/stats.t ................... ok
$(SOURCE_DIR)/t/strtol-testing.t .......... ok
$(SOURCE_DIR)/t/touch.t ................... ok
$(SOURCE_DIR)/t/udp.t ..................... ok
$(SOURCE_DIR)/t/unixsocket.t .............. ok