4 2

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

Valery Kartel
Details
Message ID
<20170227123945.22063-1-valery.kartel@gmail.com>
Sender timestamp
1488199185
DKIM signature
missing
Download raw message
Patch: +38 -35
---
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
@@ -2,8 +2,8 @@
 # Contributor: Valery Kartel <valery.kartel@gmail.com>
 # Contributor: Nathan Angelacos <nangel@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"
@@ -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
@@ -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
@@ -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"
 
@@ -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
+}
+
 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%/*}
+	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 $?
 }
-- 
2.11.1



---
Unsubscribe:  alpine-aports+unsubscribe@lists.alpinelinux.org
Help:         alpine-aports+help@lists.alpinelinux.org
---
Natanael Copa
Details
Message ID
<20170227173932.457b9156@ncopa-desktop.copa.dup.pw>
In-Reply-To
<20170227123945.22063-1-valery.kartel@gmail.com> (view parent)
Sender timestamp
1488213572
DKIM signature
missing
Download raw message
On Mon, 27 Feb 2017 14:39:45 +0200
Valery Kartel <valery.kartel@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
> @@ -2,8 +2,8 @@
>  # Contributor: Valery Kartel <valery.kartel@gmail.com>
>  # Contributor: Nathan Angelacos <nangel@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"
> @@ -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
> @@ -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
> @@ -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"
>  
> @@ -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@lists.alpinelinux.org
Help:         alpine-aports+help@lists.alpinelinux.org
---
Valery Kartel
Details
Message ID
<CAKTwcDPf+3b53Yc1q8=CZbFix3Tz=pBmwLxF72=eCpoWqK-XzA@mail.gmail.com>
In-Reply-To
<20170227173932.457b9156@ncopa-desktop.copa.dup.pw> (view parent)
Sender timestamp
1488213742
DKIM signature
missing
Download raw message
start_pre also calls on restart. But we don't need to check/create pidfile
directory in this case.

27 февр. 2017 г. 18:39 пользователь "Natanael Copa" <ncopa@alpinelinux.org>
написал:

> On Mon, 27 Feb 2017 14:39:45 +0200
> Valery Kartel <valery.kartel@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
> > @@ -2,8 +2,8 @@
> >  # Contributor: Valery Kartel <valery.kartel@gmail.com>
> >  # Contributor: Nathan Angelacos <nangel@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"
> > @@ -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="144cddc25ce8d8519b289d2c00d34b
> 37c931f3c7293e2b0d16c408680021a1bf  rspamd-1.4.3.tar.xz
> > -6c5e79e9052d957f3d0d634b2ae7a56bbc0901a5d6946dc991c92f19a72fce97
> rspamd.logrotated
> > -5bcf68a72e0582859799cd335a14d48914e5291f4087327b3b42562ef64e2958
> rspamd.initd
> > -fceba39a20755d48ef3838f7daa92ed9686a118c0a26f06bfe72cc7c15b2e384
> rspamd.confd
> > -7e0adb4a2e7e8f806fc5fdae0c37e6948ed56e9d46d4eed0c681806decb90e49
> config.patch
> > -d4bc7851bb32b49be98e3964aa9195033b586da27f7f3afa5ce12dfbeadd96b0
> cmakelists.patch"
> > -sha512sums="bae86953d881be446f049384cc8bf8
> 451b04619b461a7e2d571407d5af5f2547af8bc9db578e84190e8c55d01f
> 9e32ea1d29e998daa2bbb2fac431ed50df27ca  rspamd-1.4.3.tar.xz
> > +sha512sums="df2260de6585699a5b6692aa210647
> 270b7132372ae6a2437f8532265018fe4db8270a8989ce0c0664cad17cbc
> 281ae92f935c4f0974dc2f8da309e54c234b14  rspamd-1.4.4.tar.xz
> >  2efe28575c40d1fba84b189bb872860e744400db80dce2f6330be6c6287f
> b3f46e6511284729b957488bf40bcb9b0952e26df9934f5f138334bd2766075c45cb
> rspamd.logrotated
> > -e240983c2fd91d8061b17e35e83a75c56ac2c3625dbe07b83a2e89e3dbf6
> 9b57c675d01772b93968aa6b22d150d54d366f2fb4a0c6551b3cfdedc77d82e28652
> rspamd.initd
> > -1320a752cbefe021079b3ed23e312231c39fc600baba7d8440c3e8bdd33e
> d673c8831b44a0c76788a8d905469e81088adf26cf245c09b4c2c4fdce7ff4219ee7
> rspamd.confd
> > +3ffe0b57a0f62a1d4e6dbc701e68480a91bf161b337e63a8dc25e1b69695
> 1f1510f6f03d1d986875b73ba33db76f86504895b69bcaed7b32b026e6e6e4559df6
> rspamd.initd
> > +e417dd825d1b4d03d115db037b2fdf2f48a35420ee7a9010d97167b6c31e
> 88d6c0a15dd33b21d7d76856db0fdc5097c922fcdf1d8164d1e92ae377f7c5303947
> rspamd.confd
> >  2089429e6f44f8204f31c87c565cdd7abcd51b3146397ba1b2fb23b1be6f
> af46fd8ec36718f194a3fc38ac1d38d7be9010a84ac4b49d7e1597706699538c607a
> config.patch
> >  99593c10ffb04c71a4c83c7522b41f12465a9862283685bbc2fff464fd84
> fcf8b4bc4a892419d31332c01f805c69dd7730f537c60248b92fee35acdc6633a644
> 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
> > @@ -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
> > @@ -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"
> >
> > @@ -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 $?
> >  }
>
>
Natanael Copa
Details
Message ID
<20170227185419.2e7c62fb@ncopa-desktop.copa.dup.pw>
In-Reply-To
<CAKTwcDPf+3b53Yc1q8=CZbFix3Tz=pBmwLxF72=eCpoWqK-XzA@mail.gmail.com> (view parent)
Sender timestamp
1488218059
DKIM signature
missing
Download raw message
On Mon, 27 Feb 2017 18:42:22 +0200
Valery Kartel <valery.kartel@gmail.com> wrote:

> start_pre also calls on restart. But we don't need to check/create pidfile
> directory in this case.

I think we need to check/create pidfile if you modify RSPAMD_PIDFILE
and restart?

And the redirections, 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}}
}

-nc

> 
> 27 ****. 2017 *. 18:39 ************ "Natanael Copa" <ncopa@alpinelinux.org>
> *******:
> 
> > On Mon, 27 Feb 2017 14:39:45 +0200
> > Valery Kartel <valery.kartel@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
> > > @@ -2,8 +2,8 @@
> > >  # Contributor: Valery Kartel <valery.kartel@gmail.com>
> > >  # Contributor: Nathan Angelacos <nangel@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"
> > > @@ -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="144cddc25ce8d8519b289d2c00d34b  
> > 37c931f3c7293e2b0d16c408680021a1bf  rspamd-1.4.3.tar.xz  
> > > -6c5e79e9052d957f3d0d634b2ae7a56bbc0901a5d6946dc991c92f19a72fce97  
> > rspamd.logrotated  
> > > -5bcf68a72e0582859799cd335a14d48914e5291f4087327b3b42562ef64e2958  
> > rspamd.initd  
> > > -fceba39a20755d48ef3838f7daa92ed9686a118c0a26f06bfe72cc7c15b2e384  
> > rspamd.confd  
> > > -7e0adb4a2e7e8f806fc5fdae0c37e6948ed56e9d46d4eed0c681806decb90e49  
> > config.patch  
> > > -d4bc7851bb32b49be98e3964aa9195033b586da27f7f3afa5ce12dfbeadd96b0  
> > cmakelists.patch"  
> > > -sha512sums="bae86953d881be446f049384cc8bf8  
> > 451b04619b461a7e2d571407d5af5f2547af8bc9db578e84190e8c55d01f
> > 9e32ea1d29e998daa2bbb2fac431ed50df27ca  rspamd-1.4.3.tar.xz  
> > > +sha512sums="df2260de6585699a5b6692aa210647  
> > 270b7132372ae6a2437f8532265018fe4db8270a8989ce0c0664cad17cbc
> > 281ae92f935c4f0974dc2f8da309e54c234b14  rspamd-1.4.4.tar.xz  
> > >  2efe28575c40d1fba84b189bb872860e744400db80dce2f6330be6c6287f  
> > b3f46e6511284729b957488bf40bcb9b0952e26df9934f5f138334bd2766075c45cb
> > rspamd.logrotated  
> > > -e240983c2fd91d8061b17e35e83a75c56ac2c3625dbe07b83a2e89e3dbf6  
> > 9b57c675d01772b93968aa6b22d150d54d366f2fb4a0c6551b3cfdedc77d82e28652
> > rspamd.initd  
> > > -1320a752cbefe021079b3ed23e312231c39fc600baba7d8440c3e8bdd33e  
> > d673c8831b44a0c76788a8d905469e81088adf26cf245c09b4c2c4fdce7ff4219ee7
> > rspamd.confd  
> > > +3ffe0b57a0f62a1d4e6dbc701e68480a91bf161b337e63a8dc25e1b69695  
> > 1f1510f6f03d1d986875b73ba33db76f86504895b69bcaed7b32b026e6e6e4559df6
> > rspamd.initd  
> > > +e417dd825d1b4d03d115db037b2fdf2f48a35420ee7a9010d97167b6c31e  
> > 88d6c0a15dd33b21d7d76856db0fdc5097c922fcdf1d8164d1e92ae377f7c5303947
> > rspamd.confd  
> > >  2089429e6f44f8204f31c87c565cdd7abcd51b3146397ba1b2fb23b1be6f  
> > af46fd8ec36718f194a3fc38ac1d38d7be9010a84ac4b49d7e1597706699538c607a
> > config.patch  
> > >  99593c10ffb04c71a4c83c7522b41f12465a9862283685bbc2fff464fd84  
> > fcf8b4bc4a892419d31332c01f805c69dd7730f537c60248b92fee35acdc6633a644
> > 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
> > > @@ -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
> > > @@ -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"
> > >
> > > @@ -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@lists.alpinelinux.org
Help:         alpine-aports+help@lists.alpinelinux.org
---
Valery Kartel
Details
Message ID
<CAKTwcDP-Q9rWm0G15kLoxg0LJfXDkoyJXPyxT+85yoU2db-vGA@mail.gmail.com>
In-Reply-To
<20170227185419.2e7c62fb@ncopa-desktop.copa.dup.pw> (view parent)
Sender timestamp
1488358617
DKIM signature
missing
Download raw message
You right. I made it  complicated...

2017-02-27 19:54 GMT+02:00 Natanael Copa <ncopa@alpinelinux.org>:

> On Mon, 27 Feb 2017 18:42:22 +0200
> Valery Kartel <valery.kartel@gmail.com> wrote:
>
> > start_pre also calls on restart. But we don't need to check/create
> pidfile
> > directory in this case.
>
> I think we need to check/create pidfile if you modify RSPAMD_PIDFILE
> and restart?
>
> And the redirections, 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}}
> }
>
> -nc
>
> >
> > 27 ****. 2017 *. 18:39 ************ "Natanael Copa" <
> ncopa@alpinelinux.org>
> > *******:
> >
> > > On Mon, 27 Feb 2017 14:39:45 +0200
> > > Valery Kartel <valery.kartel@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
> > > > @@ -2,8 +2,8 @@
> > > >  # Contributor: Valery Kartel <valery.kartel@gmail.com>
> > > >  # Contributor: Nathan Angelacos <nangel@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"
> > > > @@ -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="144cddc25ce8d8519b289d2c00d34b
> > > 37c931f3c7293e2b0d16c408680021a1bf  rspamd-1.4.3.tar.xz
> > > > -6c5e79e9052d957f3d0d634b2ae7a56bbc0901a5d6946dc991c92f19a72fce97
> > > rspamd.logrotated
> > > > -5bcf68a72e0582859799cd335a14d48914e5291f4087327b3b42562ef64e2958
> > > rspamd.initd
> > > > -fceba39a20755d48ef3838f7daa92ed9686a118c0a26f06bfe72cc7c15b2e384
> > > rspamd.confd
> > > > -7e0adb4a2e7e8f806fc5fdae0c37e6948ed56e9d46d4eed0c681806decb90e49
> > > config.patch
> > > > -d4bc7851bb32b49be98e3964aa9195033b586da27f7f3afa5ce12dfbeadd96b0
> > > cmakelists.patch"
> > > > -sha512sums="bae86953d881be446f049384cc8bf8
> > > 451b04619b461a7e2d571407d5af5f2547af8bc9db578e84190e8c55d01f
> > > 9e32ea1d29e998daa2bbb2fac431ed50df27ca  rspamd-1.4.3.tar.xz
> > > > +sha512sums="df2260de6585699a5b6692aa210647
> > > 270b7132372ae6a2437f8532265018fe4db8270a8989ce0c0664cad17cbc
> > > 281ae92f935c4f0974dc2f8da309e54c234b14  rspamd-1.4.4.tar.xz
> > > >  2efe28575c40d1fba84b189bb872860e744400db80dce2f6330be6c6287f
> > > b3f46e6511284729b957488bf40bcb9b0952e26df9934f5f138334bd2766075c45cb
> > > rspamd.logrotated
> > > > -e240983c2fd91d8061b17e35e83a75c56ac2c3625dbe07b83a2e89e3dbf6
> > > 9b57c675d01772b93968aa6b22d150d54d366f2fb4a0c6551b3cfdedc77d82e28652
> > > rspamd.initd
> > > > -1320a752cbefe021079b3ed23e312231c39fc600baba7d8440c3e8bdd33e
> > > d673c8831b44a0c76788a8d905469e81088adf26cf245c09b4c2c4fdce7ff4219ee7
> > > rspamd.confd
> > > > +3ffe0b57a0f62a1d4e6dbc701e68480a91bf161b337e63a8dc25e1b69695
> > > 1f1510f6f03d1d986875b73ba33db76f86504895b69bcaed7b32b026e6e6e4559df6
> > > rspamd.initd
> > > > +e417dd825d1b4d03d115db037b2fdf2f48a35420ee7a9010d97167b6c31e
> > > 88d6c0a15dd33b21d7d76856db0fdc5097c922fcdf1d8164d1e92ae377f7c5303947
> > > rspamd.confd
> > > >  2089429e6f44f8204f31c87c565cdd7abcd51b3146397ba1b2fb23b1be6f
> > > af46fd8ec36718f194a3fc38ac1d38d7be9010a84ac4b49d7e1597706699538c607a
> > > config.patch
> > > >  99593c10ffb04c71a4c83c7522b41f12465a9862283685bbc2fff464fd84
> > > fcf8b4bc4a892419d31332c01f805c69dd7730f537c60248b92fee35acdc6633a644
> > > 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
> > > > @@ -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
> > > > @@ -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"
> > > >
> > > > @@ -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 $?
> > > >  }
> > >
> > >
>
>