aboutsummaryrefslogtreecommitdiffstats
path: root/main/slony1
diff options
context:
space:
mode:
authorNatanael Copa <ncopa@alpinelinux.org>2014-12-24 11:06:22 +0000
committerNatanael Copa <ncopa@alpinelinux.org>2014-12-24 11:06:22 +0000
commitbde7f799bbcb7b8d926207db4578983e7f2b8cbe (patch)
tree6948950a0373c8f57c3b59fd5371efc7b25d5edc /main/slony1
parent335132a950b4bf6df52d8c064070af7ce55dfc20 (diff)
downloadaports-bde7f799bbcb7b8d926207db4578983e7f2b8cbe.tar.bz2
aports-bde7f799bbcb7b8d926207db4578983e7f2b8cbe.tar.xz
main/slony1: fix logrotation
we fix logrotation by only supporting syslog and not redirect the slon output to a given logfile. This is becase when redirecting, the only way to do log rotation is restart the service to reopen the log file. We do not want force restart of service which will close open connections.
Diffstat (limited to 'main/slony1')
-rw-r--r--main/slony1/APKBUILD24
-rw-r--r--main/slony1/default-config.patch11
-rw-r--r--main/slony1/slony1.confd2
-rw-r--r--[-rwxr-xr-x]main/slony1/slony1.initd58
4 files changed, 58 insertions, 37 deletions
diff --git a/main/slony1/APKBUILD b/main/slony1/APKBUILD
index e6fdc6e8e8..7d171e9868 100644
--- a/main/slony1/APKBUILD
+++ b/main/slony1/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: Natanael Copa <ncopa@alpinelinux.org>
pkgname=slony1
pkgver=2.2.2
-pkgrel=0
+pkgrel=1
pkgdesc="A master to multiple slaves replication system for PostgreSQL"
url="http://slony.info/"
arch="all"
@@ -13,7 +13,10 @@ install=""
subpackages=""
source="http://main.slony.info/downloads/${pkgver%.*}/source/slony1-$pkgver.tar.bz2
slony1.initd
- slony1.confd"
+ slony1.confd
+
+ default-config.patch
+ "
_builddir="$srcdir"/slony1-$pkgver
prepare() {
@@ -41,6 +44,8 @@ package() {
cd "$_builddir"
make DESTDIR="$pkgdir" install || return 1
rm -f "$pkgdir"/usr/lib/*.la
+ install -Dm644 share/slon.conf-sample "$pkgdir"/etc/slon.conf \
+ || return 1
install -Dm755 "$srcdir"/slony1.initd "$pkgdir"/etc/init.d/slony1 \
|| return 1
install -Dm644 "$srcdir"/slony1.confd "$pkgdir"/etc/conf.d/slony1 \
@@ -48,11 +53,14 @@ package() {
}
md5sums="1f5bb881f068c3e249c4a536725ad8f5 slony1-2.2.2.tar.bz2
-a4d6b16ff6f23fbb578af35472f1ec97 slony1.initd
-27fe1a24fcab45c0e3ad4dd3e53287cf slony1.confd"
+959728db4290340bfab359d12a16e16e slony1.initd
+fb7dd8cf6a4feb1542db60fe5e5e6c2d slony1.confd
+59affb1baef8ec9cbf4b69b2538f26a6 default-config.patch"
sha256sums="ef5f0fa6d95fd3a6a6b2fb5bdb4610ba437b85d2ad9210caabcfb1a9a98405d2 slony1-2.2.2.tar.bz2
-e25c1e302d6e578c56ae88a7c24cdb1042f7dc986f00565b5e7d933d8224e08a slony1.initd
-f722568539e1dbb3a86aa65a2c44582780841823dbc6957ff9861a48ec38a0e3 slony1.confd"
+0b0dab03a68c108739b88bab9e337671b7217950a89254c7be327286d2d71426 slony1.initd
+69b46dc76eabd7fd7e2bd2d6816da9ed6438a56c0bcfb4541786947705cb3851 slony1.confd
+07cbc82c4f534fb66eebc27f4006b56f179be14f382e3830d023f822e160577f default-config.patch"
sha512sums="320d871fc0fa58bd8c7bc4af50f160ff8d8ea008fed3cb69aa15de14adc6bcfbee2d9659fbf196140af8764d192a5914f2a0b1e486c43533b101b91a73dca36c slony1-2.2.2.tar.bz2
-5c83eff781c2c3bfcadf26f657fc6420b6934a4531a10b2fc08a490a96b663aebac4f3cfc533e05ad87b300cb8a0f5ad577b4326bac538082dd549b10b7a80f6 slony1.initd
-769c47812dbc27b2d688e262b9287cbf975fbb5bbcbed8ccf65781edc1437e13e4be5c923f3b77b47fc81589bb429018489bec5235d03361e1032b356ad638ae slony1.confd"
+79e56198c2730363b6e17ab539eef62396c5667cadf74026ccc7a0f0cec29370819a99c62edc6a05ffd762f3222c669b06c95af151409ea0b4416c3a2ea08f66 slony1.initd
+474fe25e49cd88a705911255d127417dabf9ba675aa67faad336dc419f19ea7416d48e84d26b03b63cec74524383b132439640b715c54fbd22389468342f0e4b slony1.confd
+fa74f013e595faaa801375c41516c23801a4811ac5993a08da1d595550f8fa6fc092c1b7ffd769cd8c9118eb71f3029b0ef1bd24ec502f240512ee97f82ed028 default-config.patch"
diff --git a/main/slony1/default-config.patch b/main/slony1/default-config.patch
new file mode 100644
index 0000000000..ebc60f8c2d
--- /dev/null
+++ b/main/slony1/default-config.patch
@@ -0,0 +1,11 @@
+--- ./share/slon.conf-sample.orig
++++ ./share/slon.conf-sample
+@@ -49,7 +49,7 @@
+ # still go to the standard output/error). The default is 0, which means
+ # syslog is off.
+ # Range: [0-2], default: 0
+-#syslog=0
++syslog=2
+
+ # If true, include the process ID on each log line. Default is false.
+ #log_pid=false
diff --git a/main/slony1/slony1.confd b/main/slony1/slony1.confd
index 07822329ab..a40df2e11a 100644
--- a/main/slony1/slony1.confd
+++ b/main/slony1/slony1.confd
@@ -8,5 +8,3 @@ CLUSTER=your_cluster_name
DBUSER=postgres
DBNAME=your_database_name
DBHOST=localhost
-LOGFILE=/var/lib/postgresql/data/slony1.log
-LOGLEVEL=1 # 1(minimum)..4(maximum)
diff --git a/main/slony1/slony1.initd b/main/slony1/slony1.initd
index 4f1469dc64..132aa1ebe0 100755..100644
--- a/main/slony1/slony1.initd
+++ b/main/slony1/slony1.initd
@@ -1,37 +1,41 @@
#!/sbin/runscript
-# Copyright 1999-2004 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-# $Header: /var/cvsroot/gentoo-x86/dev-db/slony1/files/slony1.init,v 1.2 2007/03/07 23:18:21 nakano Exp $
+
+pidfile=/var/run/slony/slony1.pid
+command=/usr/bin/slon
+config=/etc/slon.conf
depend() {
- need postgresql
+ need postgresql net
+ after firewall
}
-start() {
- ebegin "Starting slony1"
- /usr/bin/slon -p /var/run/slony1.pid -d $LOGLEVEL $CLUSTER "dbname=$DBNAME user=$DBUSER host=$DBHOST" >> $LOGFILE 2>&1 &
-
- while :
- do
- cnt=$(($cnt + 1))
- if [ -f "/var/run/slony1.pid" ]; then
- ret=0
- break
- fi
-
- if [ $cnt -eq 30 ]; then
- eerror "Please see log file: $LOGFILE"
- ret=1
- break
- fi
- sleep 1
- done
- eend $ret
+start_pre() {
+ checkpath --directory ${pidfile%/*}
+ if ! [ -e "$config" ]; then
+ eerror "config file $config is missing"
+ return 1
+ fi
+ if [ -n "$LOGFILE" ]; then
+ ewarn "LOGFILE in /etc/conf.d/slony1 is ignored. Only syslog is supported."
+ fi
+ if [ -n "$LOGLEVEL" ]; then
+ ewarn "LOGLEVEL in /etc/conf.d/slony1 is ignored."
+ fi
}
-stop() {
- ebegin "Stopping slony1"
- kill `cat /var/run/slony1.pid`
+start() {
+ ebegin "Starting slony1"
+ if [ -n "$CLUSTER" ]; then
+ set -- $CLUSTER "dbname=$DBNAME user=$DBUSER host=$DBHOST"
+ fi
+ start-stop-daemon --exec $command \
+ --pidfile "$pidfile" \
+ --background \
+ --wait 100 \
+ -- \
+ -p "$pidfile" \
+ -f "$config" \
+ "$@"
eend $?
}