[Bug 276494] New: software-install module does not handle patches correctly
https://bugzilla.novell.com/show_bug.cgi?id=276494 Summary: software-install module does not handle patches correctly Product: openSUSE 10.2 Version: Final Platform: Other OS/Version: Other Status: NEW Severity: Normal Priority: P5 - None Component: YaST2 AssignedTo: bnc-team-screening@forge.provo.novell.com ReportedBy: sven.burmeister@gmx.net QAContact: jsrain@novell.com If by chance you use the software-install module and select Packages > All packages > Update if newer version available, you are not notified that it also selected patches. The latter would not be a problem, if those patches were handled as patches, yet if you install them and open YOU afterwards, they are still shown as available, instead of installed. Expected behaviour: Either do not install patches via software-install module, or handle them as YOU would, i.e. mark them as installed. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=276494 ------- Comment #1 from mhorvath@novell.com 2007-05-25 04:44 MST ------- I was able to reproduce it. (I tested it with a cron patch) -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=276494 ------- Comment #2 from mhorvath@novell.com 2007-05-25 04:44 MST ------- Created an attachment (id=142275) --> (https://bugzilla.novell.com/attachment.cgi?id=142275&action=view) yast logs -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=276494 mhorvath@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|bnc-team- |lslezak@novell.com |screening@forge.provo.novell| |.com | -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=276494 lslezak@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|lslezak@novell.com |sh@novell.com ------- Comment #3 from lslezak@novell.com 2007-05-29 08:46 MST ------- Package installation != patch installation Patch and package are two different things. A patch may (but may not) contain a package. There is a similar situation with patterns: installing all packages included in a pattern doesn't mean that the pattern is installed... The pattern must be installed explicitly. The only way how to improve the behavior is to mark the respective patch for installation if the package is updated to the version which is required by the patch. But it is probably too weird solution... Stefan? -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=276494 sh@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |INVALID ------- Comment #4 from sh@novell.com 2007-05-30 04:03 MST ------- (In reply to comment #0)
If by chance you use the software-install module and select Packages > All packages > Update if newer version available, you are not notified that it also selected patches.
No, it doesn't. That function goes through all the packages in the libzypp pool and marks those for update that have newer versions than you have installed. It does not do anything with patches, patterns or other libzypp objects.
The latter would not be a problem, if those patches were handled as patches, yet if you install them and open YOU afterwards, they are still shown as available, instead of installed.
Of course. You installed the newer packages, but not the patch itself. A patch is just a container that holds together a number of packages. Technically, it's even a bit more complicated: A patch consists of zypp "atoms" which are meta-objects that only have dependencies on a package each. This is a helper construction to make sure you only get the updated package installed if you have a previous (older) version of that package installed. A patch also has an "installed" etc. state for dependencies: A service patch might require a number of patches to be installed, each of which has atoms that require certain minimum versions of packages to be installed, if that respective package is installed at all. If you then (accidentially or intentionally) try to install an older version of one of those packages, the dependencies of the corresponding patch will be violated, which in turn will violate the dependencies of the service pack. What you did with that "Update all packages" feature, however, is something different. You simply updated all the individual packages that you have installed to their respective latest versions. Some of that versions may come from update repositories; that's why you see update servers being accessed for package download. You did not, however, install any of the corresponding patches. This is what that feature explicitly does not do, does not attempt to do, does not promise to do, and is not supposed to do. It's something different.
Expected behaviour: Either do not install patches via software-install module, or handle them as YOU would, i.e. mark them as installed.
After using "Update all packages", you will see that all the corresponding patches have a checkmark icon in front of them in the "patches" view. That means that they are satisfied because all package versions they demand are already installed. You can simply mark those patches for installation. That will make the patch meta data to be marked as "installed" without further package download or installation (because the packages are all already up-to-date). Notice that this is not just cosmetic: If a patch contains a package that you don't have installed yet, you will get the latest version of that package (from the patch) if you later choose to install that package. This is what the patch enforces with its dependencies. Conclusion: You misunderstood what that feature is all about. -> INVALID -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=276494 ------- Comment #6 from sven.burmeister@gmx.net 2007-05-30 10:22 MST ------- (In reply to comment #4)
You can simply mark those patches for installation. That will make the patch meta data to be marked as "installed" without further package download or installation (because the packages are all already up-to-date).
If all packages are already installed, how does it make sense that I have to do the same again, just because YaST is not smart enough to do this the first time. As a user I do not have to care about the difference of updating, I just update. If I do it once YaST should handle the rest and not force me to do it again, if all apackages were installed. If there would be some missing from that patch, fair enough, but currently this does not make sense and even if it would, it is not sensible to mediate it this way and bother the user with pat/no patch. Further, but I might be mistaken, I think YaST even uses the delta-rpms, so it does not do the "normal" package update.
Conclusion: You misunderstood what that feature is all about. -> INVALID
The feature is misleading and should be changed to not force the user to do two updates, if everything is already installed anyway. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=276494 ------- Comment #7 from sh@novell.com 2007-05-30 10:36 MST ------- (In reply to comment #6)
(In reply to comment #4)
You can simply mark those patches for installation. That will make the patch meta data to be marked as "installed" without further package download or installation (because the packages are all already up-to-date).
If all packages are already installed, how does it make sense that I have to do the same again
You are NOT doing the same again. See my previous comments.
just because YaST is not smart enough to do this the first time.
As a user I do not have to care about the difference of updating, I just update.
You updated packages. You did not install patches. This is not the same. See my previous comments.
Further, but I might be mistaken, I think YaST even uses the delta-rpms, so it does not do the "normal" package update.
It does not make the slightest difference if pure RPMs or delta RPMs are used. You updated a number of single packages. This is what you asked for. This is what you got. You used a mid-level expert function in an expert tool. It did what you asked for. It did not promise to perform a full system update; it clearly said "update packages". It did not mention patches (or patterns or anything else higher-level). You got what you asked for. If you don't feel comfortable with using that kind of expert tool, I suggest you do it the recommended and well-documented way and use the online update tools for update.
Conclusion: You misunderstood what that feature is all about. -> INVALID
The feature is misleading and should be changed to not force the user to do two updates, if everything is already installed anyway.
We will not remove expert options because some people might expect them to be something different. For what it's worth, you got pretty much what you expected, no harm done. If you want it to be perfect, it makes sense to have the patch meta data installed, too. But then, the next run of the YaST2 online update will select those patches for installation anyway, so if you only happen to use the recommended and documented way every once in a while, everything will be just fine. Did you experience any real problem with all this? No, you were just a little bit confused. Does YaST2 give the correct status information afterwards? Yes, of course, it shows all those patches to be "satisfied" with a lengthy explanation in a tool tip help. I really can't understand what you get so upset about. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
https://bugzilla.novell.com/show_bug.cgi?id=276494 ------- Comment #8 from sven.burmeister@gmx.net 2007-05-31 02:45 MST ------- Simple example: There is a patch to update package x from 1.0 to 1.1, nothing else, just one package. I use YaST to update some packages and that update is selected too. YaST performs the update, so patch or update, everything is done except the paper-work, i.e. acknowledge that the patch has really been updated. So for this step the user has to open the online update, select those patches manually and install them again. It absolutely does not make sense for the user to install them again, because installing something means to overwrite the existing package, even if that is not what is done, it is what is mediated to the user because that is what YOU normally does: If a patch is selected, it installs the version of tha package shown in the right pane. As a user why would I want to overwrite a newer package-version? I do not and hence the user does not know what to do with those "all dependencies met" (it is not even translated) patches. All this could be avoided by simply doing the job in YaST, if there is nothing else left than paper-work. This is a user's point of view which results from what the GUI and the applications mediate, so if it's wrong, they do not mediate their functionality correctly. -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
From the user's perspective, the check mark that previously was in the patch
https://bugzilla.novell.com/show_bug.cgi?id=276494 ------- Comment #9 from sh@novell.com 2007-05-31 04:04 MST ------- I suggest you reproduce the steps again to see what really happens. When your packages are up to date (as they will be after "update all packages"), they will show up with status "keep" in the patch selection, even if the corresponding patch is selected. The packages will not be installed/updated again. Only the patch meta data will get installed. summary column (indicating the "patch is satisfied" status) rather than (as usual) in the "status" column now moves to the "status" column. Unless you are concerned with enforcing your machine remains on aa service pack status, you don't even need to bother installing the patch meta data. If you do, those patches will disappear from the standard "patches" view (because normally only patches are visible that are applicable and not yet installed). To reiterate: You used an expert option. This is not the recommended way to keep your machine up to date, but it works as well -- albeit with a little more manual work. If you use expert options, you can't claim novice user ignorance and utter surprise when something happens you don't understand. Even more so since the system "heals itself" automagically (since those patches are auto-selected upon the next online update run). -- Configure bugmail: https://bugzilla.novell.com/userprefs.cgi?tab=email ------- You are receiving this mail because: ------- You are on the CC list for the bug, or are watching someone who is.
participants (1)
-
bugzilla_noreply@novell.com