ACC SHELL

Path : /usr/share/YaST2/clients/
File Upload :
Current File : //usr/share/YaST2/clients/inst_sw_select.ycp

/**
 * Module:		inst_sw_select.ycp
 *
 * Authors:		Gabriele Strattner <gs@suse.de>
 *			Klaus Kaempf <kkaempf@suse.de>
 *
 * Purpose:
 * Displays software selection screen. Show radioboxes for software
 * main categories. Let the user select the software.
 *
 * Packages module read:
 *
 * Packages module write:
 *
 * $Id: inst_sw_select.ycp 54345 2008-12-30 11:13:24Z lslezak $
 *
 */

{
    textdomain "packager";

    import "Packages";
    import "PackagesUI";

    symbol ret = `again;

    while (ret == `again)
    {
	// add additional (internal) packages, like kernel etc.
	// they are added by proposal!!!! (#155819)
//	Pkg::DoProvide (Packages::ComputeSystemPackageList());
	Pkg::PkgSolve(false);

	while ( ret == `again )
	{
	    // display the installation summary in case there is a solver problem (bnc#436721)
	    if (Packages::solve_errors > 0)
	    {
		y2milestone("Unresolved conflicts, using summary mode");
		ret = PackagesUI::RunPackageSelector($["mode" : `summaryMode]);
	    }
	    else
	    {
		ret = PackagesUI::RunPatternSelector();
	    }

	    y2milestone("Package selector result: %1", ret);

	    if ( ret == `accept )
	    {
		// Package proposal cache has to be reset and recreated
		// from scratch. See BNC #436925.
		Packages::ResetProposalCache();

		Packages::base_selection_modified = true;
		ret = `next;
		Packages::solve_errors = 0; // all have been either solved
					    // or marked to ignore
	    }
	}
    }

    return ret;
}

ACC SHELL 2018