Skip to content

Commit

Permalink
memcached: update to v1.6.23 (#6005)
Browse files Browse the repository at this point in the history
- update memcached
- update to php 7.4 to fix DSM 7 installations (#5745)
- remove obsolete user cleanup code (for DSM 5 to DSM 6 upgrade)
  • Loading branch information
hgy59 authored Feb 1, 2024
1 parent 8074a63 commit 22c8097
Show file tree
Hide file tree
Showing 6 changed files with 37 additions and 89 deletions.
6 changes: 3 additions & 3 deletions cross/memcached/Makefile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
PKG_NAME = memcached
PKG_VERS = 1.6.20
PKG_VERS = 1.6.23
PKG_EXT = tar.gz
PKG_DIST_NAME = $(PKG_NAME)-$(PKG_VERS).$(PKG_EXT)
PKG_DIST_SITE = http://www.memcached.org/files
Expand All @@ -13,12 +13,12 @@ LICENSE = 3-Clause BSD

GNU_CONFIGURE = 1
CONFIGURE_ARGS = --disable-werror
ADDITIONAL_CFLAGS = -O
ADDITIONAL_CFLAGS = -O2

include ../../mk/spksrc.archs.mk
ifeq ($(findstring $(ARCH),$(OLD_PPC_ARCHS)),$(ARCH))
# EFD_NONBLOCK is not defined (define it OR disable use of eventfd)
#ADDITIONAL_CFLAGS += -DEFD_NONBLOCK=0x0004000
#ADDITIONAL_CFLAGS += -DEFD_NONBLOCK=00004000
CONFIGURE_ARGS = ac_cv_func_eventfd=no
endif

Expand Down
6 changes: 3 additions & 3 deletions cross/memcached/digests
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
memcached-1.6.20.tar.gz SHA1 face85ed6fad41432ad818445b24eca55bccdd78
memcached-1.6.20.tar.gz SHA256 8f604f8e3a175637dc1f069de6fa2739116850c9f81e3764f2fac9a3b27be307
memcached-1.6.20.tar.gz MD5 8481e1b1599da7869ea6438bce3dc99c
memcached-1.6.23.tar.gz SHA1 d5490856170453b15a782ad55ffdea188c2eade0
memcached-1.6.23.tar.gz SHA256 85b0334904f440296a685ccfda75f0f4517bf8922ab8efa6d0c4b3c92c354d4c
memcached-1.6.23.tar.gz MD5 fa12c58ff124d97b5b4150123623865d
9 changes: 5 additions & 4 deletions cross/phpmemcachedadmin/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -21,15 +21,16 @@ INSTALL_TARGET = phpmemcachedadmin_install

include ../../mk/spksrc.install-resources.mk

CONFIG_FOLDER = $(STAGING_INSTALL_PREFIX)/var/phpmemcachedadmin.config
CONFIG_FOLDER = var/phpmemcachedadmin.config

.PHONY: phpmemcachedadmin_install
# link the Config folder into var for backup/restore on package update
# and for on demand creation of the default config on DSM 7.
phpmemcachedadmin_install:
@$(MSG) "Extract web app to folder: share/$(PKG_NAME)"
@mkdir -p $(STAGING_INSTALL_PREFIX)/share/$(PKG_NAME)
@tar -cf - -C $(WORK_DIR)/$(PKG_DIR) --exclude Config . | tar -xf - -C $(STAGING_INSTALL_PREFIX)/share/$(PKG_NAME)
@echo folder=$(CONFIG_FOLDER)
@install -d -m 755 $(CONFIG_FOLDER)
@install -m 755 $(WORK_DIR)/$(PKG_DIR)/Config/* $(CONFIG_FOLDER)/
@$(MSG) "Install config to folder: $(CONFIG_FOLDER)"
@install -d -m 755 $(STAGING_INSTALL_PREFIX)/$(CONFIG_FOLDER)
@install -m 755 $(WORK_DIR)/$(PKG_DIR)/Config/* $(STAGING_INSTALL_PREFIX)/$(CONFIG_FOLDER)/
@cd $(STAGING_INSTALL_PREFIX)/share/$(PKG_NAME) && ln -sf $(INSTALL_PREFIX_VAR)/phpmemcachedadmin.config Config
16 changes: 4 additions & 12 deletions spk/memcached/Makefile
Original file line number Diff line number Diff line change
@@ -1,26 +1,18 @@
SPK_NAME = memcached
SPK_VERS = 1.6.20
SPK_REV = 5
SPK_VERS = 1.6.23
SPK_REV = 6
SPK_ICON = src/memcached.png
DSM_UI_DIR = app

DEPENDS = cross/phpmemcachedadmin cross/memcached
# Only required for pre DSM 7 versions
OPTIONAL_DEPENDS = cross/busybox

include ../../mk/spksrc.common.mk

ifeq ($(call version_lt, $(TCVERSION), 7.0),1)
DEPENDS += cross/busybox
BUSYBOX_CONFIG = usrmng
ENV += BUSYBOX_CONFIG="$(BUSYBOX_CONFIG)"
endif
SPK_DEPENDS = WebStation:PHP7.4

MAINTAINER = Diaoul
DESCRIPTION = Free \& open source, high-performance, distributed memory object caching system, generic in nature, but intended for use in speeding up dynamic web applications by alleviating database load. It comes with phpMemcachedAdmin, a graphic stand-alone administration for memcached to monitor and debug purpose.
ADMIN_URL = /phpMemcachedAdmin/
DISPLAY_NAME = Memcached
CHANGELOG = "Update Memcached to v1.6.20"
CHANGELOG = "1. Update Memcached to v1.6.23<br/>2. Update to PHP 7.4 to fix DSM 7 installation."

HOMEPAGE = https://memcached.org/
LICENSE = 3-Clause BSD
Expand Down
2 changes: 1 addition & 1 deletion spk/memcached/src/conf/resource
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@
"php": {
"profile_name": "php-memcached-admin",
"profile_desc": "PHP profile used by phpMemcachedAdmin",
"backend": 6,
"backend": 8,
"extensions": [
"gd",
"intl",
Expand Down
87 changes: 21 additions & 66 deletions spk/memcached/src/service-setup.sh
Original file line number Diff line number Diff line change
@@ -1,14 +1,8 @@

if [ "${SYNOPKG_DSM_VERSION_MAJOR}" -lt 7 ]; then
# for DSM < 7
CONFIG_DIR="${SYNOPKG_PKGVAR}/phpmemcachedadmin.config"
# for owner of var folder
GROUP=http
WEB_DIR="/var/services/web"
INSTALL_DIR="/usr/local/${PACKAGE}"
LEGACY_USER="memcached"
LEGACY_GROUP="nobody"
SERVICETOOL="/usr/syno/bin/servicetool"
fi

PATH="${SYNOPKG_PKGDEST}/bin:${PATH}"
Expand All @@ -18,72 +12,33 @@ SERVICE_COMMAND="${MEMCACHED} -d -m ${MEMORY} -P ${PID_FILE}"

service_postinst ()
{
if [ "${SYNOPKG_DSM_VERSION_MAJOR}" -lt 7 ]; then
# Link
ln -s ${SYNOPKG_PKGDEST} ${INSTALL_DIR}

# Install the web interface
cp -R "${SYNOPKG_PKGDEST}/share/phpMemcachedAdmin" ${WEB_DIR}

# Install busybox stuff
"${SYNOPKG_PKGDEST}/bin/busybox" --install "${SYNOPKG_PKGDEST}/bin"

# Create legacy user
if [ "${BUILDNUMBER}" -lt "7321" ]; then
adduser -h "${SYNOPKG_PKGVAR}" -g "${DNAME} User" -G ${LEGACY_GROUP} -s /bin/sh -S -D ${LEGACY_USER}
fi
fi
# create config file on demand
if [ ! -e "${SYNOPKG_PKGVAR}/phpmemcachedadmin.config/Memcache.php" ]; then
echo "Create default config file Memcache.php"
cp -f ${SYNOPKG_PKGVAR}/phpmemcachedadmin.config/Memcache.sample.php ${SYNOPKG_PKGVAR}/phpmemcachedadmin.config/Memcache.php
fi

# create Memcache.php on demand
if [ ! -e "${SYNOPKG_PKGVAR}/phpmemcachedadmin.config/Memcache.php" ]; then
echo "Create default config file Memcache.php"
cp -f ${SYNOPKG_PKGVAR}/phpmemcachedadmin.config/Memcache.sample.php ${SYNOPKG_PKGVAR}/phpmemcachedadmin.config/Memcache.php
fi
if [ "${SYNOPKG_DSM_VERSION_MAJOR}" -lt 7 ]; then

if [ "${SYNOPKG_DSM_VERSION_MAJOR}" -lt 7 ]; then
# make config writable by http group
chmod -R g+w ${CONFIG_DIR}
chown -R :http ${WEB_DIR}/phpMemcachedAdmin
# make Temp and other folders writable by http group
chmod -R g+w ${WEB_DIR}/phpMemcachedAdmin
fi
}
CONFIG_DIR="${SYNOPKG_PKGVAR}/phpmemcachedadmin.config"
WEB_DIR="/var/services/web"

service_preuninst ()
{
if [ "${SYNOPKG_DSM_VERSION_MAJOR}" -lt 7 ]; then
if [ "${SYNOPKG_PKG_STATUS}" != "UPGRADE" ]; then
# Remove the user (if not upgrading)
delgroup ${LEGACY_USER} ${LEGACY_GROUP}
deluser ${USER}

# Remove firewall configuration
${SERVICETOOL} --remove-configure-file --package ${PACKAGE}.sc >> /dev/null
fi
fi
# Install the web interface
cp -R "${SYNOPKG_PKGDEST}/share/phpMemcachedAdmin" ${WEB_DIR}

# make config writable by http group
chmod -R g+w ${CONFIG_DIR}

# make Temp and other folders writable by http group
chown -R :http ${WEB_DIR}/phpMemcachedAdmin
chmod -R g+w ${WEB_DIR}/phpMemcachedAdmin
fi
}

service_postuninst ()
{
if [ "${SYNOPKG_DSM_VERSION_MAJOR}" -lt 7 ]; then
if [ "${SYNOPKG_DSM_VERSION_MAJOR}" -lt 7 ]; then
# Remove the web interface
rm -fr ${WEB_DIR}/phpMemcachedAdmin

# Remove link
rm -f ${INSTALL_DIR}

fi
}

service_preupgrade ()
{

if [ "${SYNOPKG_DSM_VERSION_MAJOR}" -lt 7 ]; then
# DSM6 Upgrade handling
if [ "${BUILDNUMBER}" -ge "7321" ] && [ ! -f ${DSM6_UPGRADE} ]; then
echo "Deleting legacy user" > ${DSM6_UPGRADE}
delgroup ${LEGACY_USER} ${LEGACY_GROUP}
deluser ${LEGACY_USER}
fi
fi
rm -rf ${WEB_DIR}/phpMemcachedAdmin
fi
}

0 comments on commit 22c8097

Please sign in to comment.