mirror of
https://github.com/gentoo-mirror/gentoo.git
synced 2026-09-24 04:59:14 -07:00
net-proxy/http-replicator: Drop old
Package-Manager: Portage-2.3.62, Repoman-2.3.12 Signed-off-by: Pacho Ramos <pacho@gentoo.org>
This commit is contained in:
@@ -1,2 +1 @@
|
||||
DIST http-replicator_3.0.tar.gz 39291 BLAKE2B a97d8b6b32f5d4ca4feefa9abaa7da7cb6570f76566c79d7371134c0edd74b2333a02480deff02fa1bf5b6cd6f2bfbfe4aaa649633d70bd2efbdd22701422651 SHA512 d98a608c38201db6f2d8ba809a4777ab5588f5ed395882bdf542c2788df1770c61a2de160604c09297d847f2c73463ba0530d7f2c2e482467f8e8f35be068d57
|
||||
DIST http-replicator_4.0alpha2.tgz 27575 BLAKE2B 48138bc8fa9695ddb31ce89c4638adda4a1d1b58c904cd98d0ee1dbab006f79ef7d19495db8eb4de0113f8e45da425950524c48ec9e3e864d8595ccdef9f7cfa SHA512 437e0cc881af0cb8f84bfd1366bb6edeee4f76112c4b2ac2af4bcb8809462852b96e9c99e04c8f370492c9e1eb33ddc68a85c4f09b073694242cd6c05b4d3a6c
|
||||
|
||||
@@ -1,51 +0,0 @@
|
||||
Author: Matthew Ogilvie
|
||||
Date: Sat Jan 17 09:24:34 2015 -0700
|
||||
|
||||
add some suggestions to the missing-directory error message
|
||||
|
||||
Also wait until directory confirmed before forking.
|
||||
|
||||
See gentoo bug 502574 and bug 442874
|
||||
|
||||
diff --git a/http-replicator b/http-replicator
|
||||
index bbc163c..81e254d 100755
|
||||
--- a/http-replicator
|
||||
+++ b/http-replicator
|
||||
@@ -636,13 +636,6 @@ def main ():
|
||||
parser.error('user %r does not exist' % options.user)
|
||||
except OSError:
|
||||
parser.error('no permission for changing to user %r' % options.user)
|
||||
- pid = os.fork() # fork process
|
||||
- if pid: # parent process
|
||||
- pidfile.write(str(pid)) # store child's pid
|
||||
- pidfile.close()
|
||||
- return
|
||||
- else:
|
||||
- signal.signal(signal.SIGHUP, signal.SIG_IGN)
|
||||
else:
|
||||
handler = logging.StreamHandler(sys.stdout) # log to stdout
|
||||
handler.setFormatter(logging.Formatter('%(levelname)s: %(name)s %(message)s'))
|
||||
@@ -651,10 +644,22 @@ def main ():
|
||||
try:
|
||||
os.chdir(options.dir) # change to cache directory
|
||||
except OSError:
|
||||
- parser.error('invalid directory %r' % options.dir)
|
||||
+ parser.error('invalid directory %r\n' \
|
||||
+ 'Try running repcacheman, and/or see\n' \
|
||||
+ 'http://forums.gentoo.org/viewtopic-t-173226.html' \
|
||||
+ % options.dir)
|
||||
if not os.access(os.curdir, os.R_OK | os.W_OK): # check permissions for cache directory
|
||||
parser.error('no read/write permission for directory %r' % options.dir)
|
||||
|
||||
+ if options.daemon:
|
||||
+ pid = os.fork() # fork process
|
||||
+ if pid: # parent process
|
||||
+ pidfile.write(str(pid)) # store child's pid
|
||||
+ pidfile.close()
|
||||
+ return
|
||||
+ else:
|
||||
+ signal.signal(signal.SIGHUP, signal.SIG_IGN)
|
||||
+
|
||||
sys.stdout = sys.stderr = open('/dev/null', 'w') # redirect all output to bit bucket
|
||||
logging.root.name = 'HttpReplicator'
|
||||
try:
|
||||
@@ -1,31 +0,0 @@
|
||||
Author: Matthew Ogilvie
|
||||
Date: Sun Dec 28 20:14:15 2014 -0700
|
||||
|
||||
honor x-unique-cache-name header in flat mode, if present
|
||||
|
||||
This allows things like different versions of the adobe-flash
|
||||
downloader that are given different names in a flat download
|
||||
directory (like in gentoo) to work in an http-replicator cache
|
||||
as well. As long as the fetcher passes the custom name through
|
||||
the experimental header...
|
||||
|
||||
See gentoo bug # 442874
|
||||
|
||||
diff --git a/http-replicator b/http-replicator
|
||||
index 19ae427..befe9f2 100755
|
||||
--- a/http-replicator
|
||||
+++ b/http-replicator
|
||||
@@ -311,7 +311,12 @@ class HttpClient (Http):
|
||||
self.log.info('requested range: bytes %s to %s' % self.range) # log request
|
||||
|
||||
head = ''
|
||||
- for tail in self.path.split('/'): # iterate over items in path
|
||||
+ adjUrlPath = self.path
|
||||
+ if not self.direct and self.flat:
|
||||
+ uniqueCacheName = body.get('x-unique-cache-name')
|
||||
+ if uniqueCacheName:
|
||||
+ adjUrlPath = uniqueCacheName
|
||||
+ for tail in adjUrlPath.split('/'): # iterate over items in path
|
||||
head = os.path.join(head, tail) # build target path
|
||||
if head in self.alias: # path up till now hos an alias
|
||||
head = self.alias[head] # replace by alias
|
||||
@@ -1,20 +0,0 @@
|
||||
--- a/http-replicator 2007-07-09 20:09:44.000000000 +0200
|
||||
+++ b/http-replicator 2007-07-09 20:11:48.433913445 +0200
|
||||
@@ -5,7 +5,7 @@
|
||||
# Because of this the server runs as a single process, multiplexing I/O with its various client and server connections within a single process/thread.
|
||||
# According to the readme <http://www.nightmare.com/medusa/README.html> this means it is capable of smoother and higher performance than most other servers, while placing a dramatically reduced load on the server machine.
|
||||
|
||||
-import asyncore, socket, os, time, calendar, sys, re, optparse, logging
|
||||
+import asyncore, socket, os, time, calendar, sys, re, optparse, logging, signal
|
||||
|
||||
# LISTENER
|
||||
#
|
||||
@@ -636,6 +636,8 @@
|
||||
pidfile.write(str(pid)) # store child's pid
|
||||
pidfile.close()
|
||||
return
|
||||
+ else:
|
||||
+ signal.signal(signal.SIGHUP, signal.SIG_IGN)
|
||||
else:
|
||||
handler = logging.StreamHandler(sys.stdout) # log to stdout
|
||||
handler.setFormatter(logging.Formatter('%(levelname)s: %(name)s %(message)s'))
|
||||
@@ -1,46 +0,0 @@
|
||||
## Config file for http-replicator
|
||||
## sourced by init scripts automatically
|
||||
## GENERAL_OPTS used by repcacheman
|
||||
## DAEMON_OPTS used by http-replicator
|
||||
|
||||
|
||||
## Set the cache dir
|
||||
GENERAL_OPTS="--dir /var/cache/http-replicator"
|
||||
|
||||
## Change UID/GID to user after opening the log and pid file.
|
||||
## 'user' must have read/write access to cache dir:
|
||||
GENERAL_OPTS="$GENERAL_OPTS --user portage"
|
||||
|
||||
## Don't change or comment this out:
|
||||
DAEMON_OPTS="$GENERAL_OPTS"
|
||||
|
||||
## Do you need a proxy to reach the internet?
|
||||
## This will forward requests to an external proxy server:
|
||||
## Use one of the following, not both:
|
||||
#DAEMON_OPTS="$DAEMON_OPTS --external somehost:1234"
|
||||
#DAEMON_OPTS="$DAEMON_OPTS --external username:password@host:port"
|
||||
|
||||
## Local dir to serve clients. Great for serving binary packages
|
||||
## See PKDIR and PORTAGE_BINHOST settings in 'man make.conf'
|
||||
## --alias /path/to/serve:location will make /path/to/serve
|
||||
## browsable at http://http-replicator.com:port/location
|
||||
DAEMON_OPTS="$DAEMON_OPTS --alias /usr/portage/packages:packages"
|
||||
|
||||
## Dir to hold the log file:
|
||||
DAEMON_OPTS="$DAEMON_OPTS --log /var/log/http-replicator.log"
|
||||
|
||||
## Make the log messages less and less verbose.
|
||||
## Up to four times to make it extremely quiet.
|
||||
#DAEMON_OPTS="$DAEMON_OPTS --quiet"
|
||||
#DAEMON_OPTS="$DAEMON_OPTS --quiet"
|
||||
|
||||
## Make the log messages extra verbose for debugging.
|
||||
#DAEMON_OPTS="$DAEMON_OPTS --debug"
|
||||
|
||||
## The ip addresses from which access is allowed. Can be used as many times
|
||||
## as necessary. Access from localhost is allowed by default.
|
||||
DAEMON_OPTS="$DAEMON_OPTS --ip 192.168.*.*"
|
||||
DAEMON_OPTS="$DAEMON_OPTS --ip 10.*.*.*"
|
||||
|
||||
## The proxy port on which the server listens for http requests:
|
||||
DAEMON_OPTS="$DAEMON_OPTS --port 8080"
|
||||
@@ -1,20 +0,0 @@
|
||||
#!/sbin/openrc-run
|
||||
# Copyright 1999-2016 Gentoo Foundation
|
||||
# Distributed under the terms of the GNU General Public License v2
|
||||
|
||||
depend() {
|
||||
need net
|
||||
}
|
||||
|
||||
start() {
|
||||
ebegin "Starting Http-Replicator"
|
||||
start-stop-daemon --start --pidfile /var/run/http-replicator.pid --name http-replicator \
|
||||
--exec /usr/bin/http-replicator -- -s -f --pid /var/run/http-replicator.pid --daemon $DAEMON_OPTS
|
||||
eend $? "Failed to start Http-Replicator"
|
||||
}
|
||||
|
||||
stop() {
|
||||
ebegin "Stopping Http-Replicator"
|
||||
start-stop-daemon --stop --pidfile /var/run/http-replicator.pid --name http-replicator --signal 2
|
||||
eend $? "Failed to stop Http-Replicator"
|
||||
}
|
||||
@@ -1,93 +0,0 @@
|
||||
# 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
|
||||
}
|
||||
Reference in New Issue
Block a user