https://bugzilla.novell.com/show_bug.cgi?id=466146 User jsmeix@novell.com added comment https://bugzilla.novell.com/show_bug.cgi?id=466146#c1 Johannes Meixner <jsmeix@novell.com> changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|jsmeix@novell.com |bnc-team-screening@forge.pr | |ovo.novell.com --- Comment #1 from Johannes Meixner <jsmeix@novell.com> 2009-01-15 06:10:26 MST --- I know this. It is not caused by the YaST printer module but by the underlying package installation stuff. I call only Package::Install( "hplip" ) Therefore I reassgn it back to YaST. I would need a YaST package installation function which installs automatically only what is required by the package which was specified and nothing else. See my comments for the TestAndInstallPackage function in /usr/share/YaST2/modules/Printerlib.ycp (you use openSUSE 11.1 RC2, I run the final version so that there might be minor differences to what you have on your system): ----------------------------------------------------------------------------- Intentionally Package::Installed(package_name) is not used here because it does 'rpm -q' and if this fails it does 'rpm -q --whatprovides' but I am only interested in the result for the real package name here because alternatives would be handled in the upper-level functions (e.g. in the user dialogs) which call TestAndInstallPackage: .. Package::Install(package_name) has unexpected side-effects because it does additionally remove whatever other packages for example to "automatically solve" existing package conflicts without any dialog where the user could accept or reject additional removals (the user may have intentionally accepted whatever package conflict). I am only interested to install exactly the one package which was specified and all what this one package requires but I am not interested to get whatever other packages removed but I do not know a function which does this. Therefore I use Package::Install(package_name) because it is most important to get all installed what is required by the package which was specified. .. Intentionally Package::Remove(package_name) is not used here because it does additionally remove whatever other packages for example to "automatically solve" existing package conflicts without any dialog where the user could accept or reject additional removals (the user may have intentionally accepted whatever package conflict). Furthermore Package::Remove(package_name) does additionally install whatever other packages for example to "automatically solve" whatever kind of soft requirements (Recommends) for other packages. I am only interested to remove exactly the one package which was specified and I am not interested to get whatever replacement package installed automatically because alternatives and/or substitutes would be handled in the upper-level functions (e.g. in the user dialogs) which call TestAndInstallPackage. Usually (i.e. in a openSUSE standard system) the packages which are removed here do not have dependencies or the calling function removes dependant packages in the right order (e.g. first hplip and then hplip-hpijs, see driveradd.ycp) but the user might have installed whatever third-party packages which could have dependencies to the package which should be removed here. Therefore there is a test if the removal would break RPM dependencies but intentionally it is not tested whether the removal would "break" whatever kind of soft requirements (Recommends). ----------------------------------------------------------------------------- -- 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.