[packagekit] Things that need fixing
Robin Norwood
rnorwood at redhat.com
Fri Feb 29 06:54:22 PST 2008
On Fri, 29 Feb 2008 08:59:23 +0100
Tim Lauridsen <tim.lauridsen at googlemail.com> wrote:
> Robin Norwood wrote:
> >>> Well, DTRT should be done in UpdateSystem.
> >> Yeah. And send error signals for the packages removed from the
> >> transaction. Tim L. or one of the other yum guys probably knows
> >> better than I how feasible DTRT is with yum's API. I'm guessing
> >> the standard case of 'update of LibFoo-X.Y from repo Bar breaks
> >> because app Blinky requires LibFoo=X-1.0' is fairly easy, but edge
> >> cases devolve into a horrible mess very quickly.
>
> Yum >= 3.2,10 has a new improved '--skip-broken' broken feature
> builtin to skip packages with broken dependencies.
> it is controlled by the self.yumbase.conf.skip_broken flag.
>
> I would be nice if there was some way to control this from pk, but we
> have to extend the signals some how to signal packages being skipped
> from the transaction.
> Good ideas welcome.
Oh, neat. I would even advocate making this the default for PK unless
there's a good reason not to.
Well, is ErrorCode intended to be for fatal errors? If not, we can
just simply throw an error code that says: 4 of 138 updates failed to
install due to dependency issues. <List of packages and dep error>.
> > Or, we could just spooge together the package definitions with
> > yet-another-separator.
>
> In the yum2 backend i make perfect sense to use arrays, but what
> about the helper script backends link yum, how do they handle
> multiple packages ?
I think for them, yet-another-separator is probably the only way. We
just need to pick one that isn't allowed in a package name by any of
the major packaging systems for package names (or versions)
> > The other question is, do we keep the single-package methods and add
> > multi-package methods, or just change all of the single-package
> > methods so they handle arrays of packages? I prefer the latter.
> > We might need to change some of the signals returned so we specify
> > what package we're talking about.
> >
>
> I think we should make new multi package method, and let the frontend
> check if multi package methods is implemented, then use them else
> fallback to single package methods.
> I the yum2 backend we only implement the multi package methods.
> InstallPackage : single
> InstallPackages : multi (or maybe just Install)
>
> If we just update InstallPackage to support multi packages then we
> have to fix all backends at once to support multi packages.
Is that really that bad, though? It seems better to me to feel the pain
now, and have a cleaner API. If the other backend owners don't like
it, we can hold off, I guess.
-RN
--
Robin Norwood
Red Hat, Inc.
"The Sage does nothing, yet nothing remains undone."
-Lao Tzu, Te Tao Ching
More information about the PackageKit
mailing list