summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRoy Marples <uberlord@gentoo.org>2007-08-07 13:39:50 +0000
committerRoy Marples <uberlord@gentoo.org>2007-08-07 13:39:50 +0000
commit5fde6ac606fe5d037f7affd3399b331d01360f56 (patch)
tree1877df4df623ccaf1ad1d20db8dad3e45348d1cf /net-p2p/mldonkey
parentStable on sparc (diff)
downloadhistorical-5fde6ac606fe5d037f7affd3399b331d01360f56.tar.gz
historical-5fde6ac606fe5d037f7affd3399b331d01360f56.tar.bz2
historical-5fde6ac606fe5d037f7affd3399b331d01360f56.zip
New init script for baselayout-2, #183840. Keyworded ~x86-fbsd.
Package-Manager: portage-2.1.3.3
Diffstat (limited to 'net-p2p/mldonkey')
-rw-r--r--net-p2p/mldonkey/ChangeLog8
-rw-r--r--net-p2p/mldonkey/Manifest19
-rw-r--r--net-p2p/mldonkey/files/digest-mldonkey-2.9.0-r13
-rw-r--r--net-p2p/mldonkey/files/mldonkey.initd141
-rw-r--r--net-p2p/mldonkey/mldonkey-2.9.0-r1.ebuild166
5 files changed, 332 insertions, 5 deletions
diff --git a/net-p2p/mldonkey/ChangeLog b/net-p2p/mldonkey/ChangeLog
index 3b1e81236839..c6e51e714aba 100644
--- a/net-p2p/mldonkey/ChangeLog
+++ b/net-p2p/mldonkey/ChangeLog
@@ -1,6 +1,12 @@
# ChangeLog for net-p2p/mldonkey
# Copyright 2002-2007 Gentoo Foundation; Distributed under the GPL v2
-# $Header: /var/cvsroot/gentoo-x86/net-p2p/mldonkey/ChangeLog,v 1.175 2007/08/07 09:16:36 armin76 Exp $
+# $Header: /var/cvsroot/gentoo-x86/net-p2p/mldonkey/ChangeLog,v 1.176 2007/08/07 13:39:50 uberlord Exp $
+
+*mldonkey-2.9.0-r1 (07 Aug 2007)
+
+ 07 Aug 2007; Roy Marples <uberlord@gentoo.org> +files/mldonkey.initd,
+ +mldonkey-2.9.0-r1.ebuild:
+ New init script for baselayout-2, #183840. Keyworded ~x86-fbsd.
07 Aug 2007; Raúl Porcel <armin76@gentoo.org> -mldonkey-2.8.5.ebuild,
-mldonkey-2.8.7.ebuild:
diff --git a/net-p2p/mldonkey/Manifest b/net-p2p/mldonkey/Manifest
index e5ac122ce335..a334e4683f14 100644
--- a/net-p2p/mldonkey/Manifest
+++ b/net-p2p/mldonkey/Manifest
@@ -10,6 +10,10 @@ AUX mldonkey.confd-2.8 887 RMD160 0575b16320fc74fbe417150315d2247a536259d1 SHA1
MD5 936ea40c208c5c3f294bd39080f966f1 files/mldonkey.confd-2.8 887
RMD160 0575b16320fc74fbe417150315d2247a536259d1 files/mldonkey.confd-2.8 887
SHA256 d395ecece23a23dcb41addf63b70220996011ceb29d8738afb3c048b666cd96e files/mldonkey.confd-2.8 887
+AUX mldonkey.initd 3515 RMD160 212c5d9311cb21467ccbc105a399aff0186a064b SHA1 1d5403a3ce204c4030d1a9ab8592596543d6f8c8 SHA256 1d57558067a84122b45bfec6539bae5abdaf36cf5e9fda38ade80495b8b1349f
+MD5 e4337dd0e2c39c16e7c9306fbefef710 files/mldonkey.initd 3515
+RMD160 212c5d9311cb21467ccbc105a399aff0186a064b files/mldonkey.initd 3515
+SHA256 1d57558067a84122b45bfec6539bae5abdaf36cf5e9fda38ade80495b8b1349f files/mldonkey.initd 3515
AUX mldonkey.initd-2.8-r1 3401 RMD160 b5f452a952cd60afc4bc785ffb0a7b354f02b8e5 SHA1 13e46d6e33b586f0651679db993575e07ba80a7b SHA256 ea609ef662e4993547149b3719e3d5cc6b42b3a4184d46734f31552f57d5a1e1
MD5 128a7d0782b6129a825542d0d0c39941 files/mldonkey.initd-2.8-r1 3401
RMD160 b5f452a952cd60afc4bc785ffb0a7b354f02b8e5 files/mldonkey.initd-2.8-r1 3401
@@ -19,14 +23,18 @@ MD5 855aedd7fba1ffe74d7f6c0bce98f45f files/mldonkey.png 6835
RMD160 2ef0cbc5be4de95893b43da0281bd52f5aabb314 files/mldonkey.png 6835
SHA256 c16ecc040b5ea82ed06b04a76c5d7304d7aca2f0854176aa8d78aa90831d8798 files/mldonkey.png 6835
DIST mldonkey-2.9.0.tar.bz2 2713410 RMD160 467ece38f57e27adab008d81e8f5c98774ca3f71 SHA1 7cde099f99dc23ea284bc6661a1d83be92ac170b SHA256 1d3ac5114be7e592093dd6e2031b1fea642fa641263395e8b0f38c388c232a24
+EBUILD mldonkey-2.9.0-r1.ebuild 4316 RMD160 f674851fd167ab0dc4c938a7a04dc60b8e4329da SHA1 cfbc492190a195574161d93662c47e3a1574cec9 SHA256 d3ec1aa619134a34b2b6f9d16748d42129a9bb670f2db3efd747471939e5adb5
+MD5 bed6626320ea64ebb83f180fc0974991 mldonkey-2.9.0-r1.ebuild 4316
+RMD160 f674851fd167ab0dc4c938a7a04dc60b8e4329da mldonkey-2.9.0-r1.ebuild 4316
+SHA256 d3ec1aa619134a34b2b6f9d16748d42129a9bb670f2db3efd747471939e5adb5 mldonkey-2.9.0-r1.ebuild 4316
EBUILD mldonkey-2.9.0.ebuild 4306 RMD160 b57c750e59a737c808f6971f185b29361b3821aa SHA1 6b5782d16ab4cc56b346bd81179ea59fc224c140 SHA256 5a6bc5f3ea29c0977448a67bf9b36afb4e116784f44517c2ff2e27ee1292fdaa
MD5 b9b06de8c84101a5d68c1d23117ebbf2 mldonkey-2.9.0.ebuild 4306
RMD160 b57c750e59a737c808f6971f185b29361b3821aa mldonkey-2.9.0.ebuild 4306
SHA256 5a6bc5f3ea29c0977448a67bf9b36afb4e116784f44517c2ff2e27ee1292fdaa mldonkey-2.9.0.ebuild 4306
-MISC ChangeLog 27204 RMD160 8fc028c1f7cc3408e48d6655cc94bfdf034d92f7 SHA1 19ea6a336d3fae8dbd105c72b4fc7a804936dc69 SHA256 25989b6745266021b3341f18075a790da590d5c2f352318671cb359c9d8db58f
-MD5 fbf33898228687b8d3181eae56562e9a ChangeLog 27204
-RMD160 8fc028c1f7cc3408e48d6655cc94bfdf034d92f7 ChangeLog 27204
-SHA256 25989b6745266021b3341f18075a790da590d5c2f352318671cb359c9d8db58f ChangeLog 27204
+MISC ChangeLog 27407 RMD160 3c034fd722117eb8c3e83bc90b98ae519be71561 SHA1 d070aba54294abbb624a92f803a3bf7ad0b20fe2 SHA256 c44dddcb62ff9a968e0a8985c4f73b9bd787bed9c41339eaed508c8ad5837b96
+MD5 ce0dffd3b91fe7380b0fdc4e2141ff3e ChangeLog 27407
+RMD160 3c034fd722117eb8c3e83bc90b98ae519be71561 ChangeLog 27407
+SHA256 c44dddcb62ff9a968e0a8985c4f73b9bd787bed9c41339eaed508c8ad5837b96 ChangeLog 27407
MISC metadata.xml 242 RMD160 d0edc89382298dee00d3571b62a5f457ef268751 SHA1 25511186cac54f1353a3347f72da7f5d05b9da57 SHA256 b354d71d5efbed0ff97e27564894438b42a8bd8b577007cadc6972dd37d6b5f8
MD5 ee159929f3e247f937fe88bb1919d8bd metadata.xml 242
RMD160 d0edc89382298dee00d3571b62a5f457ef268751 metadata.xml 242
@@ -34,3 +42,6 @@ SHA256 b354d71d5efbed0ff97e27564894438b42a8bd8b577007cadc6972dd37d6b5f8 metadata
MD5 c302cbed8980ad468de43f32af76e48c files/digest-mldonkey-2.9.0 250
RMD160 86c9d269d0f258d638e2a6819c4c293afa437696 files/digest-mldonkey-2.9.0 250
SHA256 0c137fff0df6d06decc82d43742c7d755bbd802bcf4d4bbae1fc0ba225e2ede4 files/digest-mldonkey-2.9.0 250
+MD5 c302cbed8980ad468de43f32af76e48c files/digest-mldonkey-2.9.0-r1 250
+RMD160 86c9d269d0f258d638e2a6819c4c293afa437696 files/digest-mldonkey-2.9.0-r1 250
+SHA256 0c137fff0df6d06decc82d43742c7d755bbd802bcf4d4bbae1fc0ba225e2ede4 files/digest-mldonkey-2.9.0-r1 250
diff --git a/net-p2p/mldonkey/files/digest-mldonkey-2.9.0-r1 b/net-p2p/mldonkey/files/digest-mldonkey-2.9.0-r1
new file mode 100644
index 000000000000..bc9d7ba3d4f0
--- /dev/null
+++ b/net-p2p/mldonkey/files/digest-mldonkey-2.9.0-r1
@@ -0,0 +1,3 @@
+MD5 d8c32704e4e621239d0f4a5b92484402 mldonkey-2.9.0.tar.bz2 2713410
+RMD160 467ece38f57e27adab008d81e8f5c98774ca3f71 mldonkey-2.9.0.tar.bz2 2713410
+SHA256 1d3ac5114be7e592093dd6e2031b1fea642fa641263395e8b0f38c388c232a24 mldonkey-2.9.0.tar.bz2 2713410
diff --git a/net-p2p/mldonkey/files/mldonkey.initd b/net-p2p/mldonkey/files/mldonkey.initd
new file mode 100644
index 000000000000..79ba3eeb499e
--- /dev/null
+++ b/net-p2p/mldonkey/files/mldonkey.initd
@@ -0,0 +1,141 @@
+#!/sbin/runscript
+
+opts="reload slow fast info"
+
+MLDONKEY_BINARY=${MLDONKEY_BINARY:-/usr/bin/mlnet}
+MLDONKEY_TIMEOUT=${TIMEOUT:-10}
+
+depend() {
+ need localmount net
+ ${USE_LOGGER} && use logger
+}
+
+start() {
+ if [ -z "${MLDONKEY_DIR}" ]; then
+ ewarn "mldonkey's start script has been changed. You should remove"
+ ewarn "BASEDIR and SUBDIR from /etc/conf.d/mldonkey and set MLDONKEY_DIR"
+ ewarn "to the correct value (you probably want"
+ ewarn "MLDONKEY_DIR=${BASEDIR}/${SUBDIR})"
+ MLDONKEY_DIR="${BASEDIR}/${SUBDIR}"
+ einfo "Using ${MLDONKEY_DIR} as working directory"
+ fi
+
+ if [ ! -d "${MLDONKEY_DIR}" ]; then
+ ebegin "Directory ${MLDONKEY_DIR} not existing, trying to create..."
+ mkdir -p "${MLDONKEY_DIR}" && chown ${USER}:users "${MLDONKEY_DIR}"
+ eend $? || return 1
+ fi
+
+ ebegin "Starting ${SVCNAME}"
+ cd "${MLDONKEY_DIR}"
+ export MLDONKEY_DIR
+ start-stop-daemon --start --user "${USER}" --nice "${NICE}" \
+ --exec "${MLDONKEY_BINARY}" --pidfile /var/run/"${SVCNAME}".pid \
+ --background --make-pidfile
+ eend $?
+}
+
+setup_uri() {
+ BASE="http://"
+ if [ -n "${USERNAME}" -a -n "${PASSWORD}" ]; then
+ BASE="${BASE}${USERNAME}:${PASSWORD}@"
+ fi
+ BASE="${BASE}${SERVER}:${PORT}"
+}
+
+stop() {
+ ebegin "Stopping ${SVCNAME} -- please wait"
+
+ setup_uri
+ wget --spider --timeout="${MLDONKEY_TIMEOUT}" "${BASE}"/submit?q=close_fds -q
+ wget --spider --timeout="${MLDONKEY_TIMEOUT}" "${BASE}"/submit?q=save -q
+ wget --spider --timeout="${MLDONKEY_TIMEOUT}" "${BASE}"/submit?q=kill -q
+
+ # give it a chance to die:
+ local timeout=${MLDONKEY_TIMEOUT}
+ while [ $timeout -gt 0 ]; do
+ if ! start-stop-daemon --test --quiet --stop \
+ --exec "${MLDONKEY_BINARY}" \
+ --pidfile /var/run/"${SVCNAME}".pid ; then
+ eend 0
+ return 0
+ fi
+ sleep 1
+ timeout=$((${timeout} - 1))
+ done
+
+ eend 1 "Failed to cleanly stop ${SVCNAME}"
+ ebegin "Forcing ${SVCNAME} to stop"
+ start-stop-daemon --stop --exec "${MLDONKEY_BINARY}" \
+ --pidfile /var/run/"${SVCNAME}".pid
+ eend $?
+}
+
+# This doesn't work for baselayout-2
+restart() {
+ svc_stop
+ sleep 5
+ svc_start
+}
+
+reload() {
+ if ! service_started "${SVCNAME}"; then
+ eerror "${SVCNAME} is not started"
+ return 1
+ fi
+
+ ebegin "Reloading ${SVCNAME}"
+ start-stop-daemon --stop --signal HUP --oknodo \
+ --exec "${MLDONKEY_BINARY}" --pidfile /var/run/"${SVCNAME}".pid
+ eend $?
+}
+
+slow() {
+ if ! service_started "${SVCNAME}"; then
+ eerror "${SVCNAME} is not started"
+ return 1
+ fi
+
+ ebegin "Reducing bandwidth to ${LOW_DOWN}k/${LOW_UP}k"
+ setup_uri
+ wget --spider --timeout="${MLDONKEY_TIMEOUT}" \
+ "${BASE}/submit?q=set+max_hard_download_rate+${LOW_DOWN}" -q
+ wget --spider --timeout=${MLDONKEY_TIMEOUT} \
+ "${BASE}/submit?q=set+max_hard_upload_rate+${LOW_UP}" -q
+ eend $?
+}
+
+fast() {
+ if ! service_started "${SVCNAME}"; then
+ eerror "${SVCNAME} is not started"
+ return 1
+ fi
+
+ ebegin "Increasing bandwidth to ${HIGH_DOWN}k/${HIGH_UP}k"
+
+ setup_uri
+ wget --spider --timeout="${MLDONKEY_TIMEOUT}" \
+ "${BASE}/submit?q=set+max_hard_upload_rate+${HIGH_UP}" -q
+ wget --spider --timeout="${MLDONKEY_TIMEOUT}" \
+ "${BASE}/submit?q=set+max_hard_download_rate+${HIGH_DOWN}" -q
+ eend $?
+}
+
+
+info() {
+ if ! service_started "${SVCNAME}"; then
+ eerror "${SVCNAME} is not started"
+ return 1
+ fi
+
+ setup_uri
+ local result=$(wget --timeout="${MLDONKEY_TIMEOUT}" \
+ -O - "${BASE}"/submit?q=vo 2>/dev/null | \
+ grep -C1 max_hard_upload | \
+ grep value=\" | cut -d\" -f2)
+ if [ "${result}" = "${LOW_UP}" ]; then
+ einfo "${SVCNAME} runs slow"
+ else
+ einfo "${SVCNAME} runs fast"
+ fi
+}
diff --git a/net-p2p/mldonkey/mldonkey-2.9.0-r1.ebuild b/net-p2p/mldonkey/mldonkey-2.9.0-r1.ebuild
new file mode 100644
index 000000000000..6679ff8c1834
--- /dev/null
+++ b/net-p2p/mldonkey/mldonkey-2.9.0-r1.ebuild
@@ -0,0 +1,166 @@
+# Copyright 1999-2007 Gentoo Foundation
+# Distributed under the terms of the GNU General Public License v2
+# $Header: /var/cvsroot/gentoo-x86/net-p2p/mldonkey/mldonkey-2.9.0-r1.ebuild,v 1.1 2007/08/07 13:39:50 uberlord Exp $
+
+inherit flag-o-matic
+
+IUSE="doc fasttrack gd gnutella gtk guionly magic"
+
+DESCRIPTION="MLDonkey is a multi-network P2P application written in Ocaml, coming with its own Gtk GUI, web and telnet interface."
+HOMEPAGE="http://mldonkey.sourceforge.net/"
+SRC_URI="mirror://sourceforge/${PN}/${P}.tar.bz2"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~hppa ~ia64 ~ppc ~sparc ~x86 ~x86-fbsd"
+RESTRICT="mirror"
+
+RDEPEND="dev-lang/perl
+ guionly? ( >=gnome-base/librsvg-2.4.0
+ >=dev-ml/lablgtk-2.6 )
+ gtk? ( >=gnome-base/librsvg-2.4.0
+ >=dev-ml/lablgtk-2.6 )
+ gd? ( >=media-libs/gd-2.0.28 )
+ magic? ( sys-apps/file )"
+
+DEPEND="${RDEPEND}
+ >=sys-devel/autoconf-2.58
+ >=dev-lang/ocaml-3.08.3"
+
+MLUSER="p2p"
+
+pkg_setup() {
+ if use gtk; then
+ echo ""
+ einfo "If the compile with gui fails, and you have updated Ocaml"
+ einfo "recently, you may have forgotten that you need to run"
+ einfo "/usr/portage/dev-lang/ocaml/files/ocaml-rebuild.sh"
+ einfo "to learn which ebuilds you need to recompile"
+ einfo "each time you update Ocaml to a different version"
+ einfo "see the Ocaml ebuild for details"
+ echo ""
+ fi
+
+ if use gtk && !(built_with_use dev-ml/lablgtk svg); then
+ eerror "dev-ml/lablgtk must be built with the 'svg' USE flag to use the gtk gui"
+ die "Recompile dev-ml/lablgtk with enabled svg USE flag"
+ fi
+
+ if use gd && !(built_with_use media-libs/gd truetype); then
+ eerror "media-libs/gd must be built with 'truetype' to compile"
+ eerror "MLDonkey with gd support"
+ die "Recompile media-libs/gd with enabled truetype USE flag"
+ fi
+}
+
+src_unpack() {
+ unpack ${A} && cd "${S}"
+
+ export WANT_AUTOCONF=2.5
+ cd "${S}"/config
+ autoconf
+ cd "${S}"
+}
+
+src_compile() {
+ append-ldflags -Wl,-z,noexecstack
+
+ # the dirs are not (yet) used, but it doesn't hurt to specify them anyway
+
+ # onlygui Disable all nets support, build only chosen GUI
+
+ if use gtk || use guionly; then
+ myconf="--enable-gui=newgui2"
+ else
+ myconf="--disable-gui"
+ fi
+
+ if use guionly; then
+ myconf="${myconf} --disable-multinet --disable-donkey"
+ fi
+
+ cd ${S}
+ econf \
+ --sysconfdir=/etc/mldonkey \
+ --sharedstatedir=/var/mldonkey \
+ --localstatedir=/var/mldonkey \
+ --enable-checks \
+ --disable-batch \
+ $(use_enable fasttrack) \
+ $(use_enable gnutella) \
+ $(use_enable gnutella gnutella2) \
+ $(use_enable gd) \
+ $(use_enable magic) \
+ ${myconf} || die "econf failed"
+
+ export OCAMLRUNPARAM="l=256M"
+ emake || die "emake failed"
+
+ if ! use guionly; then
+ emake utils || die "emake utils failed"
+ fi;
+}
+
+src_install() {
+ if ! use guionly; then
+ dobin mlnet mld_hash get_range copysources make_torrent subconv \
+ || die "dobin failed"
+
+ newconfd "${FILESDIR}/mldonkey.confd-2.8" mldonkey
+ fperms 600 /etc/conf.d/mldonkey
+ newinitd "${FILESDIR}/mldonkey.initd" mldonkey
+ fi
+
+ if use gtk; then
+ dobin mlgui mlguistarter || die "dobin failed"
+ domenu ${FILESDIR}/${PN}-gui.desktop
+ doicon ${FILESDIR}/${PN}.png
+ fi
+
+ if use doc ; then
+ cd ${S}/distrib
+ dodoc ChangeLog *.txt
+ dohtml *.html
+
+ insinto /usr/share/doc/${PF}/scripts
+ doins kill_mldonkey mldonkey_command mldonkey_previewer make_buginfo
+
+ cd ${S}/docs
+ dodoc *.txt *.tex *.pdf
+ dohtml *.html
+
+ cd ${S}/docs/developers
+ dodoc *.txt *.tex
+
+ cd ${S}/docs/images
+ insinto /usr/share/doc/${PF}/html/images
+ doins *
+ fi
+}
+
+pkg_preinst() {
+ if ! use guionly; then
+ enewuser ${MLUSER} -1 /bin/bash /home/p2p users
+ fi
+}
+
+pkg_postinst() {
+ if ! use guionly; then
+ echo
+ einfo "If you want to start MLDonkey as a system service, use"
+ einfo "the /etc/init.d/mldonkey script. To control bandwidth, use"
+ einfo "the 'slow' and 'fast' arguments. Be sure to have a look at"
+ einfo "/etc/conf.d/mldonkey also."
+ echo
+ einfo "Attention: 2.6 has changed the inifiles structure, so downgrading"
+ einfo "will be problematic."
+ einfo "User settings (admin) are transferred to users.ini from "
+ einfo "downloads.ini"
+ einfo "Old ini files are automatically converted to the new format"
+ echo
+ else
+ echo
+ einfo "Simply run mlgui to start the chosen MLDonkey gui."
+ einfo "It puts its config files into ~/.mldonkey"
+ fi
+}