blob: 68405a1f8c1bd708b5c0cfefe75db31d58096182 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
|
# Copyright 1999-2017 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
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="https://sourceforge.net/projects/http-replicator"
SRC_URI="mirror://sourceforge/http-replicator/${MY_P}.tar.gz"
LICENSE="GPL-2"
SLOT="0"
KEYWORDS="~alpha amd64 hppa ppc ~sparc x86"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
RDEPEND="${PYTHON_DEPS}"
DEPEND="${RDEPEND}"
S="${WORKDIR}/${MY_P}"
PATCHES=(
"${FILESDIR}/http-replicator-3.0-sighup.patch"
"${FILESDIR}/http-replicator-3-unique-cache-name.patch"
"${FILESDIR}/http-replicator-3-missing-directory.patch"
)
pkg_setup() {
python-single-r1_pkg_setup
}
src_install() {
# Daemon and repcacheman into /usr/bin
python_scriptinto /usr/bin
python_doscript http-replicator
python_newscript "${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
}
|