Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 212012 - Getdelta.sh compares wrong files before delta fetch request.
Summary: Getdelta.sh compares wrong files before delta fetch request.
Status: RESOLVED WONTFIX
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Tools (show other bugs)
Hardware: All All
: High minor
Assignee: Portage Tools Team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2008-03-01 19:50 UTC by Brandon Savoie
Modified: 2011-07-21 05:33 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Brandon Savoie 2008-03-01 19:50:37 UTC
Noticed while downloading Mozilla-firefox with "FETCHCOMMAND="/usr/bin/getdelta.sh \${URI}"" being used notice that mozilla-firefox-2.0.0.11-ka.xpi Mozilla language file is used as a reference to create a dtu file to build mozilla-firefox-2.0.0.12-ja.xpi Mozilla language file. the file still gets created and downloaded, and the eventual compare succeeds, but these are small files that have more than likely downloaded by many other getdelta.sh users. The effect of this bug is very very minor with small files, if it effects larger files then it can become a much more serious prolem for the bandwidth impaired.

>>> Downloading 'http://distfiles.gentoo.org/distfiles/mozilla-firefox-2.0.0.12-ja.xpi'
Searching for a previously downloaded file in /usr/portage/distfiles

We have the following candidates to choose from 
mozilla-firefox-2.0.0.11-ca.xpi
mozilla-firefox-2.0.0.11-da.xpi
mozilla-firefox-2.0.0.11-ja.xpi
mozilla-firefox-2.0.0.11-ka.xpi
mozilla-firefox-2.0.0.9-ca.xpi
mozilla-firefox-2.0.0.9-da.xpi
mozilla-firefox-2.0.0.9-ja.xpi
mozilla-firefox-2.0.0.9-ka.xpi 

The best of all is ... mozilla-firefox-2.0.0.11-ka.xpi

Checking if this file is OK.

Trying to download mozilla-firefox-2.0.0.11-ka.xpi-mozilla-firefox-2.0.0.12-ja.xpi.dtu

--10:39:11--  http://linux01.gwdg.de/~nlissne/deltup.php?have=mozilla-firefox-2.0.0.11-ka.xpi&want=mozilla-firefox-2.0.0.12-ja.xpi&url=&version=0.7&time=1204396751
           => `deltup.php?have=mozilla-firefox-2.0.0.11-ka.xpi&want=mozilla-firefox-2.0.0.12-ja.xpi&url=&version=0.7&time=1204396751'
Resolving linux01.gwdg.de... 134.76.13.21
Connecting to linux01.gwdg.de|134.76.13.21|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://dev.gentooexperimental.org/deltup/mozilla-firefox-2.0.0.11-ka.xpi-mozilla-firefox-2.0.0.12-ja.xpi.dtu [following]
--10:39:21--  http://dev.gentooexperimental.org/deltup/mozilla-firefox-2.0.0.11-ka.xpi-mozilla-firefox-2.0.0.12-ja.xpi.dtu
           => `mozilla-firefox-2.0.0.11-ka.xpi-mozilla-firefox-2.0.0.12-ja.xpi.dtu'
Resolving dev.gentooexperimental.org... 81.93.240.53
Connecting to dev.gentooexperimental.org|81.93.240.53|:80... connected.


Reproducible: Always

Steps to Reproduce:
1. Use a system with an older version of www-app/mozilla-firefox and all distfiles for  older version of www-app/mozilla-firefox
2. insert "FETCHCOMMAND="/usr/bin/getdelta.sh \${URI}"" into /etc/make.conf
3.emerge -f mozilla-firefox

Actual Results:  
>> Downloading 'http://distfiles.gentoo.org/distfiles/mozilla-firefox-2.0.0.12-ja.xpi'
Searching for a previously downloaded file in /usr/portage/distfiles

We have the following candidates to choose from 
mozilla-firefox-2.0.0.11-ca.xpi
mozilla-firefox-2.0.0.11-da.xpi
mozilla-firefox-2.0.0.11-ja.xpi
mozilla-firefox-2.0.0.11-ka.xpi
mozilla-firefox-2.0.0.9-ca.xpi
mozilla-firefox-2.0.0.9-da.xpi
mozilla-firefox-2.0.0.9-ja.xpi
mozilla-firefox-2.0.0.9-ka.xpi 

