
so a portage tarball snapshot has his cache already updated???red-wolf76 wrote:Well, any sort of cache usually stores remotely available things locally, so you or programs have the luxury of accessing them even when the network is down or currently not available. Your browser caches images for faster repeated loading of often viewed pages, etc.
Portage cache stores the information about every package that is available for your Gentoo (according to architecture and keywords, etc.). Everytime you emerge --sync, it checks your cache against the rsync mirror and downloads the package information that has changes. Hence, there's the notification of a "Speedup" which gives you the time factor you saved by only syncing the relevant parts instead of re-downloading the whole shebang.
But to seamlessly integrate what you just downloaded, Portage needs to check and file that information in - tadaa - the cache and that's what's taking so long because of local syncing commands when KDE packages are concerned.
At least this is how I - a total n00b where inner workings of Gentoo are concerned - understand it. Anyone feel free to correct the blatant errors...
1. it´s actually very easy to "hack portage"drescherjm wrote:Maybe I am nuts but I can not believe that people are spending a lot of time hacking portage when the simple solution of using cdb (stated many times in this and other threads) nearly eliminates this problem and it takes possibly 2 minutes to install... emerge metadata for me takes a few seconds, I admit I have not tested this on a P1 200 though...


Because you might not want to download every single piece of information that is already up-to-date again, and again, and again... It saves bandwidth and even if you're on a T1, it's not really good form to sync every five minutes because other people might be using the 'net too.new_to_non_X86 wrote:so a portage tarball snapshot has his cache already updated???
so why it is not done by default???
I've sort of lost you hereis it because it's modular and at anytime develloper can summit a portage ebuild?
and so building the cache is impossible (because of concurent ebuild posting etc...)
and so because tarball are freezed state of the portage tree...building the cache is possible for developers and so they've done it


Thanks for the info.Portage 2.1-pre is now in the tree.
I hope that its not that bleeding edge that its buggy. I've never had a single problem using the ~ portage in the past.So if you are willing to be a little bleeding edge, help Gentoo by installing the new Portage and filing bugs as you find them.
Well actually if I did an update world now it would break my system because I use cdb. Thanks again for the warning...(I haven't found any yet.) Oh, it doesn't work with the custom database cache backends. The module system is different now, though I think someone put together a quick fix to get cdb working (see the sticky thread in this forum).

Don't worry. I think about half of us ended up here for that reason. I know I did.1U wrote:I'm glad this wasn't something just wrong with my system. Sorry for posting a duplicate of this. Had the gentoo forums allowed me to search properly without stripping half of the terms I would have found this thread sooner.
Code: Select all
emerge -upv portage
These are the packages that I would merge, in order:
Calculating dependencies ...done!
Total size of downloads: 0 kB
Code: Select all
ACCEPT_KEYWORDS=~amd64 emerge -upv portage
These are the packages that I would merge, in order:
Calculating dependencies ...done!
[ebuild U ] sys-devel/patch-2.5.9-r1 [2.5.9] -build -static 0 kB
[ebuild U ] sys-apps/sandbox-1.2.17 [1.2.12] 227 kB
[ebuild U ] app-misc/pax-utils-0.1.6 [0.1.4] -caps 46 kB
[ebuild U ] sys-apps/debianutils-2.15 [2.14.1-r1] -build -static 181 kB
[ebuild U ] sys-libs/gpm-1.20.1-r5 [1.20.1-r4] -emacs (-selinux) 7 kB
[ebuild U ] sys-libs/ncurses-5.5-r1 [5.4-r6] -bootstrap -build -debug +doc +gpm -minimal -nocxx -unicode 2,259 kB
[ebuild U ] app-shells/bash-3.1_p5 [3.0-r12] (-afs) -bashlogger -build +nls -unicode 2,490 kB
[ebuild U ] sys-apps/portage-2.1_pre3-r1 [2.0.53] -build +doc (-selinux) 242 kB
Total size of downloads: 5,456 kB


Nope, that's pretty far off from what occurs actuallyred-wolf76 wrote:Everytime you emerge --sync, it checks your cache against the rsync mirror and downloads the package information that has changes. Hence, there's the notification of a "Speedup" which gives you the time factor you saved by only syncing the relevant parts instead of re-downloading the whole shebang.
If all it's doing is transferring data over the internet, then why does it take so damn long? My last "emerge sync" took 45 minutes to "update the cache", and spent most of that time with the CPU pegged at 100%.ferringb wrote:The 'updating the cache' is transferring (and mild transformation of) the cache to your local cache, so you don't have to suffer through running without an up to date cache.
As stated in the thread, it's not the downloading that takes a long time, it's the metadata updating. Every time anything changes ((# packages) * (#packages) * (#packages) times), it deletes the file and re-writes it. You can fix this by either upgrading to the unstable version of portage, or removing every sync() (NOT sync(somestuff)) call in your copy of /usr/lib/portage/pym/portage.py .Carnildo wrote:If all it's doing is transferring data over the internet, then why does it take so damn long? My last "emerge sync" took 45 minutes to "update the cache", and spent most of that time with the CPU pegged at 100%.ferringb wrote:The 'updating the cache' is transferring (and mild transformation of) the cache to your local cache, so you don't have to suffer through running without an up to date cache.

Actually, the portage cache is stored under /var/cache/edb/dep/, so if you want to sync many computers over your own network, just compress /usr/portage/ plus /var/cache/edb/dep/ and send them to the other computers. You'll save hours of processing time.new_to_non_X86 wrote:so a portage tarball snapshot has his cache already updated???
so why it is not done by default???