diff options
author | Kent Fredric <kentnl@gentoo.org> | 2017-11-19 20:09:46 +1300 |
---|---|---|
committer | Kent Fredric <kentnl@gentoo.org> | 2017-11-19 20:10:33 +1300 |
commit | c0956c57d9515f88ebb074b8bde274ff008e7579 (patch) | |
tree | c25f94d006847e2fb2f0cd7db0f31842dd467031 /dev-perl/MogileFS-Server | |
parent | app-office/skrooge: remove 2.8.1 (diff) | |
download | gentoo-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')
3 files changed, 261 insertions, 0 deletions
diff --git a/dev-perl/MogileFS-Server/Manifest b/dev-perl/MogileFS-Server/Manifest index 34fd0abfc88a..1a1126ebfd72 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 000000000000..70b6fe87e18b --- /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 000000000000..7a90e5c5d793 --- /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: |