Some comments about upgrading with the DVD.

I recently upgraded two machines from 11.0 to 11.2, using the biarch DVD (the box). Ie, this is not
a zypper dup online live upgrade.

There was an issue with the repositories not being activated (a bug, I believe), which meant that
packages that were not in the DVD were left not upgraded.

Also, on one of the machines, I was doing an ARCH upgrade, from 32 bits to 64 - and many rpms were
left at 32 bits instead of the new 64 for the same reason.

The problem is changing all those after the system is “upgraded” with the DVD. The first step is
running an online update, which will catch a lot of the pending rpms. Others remain.

Trick: Run this in a terminal (it is one line, the “” means the line continues in the next one):



rpm -q -a --queryformat "%{INSTALLTIME};%{INSTALLTIME:day}; \
%{BUILDTIME:day}; %{NAME};%{VERSION}-%-7{RELEASE};%{arch}; \
%{VENDOR};%{PACKAGER};%{DISTRIBUTION};%{DISTTAG}
" \
| sort | cut --fields="2-" --delimiter=\; \
| tee rpmlist.csv | less -S

or

rpm -q -a --queryformat "%{INSTALLTIME}	%{INSTALLTIME:day} \
%{BUILDTIME:day} %-30{NAME}	%15{VERSION}-%-7{RELEASE}	%{arch} \
%25{VENDOR}%25{PACKAGER} == %{DISTRIBUTION} %{DISTTAG}
" \
| sort | cut --fields="2-" > rpmlist


(last command behind the “>” can be substitued with “| less -S”)

The idea is generating a sorted by date list of all rpms installed, with certain fields displayed.
One version produces fields separated by a semicolon, the other one with spaces; the one with
semicolons can be imported to openoffice or other calculating sheet, where you can use filters on
columns.

Like this:



] Sat Oct 02 2010;    Wed Sep 01 2010; libksane0;4.3.5-0.3.1  ;x86_64;
openSUSE;http://bugs.opensuse.org;openSUSE 11.2;(none)
] Tue Oct 05 2010;    Sat Oct 24 2009; fhs;2.3-180.2  ;noarch;
openSUSE;http://bugs.opensuse.org;openSUSE 11.2;(none)
] Thu Oct 07 2010;    Sat Oct 24 2009; file-devel;5.03-2.2    ;x86_64;
openSUSE;http://bugs.opensuse.org;openSUSE 11.2;(none)

or

] Sat Oct 02 2010    Wed Sep 01 2010 libksane0                                      4.3.5-0.3.1
x86_64                     openSUSE http://bugs.opensuse.org == openSUSE 11.2 (none)
] Tue Oct 05 2010    Sat Oct 24 2009 fhs                                              2.3-180.2
noarch                     openSUSE http://bugs.opensuse.org == openSUSE 11.2 (none)
] Thu Oct 07 2010    Sat Oct 24 2009 file-devel                                      5.03-2.2
x86_64                     openSUSE http://bugs.opensuse.org == openSUSE 11.2 (none)


The fields we are interested in are the “DISTRIBUTION” and “DISTTAG” fields, and “arch”. Knowing the
distribution they were made for, it is simple to detect which packages are from the old version and
must be upgraded. Similarly, packages made for 32 bits are seen because the “arch” is i686 or i586.

Also, looking at the “VENDOR” we can find those from “packman” or others.

So, it only remains to fire up yast software package manager (“yast2 --qt sw_single” as root) and
change the version of each package that needs it. I did it manually, click by click.

Or, you could use “zypper dup” and hope for the best >:-)


Cheers / Saludos,

Carlos E. R.
(from 11.2 x86_64 “Emerald” at Telcontar)