You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
gentoo-overlay/net-proxy/http-replicator/http-replicator-3.0-r6.ebuild

86 lines
3.3 KiB

# Copyright 1999-2016 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Id$
EAPI=6
PYTHON_COMPAT=( python2_7 ) # not 2.6 bug #33907, not 3.0 bug #411083
inherit eutils python-single-r1 systemd
MY_P="${PN}_${PV}"
DESCRIPTION="Proxy cache for Gentoo packages"
HOMEPAGE="http://sourceforge.net/projects/http-replicator"
SRC_URI="mirror://sourceforge/http-replicator/${MY_P}.tar.gz"
S="${WORKDIR}/${MY_P}"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha ~amd64 ~hppa ~ppc ~sparc ~x86"
PATCHES=(
"${FILESDIR}/http-replicator-3.0-sighup.patch"
"${FILESDIR}/http-replicator-3-unique-cache-name.patch"
"${FILESDIR}/http-replicator-3-missing-directory.patch"
)
src_install(){
python-single-r1_pkg_setup
# Daemon and repcacheman into /usr/bin
python_scriptinto /usr/bin
python_doexe http-replicator
python_newexe "${FILESDIR}/http-replicator-3.0-repcacheman-0.44-r2" repcacheman.py
exeinto /usr/bin
newexe "${FILESDIR}/http-replicator-3.0-callrepcacheman-0.1" repcacheman
# init.d scripts
newinitd "${FILESDIR}/http-replicator-3.0.init" http-replicator
newconfd "${FILESDIR}/http-replicator-3.0.conf" http-replicator
systemd_dounit "${FILESDIR}"/http-replicator.service
systemd_install_serviced "${FILESDIR}"/http-replicator.service.conf
# Docs
dodoc README debian/changelog
# Man Page - Not Gentooified yet
doman http-replicator.1
insinto /etc/logrotate.d
newins debian/logrotate http-replicator
}
pkg_postinst() {
elog
ewarn "Before starting http-replicator, please follow the next few steps:"
elog "- Modify /etc/conf.d/http-replicator if required."
ewarn "- Run /usr/bin/repcacheman to set up the cache."
elog "- Add http_proxy=\"http://serveraddress:8080\" to make.conf on"
elog " the server as well as on the client machines."
elog "- Make sure FETCHCOMMAND adds the X-unique-cache-name header to"
elog " HTTP requests in make.conf (or maybe portage will add it to"
elog " the default make.globals someday). Example:"
elog ' FETCHCOMMAND="wget -t 3 -T 60 --passive-ftp -O \"\${DISTDIR}/\${FILE}\" --header=\"X-unique-cache-name: \${FILE}\" \"\${URI}\""'
elog ' RESUMECOMMAND="wget -c -t 3 -T 60 --passive-ftp -O \"\${DISTDIR}/\${FILE}\" --header=\"X-unique-cache-name: \${FILE}\" \"\${URI}\""'
elog "- Arrange to periodically run repcacheman on this server,"
elog " to clean up the local /usr/portage/distfiles directory."
elog "- Arrange to periodically run something like the following"
elog " on this server. 'eclean' is in app-portage/gentoolkit."
elog " ( export DISTDIR=/var/cache/http-replicator/"
elog " eclean -i distfiles )"
elog "- Even with FETCHCOMMAND fixing most cases, occasionally"
elog " an older invalid version of a file may end up in the cache,"
elog " causing checksum failures when portage tries to fetch"
elog " it. To recover, either use eclean (above), manually delete"
elog " the relevant file from the cache, or temporarily comment"
elog " out the http_proxy setting. Commenting only requires"
elog " access to client config, not server cache."
elog "- Make sure GENTOO_MIRRORS in /etc/portage/make.conf starts"
elog " with several good http mirrors."
elog
elog "For more information please refer to the following forum thread:"
elog " http://forums.gentoo.org/viewtopic-t-173226.html"
elog
}