4
2
[alpine-aports] [PATCH v5] testing/rspamd: upgrade to 1.4.4
---
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
---
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
---
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 $?
> > }
>
>
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
---
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 $?
> > > > }
> > >
> > >
>
>