Mail archive
alpine-aports

Re: [alpine-aports] [PATCH v5] testing/rspamd: upgrade to 1.4.4

From: Natanael Copa <ncopa_at_alpinelinux.org>
Date: Mon, 27 Feb 2017 17:39:32 +0100

On Mon, 27 Feb 2017 14:39:45 +0200
Valery Kartel <valery.kartel_at_gmail.com> wrote:

> ---
> v1 -> v2: add checkconfig command to init script
>
> v2 -> v3: fix checksums
>
> v3 -> v4: remade init-script with checkconfig sub
>
> v4 -> v5: remade init.d and conf.d to use unique RSPAMD_* vars
> remade checkconfig to be a user-called command
> ---
> testing/rspamd/APKBUILD | 22 +++++-----------------
> testing/rspamd/rspamd.confd | 15 ++++++++-------
> testing/rspamd/rspamd.initd | 36 +++++++++++++++++++++++++-----------
> 3 files changed, 38 insertions(+), 35 deletions(-)
>
> diff --git a/testing/rspamd/APKBUILD b/testing/rspamd/APKBUILD
> index 85fc20a1b8..69c35c1707 100644
> --- a/testing/rspamd/APKBUILD
> +++ b/testing/rspamd/APKBUILD
> _at_@ -2,8 +2,8 @@
> # Contributor: Valery Kartel <valery.kartel_at_gmail.com>
> # Contributor: Nathan Angelacos <nangel_at_alpinelinux.org>
> pkgname=rspamd
> -pkgver=1.4.3
> -pkgrel=1
> +pkgver=1.4.4
> +pkgrel=0
> pkgdesc="Fast, free and open-source spam filtering system"
> url="https://rspamd.com"
> arch="x86_64 x86 armhf"
> _at_@ -106,21 +106,9 @@ utils() {
> mv "$pkgdir"/usr/bin/${pkgname}-redirector "$subpkgdir"/usr/bin
> }
>
> -md5sums="a64e00b906b7f3590e855be50106f99f rspamd-1.4.3.tar.xz
> -c152c6a90f6ae9e5a7a1d137dfbc0305 rspamd.logrotated
> -0656acc12dcce7cba232857a848d0390 rspamd.initd
> -ab12f33ad8e12a7437fb5ea4a9c92eef rspamd.confd
> -ff0bf4f1b1447ca401865369f91418f1 config.patch
> -83f76787389649af63ea921f81cf35b3 cmakelists.patch"
> -sha256sums="144cddc25ce8d8519b289d2c00d34b37c931f3c7293e2b0d16c408680021a1bf rspamd-1.4.3.tar.xz
> -6c5e79e9052d957f3d0d634b2ae7a56bbc0901a5d6946dc991c92f19a72fce97 rspamd.logrotated
> -5bcf68a72e0582859799cd335a14d48914e5291f4087327b3b42562ef64e2958 rspamd.initd
> -fceba39a20755d48ef3838f7daa92ed9686a118c0a26f06bfe72cc7c15b2e384 rspamd.confd
> -7e0adb4a2e7e8f806fc5fdae0c37e6948ed56e9d46d4eed0c681806decb90e49 config.patch
> -d4bc7851bb32b49be98e3964aa9195033b586da27f7f3afa5ce12dfbeadd96b0 cmakelists.patch"
> -sha512sums="bae86953d881be446f049384cc8bf8451b04619b461a7e2d571407d5af5f2547af8bc9db578e84190e8c55d01f9e32ea1d29e998daa2bbb2fac431ed50df27ca rspamd-1.4.3.tar.xz
> +sha512sums="df2260de6585699a5b6692aa210647270b7132372ae6a2437f8532265018fe4db8270a8989ce0c0664cad17cbc281ae92f935c4f0974dc2f8da309e54c234b14 rspamd-1.4.4.tar.xz
> 2efe28575c40d1fba84b189bb872860e744400db80dce2f6330be6c6287fb3f46e6511284729b957488bf40bcb9b0952e26df9934f5f138334bd2766075c45cb rspamd.logrotated
> -e240983c2fd91d8061b17e35e83a75c56ac2c3625dbe07b83a2e89e3dbf69b57c675d01772b93968aa6b22d150d54d366f2fb4a0c6551b3cfdedc77d82e28652 rspamd.initd
> -1320a752cbefe021079b3ed23e312231c39fc600baba7d8440c3e8bdd33ed673c8831b44a0c76788a8d905469e81088adf26cf245c09b4c2c4fdce7ff4219ee7 rspamd.confd
> +3ffe0b57a0f62a1d4e6dbc701e68480a91bf161b337e63a8dc25e1b696951f1510f6f03d1d986875b73ba33db76f86504895b69bcaed7b32b026e6e6e4559df6 rspamd.initd
> +e417dd825d1b4d03d115db037b2fdf2f48a35420ee7a9010d97167b6c31e88d6c0a15dd33b21d7d76856db0fdc5097c922fcdf1d8164d1e92ae377f7c5303947 rspamd.confd
> 2089429e6f44f8204f31c87c565cdd7abcd51b3146397ba1b2fb23b1be6faf46fd8ec36718f194a3fc38ac1d38d7be9010a84ac4b49d7e1597706699538c607a config.patch
> 99593c10ffb04c71a4c83c7522b41f12465a9862283685bbc2fff464fd84fcf8b4bc4a892419d31332c01f805c69dd7730f537c60248b92fee35acdc6633a644 cmakelists.patch"
> diff --git a/testing/rspamd/rspamd.confd b/testing/rspamd/rspamd.confd
> index 9b2cc4b34f..e804b2b642 100644
> --- a/testing/rspamd/rspamd.confd
> +++ b/testing/rspamd/rspamd.confd
> _at_@ -1,15 +1,16 @@
> # User and group to run rspamd workers
> -#user=rspamd
> -#group=rspamd
> +#RSPAMD_USER=rspamd
> +#RSPAMD_GROUP=rspamd
>
> -# Main config file
> -#cfgfile=/etc/rspamd/rspamd.conf
> +# Main config dir or file
> +#RSPAMD_CONFDIR=/etc/rspamd
> +#RSPAMD_CONFIG=/etc/rspamd/rspamd.conf
>
> # PID file. Settings from config files are ignored
> -#pidfile=/run/rspamd/rspamd.pid
> +#RSPAMD_PIDFILE=/run/$RC_SVCNAME/rspamd.pid
>
> # Where to log startup configuration checking
> # - /dev/null - silent (default)
> -# - /dev/tty - show output on curent terminal
> +# - /dev/stdout - show output on curent terminal
> # - /path/filename - append to specified logfile
> -#startuplog=/var/log/rspamd/startup.log
> +#RSPAMD_STARTUPLOG=/var/log/rspamd/startup.log
> diff --git a/testing/rspamd/rspamd.initd b/testing/rspamd/rspamd.initd
> index 93148ccb4b..0bffd00c26 100644
> --- a/testing/rspamd/rspamd.initd
> +++ b/testing/rspamd/rspamd.initd
> _at_@ -1,14 +1,19 @@
> #!/sbin/openrc-run
>
> description="Rapid spam filtering system"
> -user=${user:-rspamd}
> -group=${group:-rspamd}
> -cfgfile=${cfgfile:-/etc/rspamd/rspamd.conf}
> -pidfile=${pidfile:-/run/rspamd/rspamd.pid}
> +
> +: ${user:=${RSPAMD_USER:-rspamd}}
> +: ${group:=${RSPAMD_GROUP:-rspamd}}
> +: ${cfgdir:=${RSPAMD_CONFDIR:-/etc/rspamd}}
> +: ${cfgfile:=${RSPAMD_CONFIG:-$cfgdir/rspamd.conf}}
> +: ${pidfile:=${RSPAMD_PIDFILE:-/run/$RC_SVCNAME/rspamd.pid}}
> +
> command=/usr/sbin/rspamd
> command_args="-u $user -g $group -c $cfgfile -p $pidfile"
> required_files="$cfgfile"
> +extra_commands="checkconfig"
> extra_started_commands="reload reopen"
> +description_checkconfig="Verify configuration"
> description_reload="Reload configuration"
> description_reopen="Reopen log files"
>
> _at_@ -17,21 +22,30 @@ depend() {
> before mta
> }
>
> +checkconfig() {
> + if [ "$RC_CMD" = "checkconfig" ]; then
> + startuplog=/dev/stderr
> + ebegin "Checking $RC_SVCNAME config"
> + fi
> + $command $command_args -t >/dev/null 2>>${startuplog:=${RSPAMD_STARTUPLOG:-/dev/null}}
> + local result=$?
> + [ "$RC_CMD" = "checkconfig" ] || return $result
> + eend $result
> +}

