View previous topic :: View next topic |
Author |
Message |
bur Apprentice
Joined: 20 Feb 2004 Posts: 229
|
Posted: Thu Jul 06, 2006 9:01 pm Post subject: feature that would take much load off the sync-servers |
|
|
I just had an idea how a lot of strain could be taken off the sync-servers. Mostly when people sync to a new portage tree all they really want to know is if there are updates available to the packages they have installed, not a completely updated tree.
So if a new action would be added to emerge that would only check for new ebuilds for packages installed on the specific system, lot less cpu-time and bandwidth would be needed per sync. And if no updates are avaiable hardly any traffic and cpu time are needed, which would allow people to sync much more often if they want to.
A fully updated portage tree would only be needed when the user wants to install a new package. All the other times when only a "-uD world" is done, the otimized sync would be sufficient. |
|
Back to top |
|
|
desultory Bodhisattva
Joined: 04 Nov 2005 Posts: 9410
|
Posted: Fri Jul 07, 2006 4:26 am Post subject: |
|
|
There are certain problems which would need to be dealt with if such a feature were to be implemented, such as when an installed package has new dependency on a package or packages which are not currently installed this becomes even more complicated when the depended upon package is a virtual package.
Between things like that and the interactions this feature could have with rsync, it is doubtful that this feature will be implemented unless rsync loads get to be a significant problem or a developer decides to juggle eggs for a while. |
|
Back to top |
|
|
bur Apprentice
Joined: 20 Feb 2004 Posts: 229
|
Posted: Fri Jul 07, 2006 3:15 pm Post subject: |
|
|
I didn't think about the problem that might arise with new dependencies. But this could be dealt with by portage automatically updating the tree to include the newest versions of this package.
For example Package X gets updated and portage notices the ebuild now requires a new dependency. It will then download the newest ebuilds for this package but not do a complete update of the tree.
Or things could get even more simplified by removing the --sync command completely and make --update check for new ebuilds for installed packages automatically. If a user wants to emerge a new package, portage will download the newest ebuilds for it and then emerge the package. New ebuilds will also be downloaded for all dependent packages.
I think the way it is now (keeping a full portage tree of which only a small percentage really is needed) is quite wasteful. Making emerge only grab the ebuilds really needed is much more efficient and shouldn't cause any dependency issues. Even if you say, the sync-servers can well handle the load it is annoying to wait for a full portage tree update just to find no packages in use on the current system were updated. This whole updating process could be made much much shorter. Even syncing every 30mins or so would be possible w/o problems. Or better yet, using a combined --update --sync action. |
|
Back to top |
|
|
UncleOwen Veteran
Joined: 27 Feb 2003 Posts: 1493 Location: Germany, Hamburg
|
Posted: Fri Jul 07, 2006 4:11 pm Post subject: |
|
|
You're really not the first to suggest something like this. |
|
Back to top |
|
|
enderandrew l33t
Joined: 25 Oct 2005 Posts: 731
|
|
Back to top |
|
|
|