emerge -Uuvp world says gentoo-dev-sources must be upgraded. It immediately downloads the full sources plus patches. Nice. Now the problem is it could have looked in distfiles and seen that 2.6.7 was already there; then downloaded patch-2.6.8.bz2 (or gz) and saved -2.6.8-full 36 M -patch 3.5 M about 32 MB of bandwidth. So then some change for nfs leaves us at 2.6.8.1 which will be downloaded in total to be patched by Gentoo no doubt. Now I wouldn't want to go all the way to 2.6.0 and patch to it like bug 621 but I would hope that this should illustrate that there is a need to support patching on some level. Magnify that a couple thousand machines BTW. For dialup it would be a killer. Reproducible: Always Steps to Reproduce: 1.Always 2. 3. Expected Results: Checked the distfiles directory to see what version of needed source was available, decided 3.5 MB was better than 36 MB and patched. Likely more than 2 patchsets back would be more than most faithful gentooers would have anyway. bash-2.05b# emerge -UvDup world These are the packages that I would merge, in order: Calculating world dependencies ...done! [ebuild N ] sys-kernel/gentoo-dev-sources-2.6.8 -build -doc -ultra1 34,901 kB [ebuild U ] net-www/mozilla-1.7.2 [1.7] +crypt -debug -debug +gnome +gtk2 +gtk2 +java +java +ldap -mozcalendar -mozdevelop -moznocompose -moznoirc -moznomail -moznoxft -moznoxft -mozsvg +mozxmlterm +ssl -xinerama -xprint 34,052 kB [ebuild U ] net-analyzer/netselect-0.3-r1 [0.3] 21 kB Total size of downloads: 68,975 kB bash-2.05b# emerge -UvDu world Calculating world dependencies ...done! >>> emerge (1 of 3) sys-kernel/gentoo-dev-sources-2.6.8 to / >>> Downloading http://gentoo.chem.wisc.edu/gentoo/distfiles/genpatches-2.6-8.47-base.tar.bz2 --11:07:18-- http://gentoo.chem.wisc.edu/gentoo/distfiles/genpatches-2.6-8.47-base.tar.bz2 => `/usr/portage/distfiles/genpatches-2.6-8.47-base.tar.bz2' Resolving gentoo.chem.wisc.edu... 128.104.70.13 Connecting to gentoo.chem.wisc.edu[128.104.70.13]:80... connected. HTTP request sent, awaiting response... 200 OK Length: 10,706 [application/x-tar] 100%[==================================>] 10,706 --.--K/s 11:07:23 (93.76 KB/s) - `/usr/portage/distfiles/genpatches-2.6-8.47-base.tar.bz2' saved [10706/10706] >>> Downloading http://gentoo.chem.wisc.edu/gentoo/distfiles/linux-2.6.8.tar.bz2 --11:07:23-- http://gentoo.chem.wisc.edu/gentoo/distfiles/linux-2.6.8.tar.bz2 => `/usr/portage/distfiles/linux-2.6.8.tar.bz2' Resolving gentoo.chem.wisc.edu... 128.104.70.13 Connecting to gentoo.chem.wisc.edu[128.104.70.13]:80... connected. HTTP request sent, awaiting response... 200 OK Length: 35,634,061 [application/x-tar] 11% [==> ] 3,926,880 153.22K/s ETA 03:25 [1]+ Stopped emerge -UvDu world bash-2.05b# ls -l /usr/portage/distfiles/ total 45736 drwxrws--- 3 portage portage 72 May 31 2003 cvs-src -rw-rw-r-- 1 root portage 63281 Aug 13 00:00 genpatches-2.6-7.46-base.tar.bz2 -rw-rw-r-- 1 root portage 147471 Aug 13 00:00 genpatches-2.6-7.46-extras.tar.bz2 -rw-rw-r-- 1 root portage 10706 Aug 15 04:00 genpatches-2.6-8.47-base.tar.bz2 -rw-rw-r-- 1 root portage 35092228 Jul 15 21:42 linux-2.6.7.tar.bz2 -rw-r--r-- 1 root root 3935520 Aug 16 11:07 linux-2.6.8.tar.bz2
assigned to kde?
perhaps a script to be run before/(called by) kernel ebuilds that would patch kernel sources before adding the gentoo patches. Could be adaptable for all kernels. E.G. Something like "update-vanilla-sources" that would check to what source is in distfiles and if within say 2 versions; then patch to latest vanilla before adding gentoo patches. Another way of saying the same thing- kernels ebuilds would use the latest vanilla-sources(2.4 or 2.6) and build from there. And updating the sources would be determined by the update-vanilla-script download vs. patch. user99 aka bus_drivr
*** Bug 84821 has been marked as a duplicate of this bug. ***
This is fixed when you use getdelta. getdelta automatically creates patches and lets you download them .. it also looks that the md5 is correct afterwards :) just do: emerge -va getdelta vi /etc/make.conf (Add FETCHCOMMAND="/usr/bin/getdelta.sh ${URI}") Then it should work :)
Hello, Nice to see any solution. However though viable this is not the default for kernel ebuilds. Meaning getdelta may not be installed. I'd actually like to see something like this for ALL ebuilds. Bandwidth costs money that should be justification enough for making portage check distfiles and patch for kernels. Don't most ebuilds do this anyway? If not they should. If not they should. As for kernel ebuilds I wonder shouldn't perl be re-installed after. Seems I saw mention of possible security issues if perl has problems with kernel versions. I consider the way this was closed a "cop out"
getdelta works on all ebuilds. No, no other ebuilds that I know of dynamically patch based on previous distfiles. No, perl does not need to be re-merged after changing kernel. Unfortunately we physically can't make ebuilds work in this way (check earlier versions, download relevant patches if needed) simply because of the way our digest / signing works. Something like getdelta is the only viable solution right now, unless you'd like to rewrite portage for us :)