https://bugzilla.novell.com/show_bug.cgi?id=274089 sh@novell.com changed: What |Removed |Added ---------------------------------------------------------------------------- AssignedTo|sh@novell.com |schubi@novell.com ------- Comment #7 from sh@novell.com 2007-05-21 03:39 MST ------- (In reply to comment #0)
When clicking 'Cancel' to a License Agreement, instead of just removing a package for installation, YaST should Taboo the package with the rejected License Agreement,
That's exactly what happens. From YQPkgObjList.cc: bool YQPkgObjListItem::showLicenseAgreement( ZyppSel sel ) { ... if ( confirmed ) { ... } else { // The user rejected the license agreement - // make sure the package gets unselected. switch ( sel->status() ) { case S_Install: case S_AutoInstall: y2warning( "User rejected license agreement for %s - " "setting to TABOO", sel->name().c_str() ); sel->set_status( S_Taboo ); break; case S_Update: case S_AutoUpdate: y2warning( "User rejected license agreement for %s - " "setting to PROTECTED", sel->name().c_str() ); sel->set_status( S_Protected ); // S_Keep wouldn't be good enough: The next solver run might // set it to S_AutoUpdate again break; default: break; } } return confirmed; } This is called in some indirections from here: void YQPackageSelectorBase::accept() { bool confirmedAllLicenses; do { // Force final dependency resolving if ( resolveDependencies() == QDialog::Rejected ) return; confirmedAllLicenses = showPendingLicenseAgreements(); } while ( ! confirmedAllLicenses ); // Some packages will be set to // S_TABOO - need another solver run if ( _showChangesDialog ) { // Show which packages are installed/deleted automatically QString msg = "<p><b>" // Dialog header + _( "Automatic Changes" ) + "</b></p>" // Detailed explanation ( automatic word wrap! ) + "<p>" + _( "In addition to your manual selections, " "the following packages" " have been changed to resolve dependencies:" ) + "<p>"; if ( YQPkgChangesDialog::showChangesDialog( msg, _( "C&ontinue" ), _( "&Cancel" ) ) == QDialog::Rejected ) return; } // Check disk usage if ( checkDiskUsage() == QDialog::Rejected ) return; y2milestone( "Closing PackageSelector with "Accept"" ); YQUI::ui()->sendEvent( new YMenuEvent( YCPSymbol( "accept" ) ) ); }
so that, when it checks dependencies, the user could be given a choice to undo the Taboo and Accept the License Agreement, or also remove the packages dependent on the first with the Custom License.
In principle, this is what should happen. I can only imagine that somewhere in deeper layers (dependency resolver?) the "Taboo" or "Protected" status does not get honored as it should. Schubi? -- 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.