I just had an occasional failure with an `emerge --world' command; thought I'd mention it here as a possible issue for future improvement. Apparently what happened is that a downloaded tar.gz file turned out corrupt, causing the `emerge --world' to come to an early halt (it was supposed to update dozens of packages). I was able to get further by simply removing the corrupt distfile and re-typing the emerge command. So, my suggestion is that maybe emerge should have some kind of limited "retry" functionality for this particular kind of download problem, even though it is probably quite infrequent. The console printout mentions an HTTP response code "206 Partial Content" which I cannot remember having seen ever before. My version of portage is 2.1.1_pre3-r1. Below is the console printout and my system info. >>> Emerging (22 of 128) media-libs/svgalib-1.9.25 to / >>> Downloading http://distfiles.gentoo.org/distfiles/svgalib-1.9.25.tar.gz --16:42:02-- http://distfiles.gentoo.org/distfiles/svgalib-1.9.25.tar.gz => `/usr/portage/distfiles/svgalib-1.9.25.tar.gz' Resolving distfiles.gentoo.org... 208.67.219.40 Connecting to distfiles.gentoo.org|208.67.219.40|:80... connected. HTTP request sent, awaiting response... 200 OK Length: unspecified [text/html] [ <=> ] 336 --.--K/s 16:42:40 (6.82 MB/s) - `/usr/portage/distfiles/svgalib-1.9.25.tar.gz' saved [336] >>> Resuming download... >>> Downloading http://distro.ibiblio.org/pub/linux/distributions/gentoo/distfiles/svgalib-1.9.25.tar.gz --16:42:41-- http://distro.ibiblio.org/pub/linux/distributions/gentoo/distfiles/svgalib-1.9.25.tar.gz => `/usr/portage/distfiles/svgalib-1.9.25.tar.gz' Resolving distro.ibiblio.org... 152.2.210.109 Connecting to distro.ibiblio.org|152.2.210.109|:80... connected. HTTP request sent, awaiting response... 206 Partial Content Length: 987,084 (964K), 986,748 (964K) remaining [application/x-gzip] 100%[===================================================================================>] 987,084 416.59K/s 16:42:52 (415.42 KB/s) - `/usr/portage/distfiles/svgalib-1.9.25.tar.gz' saved [987084/987084] >>> checking ebuild checksums ;-) >>> checking auxfile checksums ;-) >>> checking miscfile checksums ;-) >>> checking svgalib-1.9.25.tar.gz !!! Digest verification failed: !!! /usr/portage/distfiles/svgalib-1.9.25.tar.gz !!! Reason: Failed on MD5 verification !!! Got: 625455ac105aea4317540db76ceafc01 !!! Expected: 4dda7e779e550b7404cfe118f1d74222 Gentoo Base System version 1.12.1 Portage 2.1.1_pre3-r1 (default-linux/x86/2006.0, gcc-4.1.1/vanilla, glibc-2.4-r3, 2.6.17-gentoo-r1 i686) ================================================================= System uname: 2.6.17-gentoo-r1 i686 Pentium III (Coppermine) app-admin/eselect-compiler: 2.0.0_rc2-r1 dev-lang/python: 2.3.5-r2, 2.4.3-r1 dev-python/pycrypto: 2.0.1-r5 dev-util/ccache: [Not Present] dev-util/confcache: [Not Present] sys-apps/sandbox: 1.2.18.1 sys-devel/autoconf: 2.13, 2.60 sys-devel/automake: 1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2 sys-devel/binutils: 2.17 sys-devel/gcc-config: 2.0.0_rc1 sys-devel/libtool: 1.5.22 virtual/os-headers: 2.6.11-r5 ACCEPT_KEYWORDS="x86 ~x86" AUTOCLEAN="yes" CBUILD="i686-pc-linux-gnu" CFLAGS="-pipe -O2 -march=pentium3 -fomit-frame-pointer" CHOST="i686-pc-linux-gnu" CONFIG_PROTECT="/etc /usr/kde/3.3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/share/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/" CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/eselect/compiler /etc/gconf /etc/java-config/vms/ /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-pipe -O2 -march=pentium3 -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/local/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="x86 X acpi alsa apache2 arts avi berkdb bitmap-fonts cli crypt cups dlloader doc dri eds emacs emboss encode esd examples foomaticdb fortran gd gdbm ggi gif glut gnome gpm gstreamer gtk gtk2 imlib ipv6 isdnlog java jpeg kde libg++ libwww mad mikmod mmx motif mp3 mpeg ncurses nls nptl nptlonly ogg opengl oss pam pcre pdf pdflib perl plotutils png pppd python qt qt3 qt4 quicktime readline real reflection sdl session source spell spl ssl svga tcltk tcpd truetype truetype-fonts type1-fonts udev vorbis win32codecs xml xmms xorg xv zlib elibc_glibc input_devices_keyboard input_devices_mouse kernel_linux userland_GNU video_cards_i810 video_cards_vesa video_cards_fbdev" Unset: CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, LINGUAS, MAKEOPTS, PORTAGE_RSYNC_EXTRA_OPTS
I suggest something like this (i don't do python programming, so i sortof put this together quickly: if package fails manifest & DO_NOT_REDOWNLOAD_PKGNAME=false do <command to remove distfile> <command to redownload> set DO_NOT_REDOWNLOAD_PKGNAME=true fi basically if the package fails the manifest check, it redownloads it and sets a variavble to not redownload that package again
I think the problem that you describe is solved by the PORTAGE_FETCH_RESUME_MIN_SIZE variable: http://git.overlays.gentoo.org/gitweb/?p=proj/portage.git;a=commit;h=e2983690e7a22d69cb1507b55050438a6ec3d924