On Mon, 26 Apr 2010, Rahul Sundaram wrote:
On 04/26/2010 02:59 AM, drago01 wrote:
> On Sun, Apr 25, 2010 at 8:13 PM, cornel panceac <cpanceac(a)gmail.com> wrote:
>
>> during the testing of f13/rawhide is often required to pass --skip-broken to
>> yum. why isn't --skip-broken the default behaviour?
>>
> Well ideally we should not provide broken repos to begin with ...
> fixing the fallout at the client side sucks.
>
We don't live in a ideal world. Even if we do make our repos perfect,
users will often run third-party repositories and it would be nice for
the client to be tolerant of issues rather than bailing out.
Here's what we'd need to do -there are a couple of ways to do this:
option 1:
- run the test transaction and get back the errors
- go BACK to the depsolving step from here and add the items from the
errors to the skip list.
- redepsolve and try it again
problems:
- this means we're going to be rerunning some plugins again - especially
postresolve and pretrans
- this also means we've downloaded a pkg we are not going to use
- it's a fair bit of work
option 2:
- before the end of the depsolve we go through all the files from the
transaction and look if any of them are going to clash by filename/path.
If they are then we:
- download the checksums of the remote files from a not-yet-existent-or-
even-defined-but-definitely-relatively-heavy metadata and see if the files
are the same or not.
- If they are not the same and not allowed to overlap then we knock
those pkgs out of the transaction and try it all again
- if they are the same or allowed to overlap then we continue as if
nothing happened
Obviously option 2 is more desirable b/c it is not as much of a break to
how yum does things but it means traversing a lot of files everytime which
is not cheap, not to mention the file checksum metadata which we do not
have currently.
-sv