determining which package is 'responsible' for forcing a downgrade ?

snowcrash+smart schneecrash+smart at gmail.com
Wed Jan 17 13:05:18 PST 2007


> ...this one, even though they have the same version and name.

oh, just great. :-/

> Smart is able to detect package uniqueness with a more insightful
> way than just name/version.  If it was precisely the same package,
> it'd be listed with a single entry, and Smart would say so with:
>
>      Channels: RPM System; Latest mozilla.org packages @ SuSE

now i understand/know. thanks.

> Something like this might also happen if for some reason the
> metadata in these channels say different things about the same
> package (which would of course mean a different package as far
> as a dependency solver is concerned).
>
> Try the following: run "smart query --show-all" in these packages,
> put data for each package in a separate file, and run diff on them.
> This way you can tell how they're differing.

ok, given two 'identically named' (even though they're differen :-/ ) file,

  % smart query --show-summary --show-channels
MozillaThunderbird-1.99.1-44.1 at i586
   MozillaThunderbird-1.99.1-44.1 at i586 [suse-mozilla-latest] - The
Stand-Alone Mozilla Mail Component
   MozillaThunderbird-1.99.1-44.1 at i586 [myDB] - The Stand-Alone
Mozilla Mail Component

i _can_ get the --show-all output of JUST the installed version in [myDB] with,

  % smart query --show-all --installed MozillaThunderbird-1.99.1-44.1 at i586

but how do i get the output for JUST the one in [suse-mozilla-latest]?


for the moment, i did a,

  % smart query --show-all MozillaThunderbird-1.99.1-44.1 at i586

and manually split the output into two files,

	TBird_in_myDB.txt
	TBird_in_suse-mozilla-latest.txt

then,

diff -ur TBird_in_myDB.txt TBird_in_suse-mozilla-latest.txt
--- TBird_in_myDB.txt   2007-01-17 12:47:28.000000000 -0800
+++ TBird_in_suse-mozilla-latest.txt    2007-01-17 12:47:05.000000000 -0800
@@ -1,4 +1,4 @@
-MozillaThunderbird-1.99.1-44.1 at i586 {5} [myDB] - The Stand-Alone
Mozilla Mail Component
+MozillaThunderbird-1.99.1-44.1 at i586 {17} [suse-mozilla-latest] - The
Stand-Alone Mozilla Mail Component
   Provides:
     MozillaThunderbird = 1.99.1-44.1 at i586
       Required By:


i.e., no difference.

???

> It got the same package again.  The one from openSUSE 10.2.  After
> doing what I suggested above, try disabling the 10.2 channel, and
> running install again.
>
> >  error: package MozillaThunderbird-1.99.1-44.1 is already installed
>
> Yep.. bad things happen in these cases.

in spite of the diff==NULL, there apparently *is* a difference,

  % smart query MozillaThunderbird-1.99.1-44.1 at i586 --show-channels
    MozillaThunderbird-1.99.1-44.1 at i586 [suse-mozilla-latest]
    MozillaThunderbird-1.99.1-44.1 at i586 [myDB]


  % smart query MozillaThunderbird-1.99.1-44.1 at i586 --installed --show-channels
    MozillaThunderbird-1.99.1-44.1 at i586 [myDB]


  % smart remove MozillaThunderbird-1.99.1-44.1 at i586
    ...
    Removing packages (1):
      MozillaThunderbird-1.99.1-44.1 at i586
    ...
    1:Removing MozillaThunderbird
    ...
    [100%]


  % smart query MozillaThunderbird-1.99.1-44.1 at i586 --installed --show-channels
  %

  % smart install MozillaThunderbird-1.99.1-44.1 at i586
    ...
    Installing packages (1):
      MozillaThunderbird-1.99.1-44.1 at i586
    ...
    1:Installing MozillaThunderbird
    ...
    [100%]

  % smart query MozillaThunderbird-1.99.1-44.1 at i586 --show-channels
    MozillaThunderbird-1.99.1-44.1 at i586 [myDB, suse-mozilla-latest]


ok.  *now* it's *really* the 'same'.

checking,

  % smart upgrade MozillaThunderbird
    No interesting upgrades available.

so, i understand WHAT happened.

questions, still,

WHY? --> iiuc, as you explained ...

WHAT TO DO ABOUT IT?

i'm assuming this will be the same problem with 'all' the other
packages being force-downraded-to-upgrade.

should I,

	(a) rebuild the 'master' rpm DB?
	(b) delete, then re-create [myDB]?

what's recommended here?

thanks.



More information about the Smart mailing list