I don't like the "$RC_CMD" conditionals. Why can't we do the redirection in start_pre?

checkconfig() {
        $command $command_args -t
}

start_pre() {
        ...
         checkconfig >/dev/null 2>>${startuplog:=${RSPAMD_STARTUPLOG:-/dev/null}}
}


> +
> start_pre() {
> - ebegin
> - checkpath --directory --mode 750 --owner $user:$group ${pidfile%/*}
> - $command $command_args -t >/dev/null 2>>${startuplog:-/dev/null}
> - eend $?
> + [ "$RC_CMD" = "start" ] && checkpath -d -m 750 -o $user:$group ${pidfile%/*}

Why do you need to check if RC_CMD is "start"? Will this function ever
run when its not "start"?

-nc


> + checkconfig
> }
>
> reload() {
> - ebegin "Reloading ${SVCNAME}"
> - start-stop-daemon --signal HUP --pidfile $pidfile
> + ebegin "Reloading $RC_SVCNAME config"
> + checkconfig && start-stop-daemon --signal HUP --pidfile $pidfile
> eend $?
> }
>
> reopen() {
> - ebegin "Reopening ${SVCNAME} log files"
> + ebegin "Reopening $RC_SVCNAME log files"
> start-stop-daemon --signal USR1 --pidfile $pidfile
> eend $?
> }



---
Unsubscribe:  alpine-aports+unsubscribe_at_lists.alpinelinux.org
Help:         alpine-aports+help_at_lists.alpinelinux.org
---
Received on Mon Feb 27 2017 - 17:39:32 GMT