RSYNC_RATELIMIT was a good idea to add to ebuild.sh. However, the goal is not fully achieved yet. Try emerging a kernel or using emerge-webrsync. Unlike "emerge sync", emerging a kernel uses wget and runs at full speed, saturating my link (a bad thing IMHO). mirror.py: portage.spawn("wget -q -P "+str(self.mydest)+" "+self.myuri, free=1) Reproducible: Always Steps to Reproduce: emerge gentoo-dev-sources Actual Results: spawns wget which runs without a --limit-rate= option ignores the RSYNC_RATELIMIT .. maybe we need a WGET_RATELIMIT in make.conf? Expected Results: default to using --limit-rate=$RSYNC_RATELIMIT emerge info Portage 2.0.50 (default-x86-1.4, gcc-3.3.2, glibc-unavailable, 2.6.1-gentoo) ================================================================= System uname: 2.6.1-gentoo i686 AMD Athlon(tm) XP 1700+ Gentoo Base System version 1.4.3.13 ccache version 2.3 [disabled] Autoconf: sys-devel/autoconf-2.59 Automake: sys-devel/automake-1.8.2 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CFLAGS=" -Wall -fstack-protector -pipe -fomit-frame-pointer -Os -march=athlon- xp -mfpmath=sse" CHOST="i686-pc-linux-gnu" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/ config /var/bind /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-Wall -fstack-protector -pipe -fomit-frame-pointer -Os -march=athlon- xp -mfpmath=sse" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs cachecc1 noclean sandbox" GENTOO_MIRRORS="ftp://gentoo.ccccom.com" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow acl adns apache2 apm berkdb bindist crypt curl directfb doc ethereal fam fastcgi fbcon gbphp gd gdbm ggi gif gpm innodb jikes jpeg libg++ libwww maildir mcal memlimit mmx mpi mysql ncurses nptl pam pdflib perl php plotutils png prelude python readline slang spell sse ssl svga tcpd threads tiff truetype usb x86 xml2 zlib"
ok, several points here: a) there is no RSYNC stuff in ebuild.sh b) adding an rsync option to a wget call doesn't make much sense IMO c) portage itself doesn't use mirror.py d) emerge <package> is using exactly what you defined in FETCHCOMMAND e) I don't know what package uses mirror.py, but I'd say rather then using a RSYNC_* option there it should use FETCHCOMMAND too I'm only keeping this open for point e)
Set it in fetchcommand. We will not attempt to figure out the option for whatever downloader you might be using at the moment.
I agree with all points from Marius and Nicholas. BTW, the wget download rate is not configurable in mirror.py, and it is part of portage. # qpkg -f /usr/lib/portage/bin/mirror.py sys-apps/portage *