[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

a more efficient download process?

Dear Debian-Developers All Over The World!

may i introduce my,

proposal for a more efficient download process

I. the reason why i suggest a patch-oriented download process
II. a brief description
II.A. on the users side
II.B. on the upload and storage side

I. the reason why i suggest a patch-oriented download process

downloading a huge deb-package can sometimes be painful, especially when people have only access to a slow internet connection; painful e.g. when security fixes are made to the open-office packages. so this leads to what i call a extra-copy with just some kb of changes. this also is painful for those who have to download from sid, to have the latest state of development. this is not a critic on apt or dpkg! no. apt and dpkg are one of the reason why i use debian. but i think the lack of an efficient download process can be fixed. i even believe this idea is not new and already included in other distributions and also on the mind of many debian developers and users (e.g.: me):

II. a brief description

please let me explain what is on my mind. it may or may not be a good idea. i don't claim to be a professional but want to share my thoughts. thank's! and as i have found out, there was already a similar discussion on debian-devel mailing list just this month. but maybe this can help anyway. i have already tried to sent to debian-devel but with no success. maybe the server is very busy! so if you are interessted...

II.A. on the users side

apt and probably dpkg need of course some changes. but as i believe these changes aren't that big. so how to patch a package when there is no local copy of an old one? (this was part of the discussion on debian-devel) there is a local copy of the old one: the installed one! so there is a way to reproduce the old package to it's almost original state, mentioning the conffiles which get manipulated through the install-process. so i suggest not a deb-package oriented patching but a file oriented. conffiles should just get replaced with the original or new version. the other files mainly can be patched. the deb-package interna md5sum then can be used to verify the originality of the new package. please have a look at 'dpkg-repack' by joeyh. and after patching, the package can be foisted on dpkg. so i think dpkg needs no
hacks. apt has to care about the efficient download- and patchment process.

this can lead to this:
if a patch is available:

1. look in /var/cache/apt/packages for the package to be updated. if the old one is there patch it's files. md5sum. happy? if not...

2. try to repack the package with dpkg-repack. patch the files. md5sum. if no success...

3. download the whole package. not happy, but well. or download the current tree-package and apply all patches.

II.B. on the upload and storage side

the upload process may need some more changes though (e.g.: for automation). if this ever comes true, there will have to be a period of time where both, the old way and this way have to work, of course. this will lead to the fact that there is more space required to store the packages and patches; i am sure about this! then there is also the question on how to make the patches available. i believe things can be left as they are and let apt resolve the download of patches. in the end, obviosly there only will be meta-packages representing the original and new package. so things on the users side can be left as they are. the user only will experience a faster download.

proposal end

greetings from austria

well, though i think i can't fix that problem, but i believe i can make a workaround!
curt manucredo

"Only two things are infinite, the universe and human stupidity,
and I'm not sure about the former." -- Albert Einstein

Reply to: