[pacman-dev] Some comments on Bryan patches (bugs)
Nagy Gabor
ngaba at bibl.u-szeged.hu
Sun Mar 8 10:32:58 EDT 2009
> I just found a funny test case on my first try. Funny because besides
> the same missing dependency message being printed many times, there is
> also a "provider package was selected" printed multiple times, which
> makes the whole thing worse.
> If I understood you correctly, all these missing dependency messages
> look the same because we are missing one information : the
> "causingpkg", which is a target package that has an unresolvable
> dependency, correct?
Yes.
> So with that additional info, all these missing dependency messages
> would be different.
> It seems fine to me to reuse the causingpkg field for that, because
> that name is quite general. We would just need to document well what
> it means in -R case, and what it means in -S/-U case.
>
> > sudo LANG=C pacman -S kde --ignore libxinerama
> kde package not found, searching for group...
> :: group kde (including ignored packages):
> kdeaccessibility kdeadmin kdeartwork kdebase kdebase-runtime
> kdebase-workspace kdeedu kdegames kdegraphics
> kdelibs kdemultimedia kdenetwork kdepim kdepimlibs
> kdeplasma-addons kdesdk kdetoys kdeutils kdewebdev
> :: Install whole content? [Y/n]
> resolving dependencies...
> warning: provider package was selected (freeglut provides glut)
> warning: cannot resolve "libxinerama", a dependency of "qt"
> warning: provider package was selected (freeglut provides glut)
> warning: cannot resolve "libxinerama", a dependency of "qt"
> warning: cannot resolve "libxinerama", a dependency of "qt"
> warning: provider package was selected (freeglut provides glut)
> warning: cannot resolve "libxinerama", a dependency of "qt"
> warning: provider package was selected (freeglut provides glut)
> warning: cannot resolve "libxinerama", a dependency of "qt"
> warning: cannot resolve "libxinerama", a dependency of "qt"
> warning: provider package was selected (freeglut provides glut)
> warning: cannot resolve "libxinerama", a dependency of "qt"
> warning: provider package was selected (freeglut provides glut)
> warning: cannot resolve "libxinerama", a dependency of "qt"
> warning: provider package was selected (freeglut provides glut)
> warning: cannot resolve "libxinerama", a dependency of "qt"
> warning: provider package was selected (freeglut provides glut)
> warning: cannot resolve "libxinerama", a dependency of "qt"
> warning: provider package was selected (freeglut provides glut)
> warning: cannot resolve "libxinerama", a dependency of "qt"
> warning: cannot resolve "libxinerama", a dependency of "qt"
> warning: provider package was selected (freeglut provides glut)
> warning: cannot resolve "libxinerama", a dependency of "qt"
> warning: provider package was selected (freeglut provides glut)
> warning: cannot resolve "libxinerama", a dependency of "qt"
> warning: cannot resolve "libxinerama", a dependency of "qt"
> warning: provider package was selected (freeglut provides glut)
> warning: cannot resolve "libxinerama", a dependency of "qt"
> warning: cannot resolve "libxinerama", a dependency of "qt"
> warning: cannot resolve "libxinerama", a dependency of "qt"
> warning: provider package was selected (freeglut provides glut)
> warning: cannot resolve "libxinerama", a dependency of "qt"
> :: the following package(s) cannot be upgraded due to unresolvable dependencies:
> kdeaccessibility kdeadmin kdeartwork kdebase kdebase-runtime
> kdebase-workspace kdeedu kdegames
> kdegraphics kdelibs kdemultimedia kdenetwork kdepim
> kdepimlibs kdeplasma-addons kdesdk kdetoys kdeutils
> kdewebdev
>
> Do you want to skip the above package(s) for this upgrade? [Y/n]
> looking for inter-conflicts...
> local database is up to date
Wow, this is weird. And now I am a bit unsure about my "warning:
ignoring foo..." patch. :) By the way, I don't think those "warning:
cannot resolve libxinerama" messages are useful, these kind of infos
should be collected "at the end" (using *data list or whatever).
In fact, now the "provider package was selected" can be false, because
we may finally remove that package (freeglut) from the target list. So
that message should be completely removed imho. (However, that message
was introduced when I switched to _alpm_resolvedep usage in
sync_addtarget... Now I am not sure that was a good idea, see its prompt
param. But if we keep this resolvedep stuff, we can detect providers
comparing depend->name and target->name in sync_addtarget.)
The main problem is (which was predicted in Bryan's first "Another idea"
mail), that resolvedeps want to resolve the same dependency path many
times (which is slower), which is not successful here...
Bye
More information about the pacman-dev
mailing list