The best of all is ... mozilla-firefox-2.0.0.11-ka.xpi

Checking if this file is OK.

Trying to download mozilla-firefox-2.0.0.11-ka.xpi-mozilla-firefox-2.0.0.12-ja.xpi.dtu

--10:39:11--  http://linux01.gwdg.de/~nlissne/deltup.php?have=mozilla-firefox-2.0.0.11-ka.xpi&want=mozilla-firefox-2.0.0.12-ja.xpi&url=&version=0.7&time=1204396751
           => `deltup.php?have=mozilla-firefox-2.0.0.11-ka.xpi&want=mozilla-firefox-2.0.0.12-ja.xpi&url=&version=0.7&time=1204396751'
Resolving linux01.gwdg.de... 134.76.13.21
Connecting to linux01.gwdg.de|134.76.13.21|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://dev.gentooexperimental.org/deltup/mozilla-firefox-2.0.0.11-ka.xpi-mozilla-firefox-2.0.0.12-ja.xpi.dtu [following]
--10:39:21--  http://dev.gentooexperimental.org/deltup/mozilla-firefox-2.0.0.11-ka.xpi-mozilla-firefox-2.0.0.12-ja.xpi.dtu
           => `mozilla-firefox-2.0.0.11-ka.xpi-mozilla-firefox-2.0.0.12-ja.xpi.dtu'
Resolving dev.gentooexperimental.org... 81.93.240.53
Connecting to dev.gentooexperimental.org|81.93.240.53|:80... connected.


Expected Results:  
>> Downloading 'http://distfiles.gentoo.org/distfiles/mozilla-firefox-2.0.0.12-ja.xpi'
Searching for a previously downloaded file in /usr/portage/distfiles

We have the following candidates to choose from 
mozilla-firefox-2.0.0.11-ca.xpi
mozilla-firefox-2.0.0.11-da.xpi
mozilla-firefox-2.0.0.11-ja.xpi
mozilla-firefox-2.0.0.11-ka.xpi
mozilla-firefox-2.0.0.9-ca.xpi
mozilla-firefox-2.0.0.9-da.xpi
mozilla-firefox-2.0.0.9-ja.xpi
mozilla-firefox-2.0.0.9-ka.xpi 

The best of all is ... mozilla-firefox-2.0.0.11-ja.xpi

Checking if this file is OK.

Trying to download mozilla-firefox-2.0.0.11-ja.xpi-mozilla-firefox-2.0.0.12-ja.xpi.dtu

--10:39:11--  http://linux01.gwdg.de/~nlissne/deltup.php?have=mozilla-firefox-2.0.0.11-ja.xpi&want=mozilla-firefox-2.0.0.12-ja.xpi&url=&version=0.7&time=1204396751
           => `deltup.php?have=mozilla-firefox-2.0.0.11-ja.xpi&want=mozilla-firefox-2.0.0.12-ja.xpi&url=&version=0.7&time=1204396751'
Resolving linux01.gwdg.de... 134.76.13.21
Connecting to linux01.gwdg.de|134.76.13.21|:80... connected.
HTTP request sent, awaiting response... 302 Found
Location: http://dev.gentooexperimental.org/deltup/mozilla-firefox-2.0.0.11-ja.xpi-mozilla-firefox-2.0.0.12-ja.xpi.dtu [following]
--10:39:21--  http://dev.gentooexperimental.org/deltup/mozilla-firefox-2.0.0.11-ja.xpi-mozilla-firefox-2.0.0.12-ja.xpi.dtu
           => `mozilla-firefox-2.0.0.11-ja.xpi-mozilla-firefox-2.0.0.12-ja.xpi.dtu'
Resolving dev.gentooexperimental.org... 81.93.240.53
Connecting to dev.gentooexperimental.org|81.93.240.53|:80... connected.


