[pacman-dev] [PATCH 3/5] repo-add : rework of delta support

Allan McRae allan at archlinux.org
Thu Feb 26 04:25:34 EST 2009


Xavier wrote:
> On Thu, Feb 26, 2009 at 4:11 AM, Allan McRae <allan at archlinux.org> wrote:
>   
>>> +# Get the package name from the delta filename
>>> +getpkgname() {
>>> +       local tmp
>>> +
>>> +       tmp=${1##*/}
>>> +       echo ${tmp%-*-*_to*}
>>> +}
>>>
>>>       
>> Rename this to getdeltapkgname to clarify it is only used for deltas?  Self
>> document function names make my head hurt less.
>>
>>     
>
> Sorry, I had exactly the same thought, I just didn't know where to add
> delta :) I will use your suggestion.
>
>   
>> Otherwise, a quick read of the other changes made sense to me, but I will
>> need to do this in more detail.
>>     
>
> This is probably the patch that requires the most careful review
> (compared to the other 4), so it would be highly appreciated.
>   

OK.  I will pull your patches into a git branch to remind myself to go 
through these in a lot of detail sometime in the next week or so.  Do 
you have a git home now that Dan moved his server or do I need to apply 
them from the mailing list?  shining.toofishes.net does not seem to 
exist anymore.

Did you test whether creating a repo db from (e.g.) your cache gave the 
same result with the new and old version. I don't remember anything that 
should change just adding packages.

>> One comment that is moderately related to this.  Should there be a mechanism
>> to inspect the deltas are remove the ones that are no longer necessary?
>>  I.e. deltas with a broken chain, deltas who chain download will be bigger
>> than the package.  Should that be a job of repo-add when adding a new delta
>> or a separate script?
>>
>>     
>
> I don't know, that seems neat but maybe too much complexity, I am not
> sure. Finding out how deltas could/should be managed has always been a
> big issue to me, how/when they are added, how/when they are removed.

I think deciding when they should be removed is the easiest part here:
1) when you can not get from a delta to the current package, it should 
be removed
2) when getting from a delta to the current package requires more 
download than just downloading the current package (or whatever 
criterion pacman uses - 80%?), it should be deleted.  Perhaps this 
should be a separate script, or maybe a flag (repo-add --cleandelta)?

Deciding when to add them is very political...

Allan





More information about the pacman-dev mailing list