summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKent Fredric <kentnl@gentoo.org>2017-11-19 20:09:46 +1300
committerKent Fredric <kentnl@gentoo.org>2017-11-19 20:10:33 +1300
commitc0956c57d9515f88ebb074b8bde274ff008e7579 (patch)
treec25f94d006847e2fb2f0cd7db0f31842dd467031 /dev-perl/MogileFS-Server
parentapp-office/skrooge: remove 2.8.1 (diff)
downloadgentoo-c0956c57d9515f88ebb074b8bde274ff008e7579.tar.gz
gentoo-c0956c57d9515f88ebb074b8bde274ff008e7579.tar.bz2
gentoo-c0956c57d9515f88ebb074b8bde274ff008e7579.zip
dev-perl/MogileFS-Server: Bump to version 2.720.0
- EAPI6 - Enable tests ( some appear to auto-skip when servers are missing and the objective is to enable them to see what breaks and maximally enable all possible end-user tests ) - Rework gentoo /etc/ stuff to use patches instead of explicit ${FILESDIR} copies, in order to make it easier for end users to tweak installed files with eapply_user, and make it easier to construct effective install trees trivially using upstream sources, as well as discouraging accidental retroactive changes to existing available versions ( happened many times in the past ), while encouraging using patch layering to augment incremental changes where relevant. - Remove hacks around mogdeps, which vanished upstream in MogileFS-Server 2.56 ( 2011-2012 ) - Use 'checkpath' instead of 'install' in mogilefsd script, and remove EQAWARNING use of keepdir /var/run Upstream: - Work with DBD::SQLite latest lock errors - remove update_host_property - remove users of unreachable_fids table - batch MySQL updates in monitor - defer monitor DB updates until all HTTP requests are done - defer expiry of timed out poolable connections - disable watch_write before retrying write in poolable connections - do not write before event_write in poolable connections - add conn_pool_size config option - enable TCP keepalives for iostat watcher sockets - add "readonly" state to overide host device "alive" state Package-Manager: Portage-2.3.8, Repoman-2.3.3
Diffstat (limited to 'dev-perl/MogileFS-Server')
-rw-r--r--dev-perl/MogileFS-Server/Manifest1
-rw-r--r--dev-perl/MogileFS-Server/MogileFS-Server-2.720.0.ebuild76
-rw-r--r--dev-perl/MogileFS-Server/files/MogileFS-Server-2.720.0-gentoo-init-conf.patch184
3 files changed, 261 insertions, 0 deletions
diff --git a/dev-perl/MogileFS-Server/Manifest b/dev-perl/MogileFS-Server/Manifest
index 34fd0abfc88..1a1126ebfd7 100644
--- a/dev-perl/MogileFS-Server/Manifest
+++ b/dev-perl/MogileFS-Server/Manifest
@@ -1 +1,2 @@
DIST MogileFS-Server-2.70.tar.gz 199850 SHA256 686f328a4a6dacdb6c6153e7c1837875580d8437bf91ebd74ef197b1caefa7a6 SHA512 e5dd7dbfd8422d69d1ffbe9d6cf5f8845e33484a7c812fe60285c0aa17d812a5de33d1a0503972749d70fed92767eedc1119bea650712150d9d5d4e4fdbccb8f WHIRLPOOL c47a79e0002b38d605d1b4407bab886a53f818f3b664421e6e83696a2db152fb71cd093acbaecc6fc46f2bb69a43339c105d4bf566af1e834492aa4a44adedcd
+DIST MogileFS-Server-2.72.tar.gz 200057 SHA256 d7d5a45d50127bf62e451c6d86eb247103b01c46662898ae4e18daa08be8e0bf SHA512 4076ba33123c984f9d7c56db7d308b4d857e852caa8d811d86ed551b9ab74a6dfc93b034d034ec2802376035799860c613aef2bdd3898c1225e37727fda34ade WHIRLPOOL 1bb22dd7701d885268416556bec8c37f1f7cadcadcec50c27ecebd84c8222626eeb018d6d72f6ce2aeb985d3bbf9f625d9561a3109ef443c82a35faf15dce083
diff --git a/dev-perl/MogileFS-Server/MogileFS-Server-2.720.0.ebuild b/dev-perl/MogileFS-Server/MogileFS-Server-2.720.0.ebuild
new file mode 100644
index 00000000000..70b6fe87e18
--- /dev/null
+++ b/dev-perl/MogileFS-Server/MogileFS-Server-2.720.0.ebuild
@@ -0,0 +1,76 @@
+# Copyright 1999-2017 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=6
+
+DIST_AUTHOR=DORMANDO
+DIST_VERSION=${PV%0.0}
+inherit user perl-module
+
+DESCRIPTION="Server for the MogileFS distributed file system"
+HOMEPAGE="http://www.danga.com/mogilefs/ ${HOMEPAGE}"
+
+IUSE="mysql sqlite postgres"
+
+SLOT="0"
+LICENSE="|| ( Artistic GPL-2 )"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+# Upstream site recommends this,
+# but it breaks Perlbal
+# dev-perl/Perlbal-XS-HTTPHeaders
+RDEPEND="dev-perl/Net-Netmask
+ >=dev-perl/Danga-Socket-1.610.0
+ >=dev-perl/Sys-Syscall-0.220.0
+ >=dev-perl/Perlbal-1.790
+ >=dev-perl/IO-AIO-4
+ dev-perl/libwww-perl
+ >=dev-perl/MogileFS-Client-1.170.0
+ >=dev-perl/MogileFS-Utils-2.280.0
+ dev-perl/Cache-Memcached
+ mysql? ( dev-perl/DBD-mysql )
+ postgres? ( dev-perl/DBD-Pg )
+ sqlite? ( dev-perl/DBD-SQLite )"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${P}-gentoo-init-conf.patch"
+)
+DIST_TEST="do"
+
+MOGILE_USER="mogile"
+
+pkg_setup() {
+ # Warning! It is important that the uid is constant over Gentoo machines
+ # As mogilefs may be used with non-local block devices that move!
+ enewuser ${MOGILE_USER} 460 -1 -1
+}
+
+src_install() {
+ perl-module_src_install || die "perl-module_src_install failed"
+ cd "${S}"
+
+ newconfd "${S}"/gentoo/conf.d/mogilefsd mogilefsd
+ newinitd "${S}"/gentoo/init.d/mogilefsd mogilefsd
+
+ newconfd "${S}"/gentoo/conf.d/mogstored mogstored
+ newinitd "${S}"/gentoo/init.d/mogstored mogstored
+
+ newinitd "${S}"/gentoo/init.d/mogautomount mogautomount
+
+ diropts -m 700 -o ${MOGILE_USER}
+ keepdir /var/mogdata
+
+ diropts -m 755 -o root
+ dodir /etc/mogilefs
+
+ insinto /etc/mogilefs
+ insopts -m 600 -o root -g ${MOGILE_USER}
+ newins "${S}"/gentoo/conf/mogilefsd.conf mogilefsd.conf
+ newins "${S}"/gentoo/conf/mogstored.conf mogstored.conf
+}
+
+pkg_postinst() {
+ chmod 640 "${ROOT}"/etc/mogilefs/{mogilefsd,mogstored}.conf
+ chown root:${MOGILE_USER} "${ROOT}"/etc/mogilefs/{mogilefsd,mogstored}.conf
+}
diff --git a/dev-perl/MogileFS-Server/files/MogileFS-Server-2.720.0-gentoo-init-conf.patch b/dev-perl/MogileFS-Server/files/MogileFS-Server-2.720.0-gentoo-init-conf.patch
new file mode 100644
index 00000000000..7a90e5c5d79
--- /dev/null
+++ b/dev-perl/MogileFS-Server/files/MogileFS-Server-2.720.0-gentoo-init-conf.patch
@@ -0,0 +1,184 @@
+diff --git a/gentoo/conf.d/mogilefsd b/gentoo/conf.d/mogilefsd
+new file mode 100644
+index 0000000..b6968d1
+--- /dev/null
++++ b/gentoo/conf.d/mogilefsd
+@@ -0,0 +1,3 @@
++PIDFILE="/var/run/mogile/mogilefsd.pid"
++MOGILEFSD_OPTS="--daemonize --pidfile=${PIDFILE}"
++# vim: ft=gentoo-conf-d:
+diff --git a/gentoo/conf.d/mogstored b/gentoo/conf.d/mogstored
+new file mode 100644
+index 0000000..aa3cb63
+--- /dev/null
++++ b/gentoo/conf.d/mogstored
+@@ -0,0 +1,3 @@
++PIDFILE="/var/run/mogile/mogstored.pid"
++MOGSTORED_OPTS=""
++# vim: ft=gentoo-conf-d:
+diff --git a/gentoo/conf/mogilefsd.conf b/gentoo/conf/mogilefsd.conf
+new file mode 100644
+index 0000000..df50e23
+--- /dev/null
++++ b/gentoo/conf/mogilefsd.conf
+@@ -0,0 +1,34 @@
++# System user
++user = mogile
++# These are set inside the Gentoo conf.d/mogilefsd
++#pidfile = /var/run/mogile/mogilefsd.pid
++#daemonize = 1
++
++# Database settings
++db_dsn = DBI:mysql:mogilefs
++db_user = mogile
++# You must insert your password here!
++db_pass = __PASSWORD__
++
++# Network settings
++#conf_port = 7001
++#listen = 10.0.0.1:7001,
++
++# Storage
++#mog_root = /mnt/mogilefs
++
++# Plugins
++#plugins = ...
++
++# Tuning knobs
++#query_jobs = 20
++#delete_jobs = 1
++#replicate_jobs = 1
++#monitor_jobs = 1
++#reaper_jobs = 1
++#min_free_space = 100
++#max_disk_age = 5
++#node_timeout = 2
++#old_repl_compat = 1
++#default_mindevcount = 2
++#no_unreachable_tracking = 1
+diff --git a/gentoo/conf/mogstored.conf b/gentoo/conf/mogstored.conf
+new file mode 100644
+index 0000000..100a8c3
+--- /dev/null
++++ b/gentoo/conf/mogstored.conf
+@@ -0,0 +1,21 @@
++# These are set inside the Gentoo conf.d/mogilefsd
++#pidfile = /var/run/mogile/mogstored.pid
++#daemonize = 1
++
++# Network settings
++#httplisten = 0.0.0.0:7500
++#mgmtlisten = 0.0.0.0:7501
++
++# Storage
++#docroot = /var/mogdata
++
++# Server type
++# Perlbal is the default
++#server = perlbal
++# But lighttpd is supported too
++#server = lighttpd
++#serverbin = /usr/sbin/lighttpd
++
++# Tuning knobs
++#max_conns = 10000
++#opt_iostat 1
+diff --git a/gentoo/init.d/mogautomount b/gentoo/init.d/mogautomount
+new file mode 100644
+index 0000000..f287366
+--- /dev/null
++++ b/gentoo/init.d/mogautomount
+@@ -0,0 +1,21 @@
++#!/sbin/openrc-run
++
++NAME="mogautomount"
++BINARY="/usr/bin/mogautomount"
++
++depend() {
++ use net
++ before mogstored
++}
++
++start() {
++ ebegin "Mounting MogileFS disks"
++ ${BINARY} --chmod-mountpoints
++ eend $?
++}
++
++stop() {
++ :
++}
++
++# vim: ft=gentoo-init-d:
+diff --git a/gentoo/init.d/mogilefsd b/gentoo/init.d/mogilefsd
+new file mode 100644
+index 0000000..062568e
+--- /dev/null
++++ b/gentoo/init.d/mogilefsd
+@@ -0,0 +1,31 @@
++#!/sbin/openrc-run
++
++NAME="mogilefsd"
++BINARY="/usr/bin/mogilefsd"
++MOGILE_UID="mogile"
++MOGILE_GID="mogile"
++
++depend() {
++ use net mysql postgresql
++ after mysql postgresql
++}
++
++start() {
++ checkpath --directory \
++ --owner "${MOGILE_UID}:${MOGILE_GID}" \
++ --mode 700 \
++ "$(dirname $PIDFILE)"
++ ebegin "Starting $NAME"
++ start-stop-daemon --chuid ${MOGILE_UID}:${MOGILE_GID} --start \
++ --pidfile ${PIDFILE} --exec ${BINARY} \
++ -- ${MOGILEFSD_OPTS}
++ eend $?
++}
++
++stop() {
++ ebegin "Stopping $NAME"
++ start-stop-daemon --stop --quiet --pidfile="${PIDFILE}"
++ eend $?
++}
++
++# vim: ft=gentoo-init-d noet:
+diff --git a/gentoo/init.d/mogstored b/gentoo/init.d/mogstored
+new file mode 100644
+index 0000000..d28a853
+--- /dev/null
++++ b/gentoo/init.d/mogstored
+@@ -0,0 +1,29 @@
++#!/sbin/openrc-run
++
++NAME="mogstored"
++BINARY="/usr/bin/mogstored"
++MOGILE_UID="mogile"
++MOGILE_GID="mogile"
++
++depend() {
++ use net logger
++ before mogilefsd
++ need mogautomount
++}
++
++start() {
++ install -o $MOGILE_UID -g $MOGILE_GID -d $(dirname $PIDFILE)
++ ebegin "Starting $NAME"
++ start-stop-daemon --start --quiet \
++ --pidfile=${PIDFILE} --exec ${BINARY} \
++ -- --daemonize --pidfile=${PIDFILE} ${MOGSTORED_OPTS}
++ eend $?
++}
++
++stop() {
++ ebegin "Stopping $NAME"
++ start-stop-daemon --stop --quiet --pidfile="${PIDFILE}"
++ eend $?
++}
++
++# vim: ft=gentoo-init-d: