Greetings.
After installing http-replicator as per the howto, along with a sync mirror, I get the following error when attempting to emerge -uDag:
======
These are the packages that would be merged, in order:
Fetching binary packages info...
date: Fri, 06 Oct 2006 11:16:14 GMT
connection: close
<html><body><pre><h1>Not found</h1></pre></body></html>
address: /All
Traceback (most recent call last):
File "/usr/bin/emerge", line 4049, in ?
emerge_main()
File "/usr/bin/emerge", line 4044, in emerge_main
myopts, myaction, myfiles, spinner)
File "/usr/bin/emerge", line 3452, in action_build
myopts, myparams, spinner)
File "/usr/bin/emerge", line 675, in __init__
trees["/"]["bintree"].populate(
File "/usr/lib/portage/pym/portage.py", line 5434, in populate
self.remotepkgs = getbinpkg.dir_get_metadata(
File "/usr/lib/portage/pym/getbinpkg.py", line 450, in dir_get_metadata
filelist = dir_get_list(baseurl, conn)
File "/usr/lib/portage/pym/getbinpkg.py", line 295, in dir_get_list
raise Exception, "Unable to get listing: %s %s" % (rc,msg)
Exception: Unable to get listing: 404 Server did not respond successfully (404: Not Found)
======
The server /etc/conf.d/http-replicator:
======
## 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/All:All"
## 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.*.*.*"
DAEMON_OPTS="$DAEMON_OPTS --ip 127.*.*.*"
## The proxy port on which the server listens for http requests:
DAEMON_OPTS="$DAEMON_OPTS --port 8001"
======
The server /etc/rsyncd.conf:
======
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /var/cvsroot/gentoo-x86/app-admin/gentoo-rsync-mirror/files/rsyncd.conf,v 1.6 2004/07/14 21:12:47 agriffis Exp $
uid = nobody
gid = nobody
use chroot = yes
max connections = 20
pid file = /var/run/rsyncd.pid
motd file = /etc/rsync/rsyncd.motd
transfer logging = no
log format = %t %a %m %f %b
syslog facility = local3
timeout = 300
#[gentoo-x86-portage]
#this entry is for compatibility
#path = /usr/portage
#comment = Gentoo Linux Portage tree
[gentoo]
#modern versions of portage use this entry
path = /usr/portage
comment = Gentoo Linux Portage tree mirror
exclude = distfiles
======
And the server /etc/make.conf:
======
# These settings were set by the catalyst build script that automatically built this stage
# Please consult /etc/make.conf.example for a more detailed example
#CFLAGS="-O2 -march=i686 -pipe"
CFLAGS="-march=athlon-mp -O2 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS=""
ACCEPT_KEYWORDS=""
USE=" -* -arts -gnome -gtk 3dnow 3dnowext 3ds X aac acpi alsa apm amr audiofile asf bitmap-fonts bzip2 cdparanoia cdr clamav crypt ctype cups dbus dvd dvdread effects encode exif expat fam fastbuild ffmpeg foomaticdb force-cgi-redirect gd gdbm gif glut gmp gpm gtk gtk2 hal idn imlib ipv6 jpeg jpeg2k kde kdgraphics lcms libg++ libvisual libwww lm_sensors mad memlimit mikmod mmx mmxext mng motif mozilla mp3 mpeg mplayer msn ncurses nls nptl nptlonly nsplugin ogg openal opengl oss pam pcre perl png posix qt3 quicktime readline reiserfs scanner sdl session simplexml slang sockets spamassassin spell sse ssl svg svga tcltk tcpd theora threads tiff truetype truetype-fonts type1-fonts udev usb v4l visualization vorbis win32codecs wmf x264 xine xml xml2 xsl xv xvid xvmc yahoo zlib java faad xcomposite dvd cdrom ivman pmount"
FEATURES="-sandbox ccache buildpkg"
LINGUAS="en_GB"
GENTOO_MIRRORS="
ftp://ftp.mirrorservice.org/sites/www.i ... rg/gentoo/ http://gentoo.osuosl.org/"
INPUT_DEVICES="keyboard mouse"
HTTP_PROXY="
http://localhost:8001"
VIDEO_CARDS="nvidia"
PORTDIR_OVERLAY=/usr/local/portage
======
and the client /etc/make.conf:
======
# These settings were set by the catalyst build script that automatically built this stage
# Please consult /etc/make.conf.example for a more detailed example
#CFLAGS="-O2 -march=i686 -pipe"
CFLAGS="-march=athlon-mp -O2 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
CXXFLAGS="${CFLAGS}"
MAKEOPTS=""
ACCEPT_KEYWORDS=""
USE=" -* -arts -gnome -gtk 3dnow 3dnowext 3ds X aac acpi alsa apm amr audiofile asf bitmap-fonts bzip2 cdparanoia cdr clamav crypt ctype cups dbus dvd dvdread effects encode exif expat fam fastbuild ffmpeg foomaticdb force-cgi-redirect gd gdbm gif glut gmp gpm gtk gtk2 hal idn imlib ipv6 jpeg jpeg2k kde kdgraphics lcms libg++ libvisual libwww lm_sensors mad memlimit mikmod mmx mmxext mng motif mozilla mp3 mpeg mplayer msn ncurses nls nptl nptlonly nsplugin ogg openal opengl oss pam pcre perl png posix qt3 quicktime readline reiserfs scanner sdl session simplexml slang sockets spamassassin spell sse ssl svg svga tcltk tcpd theora threads tiff truetype truetype-fonts type1-fonts udev usb v4l visualization vorbis win32codecs wmf x264 xine xml xml2 xsl xv xvid xvmc yahoo zlib java faad xcomposite dvd cdrom ivman pmount"
FEATURES="-sandbox ccache"
LINGUAS="en_GB"
SYNC="rsync://localhost/gentoo"
HTTP_PROXY="
http://localhost:8001"
PORTAGE_BINHOST="
http://localhost:8001/All"
INPUT_DEVICES="keyboard mouse"
VIDEO_CARDS="nvidia"
PORTDIR_OVERLAY=/usr/local/portage
======
Please note that the http-replicator port has been set to 8001, as the client is running an HTTP proxy of its own for internet access.
There are 50 packages in the server's /usr/portage/packagas/All directory.
On oddity you may notice is, in fact, that the server is running within a chroot environment on the client machine. This is simply due to the fact that this machine has a particular configuration that I'm building for and, at the moment, I only have one of them! There are not shared directories betwixt the 'parent' environement (the 'client') and the chroot environment (the 'server').
Also, when running an emerge -av world --deep on the server (running within its chroot), then all is fine - presumably the http-replicator proxy is doing its job?
Many thanks for any and all help!!
RichieB