Portage 2.1.3.19 (default-linux/x86/2007.0/desktop, gcc-4.1.2, glibc-2.6.1-r0, 2.6.23-gentoo-r3 i686)
=================================================================
System uname: 2.6.23-gentoo-r3 i686 Intel(R) Celeron(R) CPU 2.53GHz
Timestamp of tree: Mon, 25 Feb 2008 01:47:01 +0000
distcc 2.18.3 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled]
ccache version 2.4 [enabled]
app-shells/bash:     3.2_p17-r1
dev-java/java-config: 1.3.7, 2.0.33-r1
dev-lang/python:     2.4.4-r6
dev-python/pycrypto: 2.0.1-r6
dev-util/ccache:     2.4-r7
sys-apps/baselayout: 1.12.10-r5
sys-apps/sandbox:    1.2.18.1-r2
sys-devel/autoconf:  2.13, 2.61-r1
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2, 1.10
sys-devel/binutils:  2.18-r1
sys-devel/gcc-config: 1.4.0-r4
sys-devel/libtool:   1.5.24
virtual/os-headers:  2.6.23-r3
ACCEPT_KEYWORDS="x86"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O3 -mtune=pentium4 -mmmx -msse -msse2 -mfpmath=sse -mno-3dnow -pipe -momit-leaf-frame-pointer -funsafe-math-optimizations"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.5/env /usr/kde/3.5/share/config /usr/kde/3.5/shutdown /usr/share/config"
CONFIG_PROTECT_MASK="/etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/revdep-rebuild /etc/terminfo /etc/texmf/web2c /etc/udev/rules.d"
CXXFLAGS="-O3 -mtune=pentium4 -mmmx -msse -msse2 -mfpmath=sse -mno-3dnow -pipe -momit-leaf-frame-pointer -funsafe-math-optimizations"
DISTDIR="/usr/portage/distfiles"
FEATURES="buildpkg ccache distlocks fixpackages metadata-transfer parallel-fetch pkgcache sandbox sfperms strict unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org/ http://linux01.gwdg.de/ http://134.76.13.21/ http://64.50.238.52/ ftp://64.27.65.115/gentoo"
LANG="C"
LINGUAS="en en_US en_GB"
MAKEOPTS="-j3"
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 --filter=H_**/files/digest-*"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="16bit 16bit-indices 16bittmp 3ds 7zip X X509 a52 aac aalib ace acl acpi ada addbookmarks adns agg aim aio akode alac alias aliaschain alsa amarok amazon amd amr amrnb amrr amrwb animgif ansi ao aotuv apm aqua_theme arts artworkextra async athena audiofile automount autoreplace avahi background bash-completion bcmath bdf beagle berkdb bidi bigpatch binary-drivers binfilter bitmap-fonts bl blas bluetooth bonjour bonusscripts boo bookmarks boost branding bzip2 c++ c3p0 cairo calendar cardbus cblas ccache cdb cdda cddb cdinstall cdparanoia cdr cdrom cdsound cegui cgi charconv chardet chasen chm chroot clamav cli cmdsubmenu cnamefix colordiff compress config_wizard connectionstatus contactnotes corba cpio cpudetection cpulimit cracklib crciprec crypt cscope css ctrlmenu ctype cups curl curlwrappers cursors cvs cvsgraph d daap dbox2 dbus dbx dc1394 dga dhcp dict diet directfb disk-partition diskio divx djbfft dmi dnd dolby-record-switch dom4j domain-aware dosformat dri dts dv dvb dvbplayer dvd dvdnav dvdr dvdread dvi eap-tls ecc eds elf emacs emboss emovix enca encode enscript eolconv epiphany epson escreen esd esfq evo examples excel exif exiscan exiscan-acl expat extraicons extramodules f90 fam fame fastcgi fasttrack fat fbcon fbdev fbsplash fdftk ffmpeg firefox flac flash fltk font-server fontconfig fortran fortran95 fping fpx freebox ftp fuse g15 gadu gcc-libffi gcl gd gdbm gdm gencertdaily ggi gif gimp gimpprint ginac glade glep glgd glib glibc-omitfp glitz glut gmail gmedia gnome gnome-print gnomecanvas gnuplot gnustep gnutella gnutls gopher gpgme gphoto2 gpm gprof graphviz groupwise gstreamer gtk gtkhtml gtkspell guile gzip gzip-el hal hardware-carrier hfs high-ints highlight history hou howl-compat hpn icons iconv icq icu id3 idea ieee1394 ifp ifsession ignore-case ignore-glep31 image imagemagick imlib immqt-bc ipod ipsec ipv6 isdnlog ivtv jabber jack jack-tmpfs jad jai java java-internal javascript jbig jboss jce jfs jikes jingle joystick jpeg jpeg2k kakasi kde kdecards kdepim kdexdeltas kerberos kig-scripting kipi ladcca lame lapack lash latex lcd lcms ldap leim lesstif libcaca libnotify libsamplerate libsexy libtommath libvisual libwww lids lirc live lm_sensors login-watch logitech-mouse lua lzo lzw m17n-lib mad math md5sum meanwhile memlimit midi mikmod mime mimencode ming mixer mjpeg mmap mmx mmxext mng modplug mono mounts-check mouse mp2 mp3 mp3rtp mp4 mp4live mpeg mpeg2 mpi mppe-mppc msn mtp mudflap multitarget multiuser musepack musicbrainz mysql mysqli na_dd na_icons nas nat nautilus ncurses neXt netbeans netcdf nethack netjack netmeeting network network-cron new-clx nextaw nfs nis nls nntp nocd nowin nptl nptlonly nsplugin nss ntfs ntlm objc objc++ objc-gc odbc offensive office ogg ogre ole openal openbabel openexr opengl openmp openssh openssl opensslcrypt osc oscar oss overlays padlock pae pam pango pascal patented pcntl pcre pda pdf perl pfpro physfs player plib plotutils plugin pmu png pnm polling portaudio posix povray pppd prediction print profile ps pulseaudio pygrub python qt3 qt3support qt4 quicktime radio radius rar rc5 rdesktop readline real realmedia recode reflection regex reiser4 reiserfs resolvconf rpm rt2400pci rt2500pci rt2500usb rt61pci rt73usb rtc rtsp ruby samba sasl scanner sdk sdl sdl-image sdl-sound sdlaudio server session sftp sge sguil sharedmem shorten shout sid silc skey skins slang slp smartcard smp sms smux sndfile snmp soap socks5 sou sound sox speedo speex spell spl sqlite sqlite3 srt sse sse2 ssl stream subject-rewrite submenu subtitles svg svga svgz swat sysfs szip tcl tcpd tcpmd5 texteffect tga theora thesaurus threads tiff tivo tk tomsfastmath toolbar toolkit-scroll-bars totem transcode translator transmitter trayicon truetype truetype-fonts tv_check tv_pick_cgi twolame type1 type1-fonts uim unicode unzip upnp usb utempter uudeview uuencode v4l v4l2 vcd vdr videos vidix vim vim-pager vim-syntax vim-with-x vinum visualization vlm vnc vncviewer vorbis vorbis-psy wavpack wifi win32codecs wma wmf wmp wordperfect wxwindows x264 x86 xanim xatrix xcomposite xext xforms xim xine xinerama xinetd xml xmlreader xmlrpc xmlwriter xorg xosd xpm xscreensaver xsettings xterm xv xvid xvmc xvnc yahoo yaz yiff yv12 zeroconf zip zlib zvbi" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1 emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="evdev keyboard mouse joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_US en_GB" LIRC_DEVICES="hauppauge" USERLAND="GNU" VIDEO_CARDS="i810 v4l v4l2 apm vesa vga radeon fglrx nv nvidia"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, LDFLAGS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY

PORTDIR last updated 27FEB08.
Comment 1 Nicolai Lissner 2008-04-28 10:38:54 UTC
Hi Brandon,
and thank you for your bug report.
Of course, you are correct, getdelta didn't chose the correct file here. However, it's still expected behaviour - the problem is: getdelta cannot recognize the difference between a language-code and letters in version. Seen as a version number, 2.0.0.11-ka is actually the nearest version to 2.0.0.12-ja. getdelta just sees 2.0.0.11-ka as a successor of 2.0.0.11-ja and therefore it expects it to be more similar to 2.0.0.12-ja than the "older" version. Fortunately this does not happen very often, actually I don't know a second file with language-code appended to version number. So the problem is only triggered on systems using more than one firefox-language-file and only with this single update. 

So this bug should be closed as WONTFIX (I don't think it makes sense to write extra code to handle this single case - especially since this one is a small file). 

Thanks for your report, anyway :)
Comment 2 Paul Varner (RETIRED) gentoo-dev 2011-07-21 05:33:32 UTC
Closing as wontfix in regards to comment 1