Hi Andre, * On Wed, Apr 11, 2012 at 09:57:35AM +0800, Andre Fischer wrote: > >>Does anybody have tested an upgrade installation with these new > >>Linux packages and can verify the reported problem, see > >>https://issues.apache.org/ooo/show_bug.cgi?id=119162 > >> > >>I think we haven't noticed this problem before and I would be > >>interested if others can confirm this problem. > >> > >>I will be offline for ~1 day because of traveling and I will make > >>the call for VOTE depending on the feedback from you. > > > >Old basis package set remaining is the default behaviour, at least > >tested with OOo 3.0.0. On Fedora 16: > > > >- install OOo 3.0.0 (OOO300_m9 9358) > >- install OOo 3.1.1 (OOO310_m19 9420) > > > >1) there is an issue with the desktop integration, same for AOO > >2) the old basis3.0 remains: > > > >/opt/openoffice.org/basis3.0 > >/opt/openoffice.org/basis3.1 > > > >All ooobasis3.0 packages are kept. > > Strange. > > Here is what I would expect would happen on an update: > > - There is one top-level or meta package that has dependencies on > all the other packages (directly or indirectly) > - This meta package of OOo3.? is replaced by AOO3.4 > - The packages of OOo3.? are not referenced anymore and get removed > automatically. The new packages are installed. Everything is find. > > So one of the following things goes wrong: > - The old meta package is not removed because the new one has no > relationship to it (maybe because of a different application name) > - The old meta package is removed but some other package keeps a > reference to one of OOo3.? base packages. > - Something else that I did not think of yet (I am currently on a > business trip and am still adapting to the new time zone)
There are different issues. The main one is that the package name containes %OOOBASEVERSION Example: module = "gid_Module_Prg_Wrt_Bin" main/setup_native/source/packinfo/packinfo_office.txt#88 packagename = "%BASISPACKAGEPREFIX%OOOBASEVERSION-writer" %BASISPACKAGEPREFIX --> ooobasis main/instsetoo_native/util/openoffice.lst#20 %OOOBASEVERSION --> 3.4 main/instsetoo_native/util/openoffice.lst#7 I have installed following packages: ooobasis3.4-writer 3.4.0-9590 ooobasis3.0-writer 3.0.0-9358 ooobasis3.1-writer 3.1.1-9420 ooobasis3.2-writer 3.2.1-9502 ooobasis3.3-writer 3.3.0-9567 Because the *package* name is different, they are indeed different packages, ooobasis3.2-writer is *not* regarded as an update for ooobasis3.1-writer, and so on. ooobasis3.2-writer 3.2.1-9502 can only be updated by a package with the same name, examples: ooobasis3.2-writer 3.2.1-9503 (increase BUILD in main/solenv/inc/minor.mk#23) ooobasis3.2-writer 3.2.2-9502 etc. Note that I'm not sure if this is an issue, or it is the way it was designed with the idea of having different basis installations. The only solution in this strange design is to declare a package obsoleting the other ones, for example ooobasis3.4-writer obsoleting ooobasis3.0-writer ooobasis3.1-writer ooobasis3.2-writer ooobasis3.3-writer This can be done using linuxreplaces in the files on main/setup_native/source/packinfo/ I've tried this is success (though minimal testing): http://people.apache.org/~arielch/packages/yum-update-fix.txt There are some caveats: * A meta package is not enough, this has to be done on a per-packages way, not only to be in the safe side (if the user tries to install some package without the rest), but mainly because previous versions (and the current one) do not have a *real* meta package. The package openoffice.org3 gid_Module_Root_Brand does not provide every package OOo shipped in the tar file, see next point. * gid_Module_Root_Brand requires %UREPACKAGEPREFIX-ure %BASISPACKAGEPREFIX%OOOBASEVERSION-core01 %BASISPACKAGEPREFIX%OOOBASEVERSION-core02 %BASISPACKAGEPREFIX%OOOBASEVERSION-core03 %BASISPACKAGEPREFIX%OOOBASEVERSION-core04 %BASISPACKAGEPREFIX%OOOBASEVERSION-core05 %BASISPACKAGEPREFIX%OOOBASEVERSION-core06 %BASISPACKAGEPREFIX%OOOBASEVERSION-core07 %BASISPACKAGEPREFIX%OOOBASEVERSION-images When you install openoffice.org3 from AOO 3.4.0 over openoffice.org3 from 3.3.0, it only gets updated because they have the same name. It also updates the URE (due to same name, too). It installs basis core01-07 and basis images, but does not update/remove previous packages because the name is different. Besides, this sort of meta package does not install the office modules (writer, calc, etc). * Apache OpenOffice orphans some packages that are no longer present: In the basis layer: oooimprovement kde-integration [yes, AOO has no KDE integration] In the brand layer, OOo 3.3 installed by default 3 dictionaries: openoffice.org3-dict-en openoffice.org3-dict-es openoffice.org3-dict-fr These can all be obsoleted in openoffice.org3 In short, gid_Module_Root_Brand can be made a real meta package, and linuxreplaces is the only solution to remove old basis packages. (I still didn't look at the desktop integration package issue) Regards -- Ariel Constenla-Haile La Plata, Argentina
pgp49UBuUIdVe.pgp
Description: PGP signature