YaST2 Developers Documentation: PackageCallbacks.ycp

Introduction:

Packages Manipulation This module provides API for packages that want software proposal to select some resolvables for installation. Clients of this module identify themselves by their own unique ID, thus one client doesn't change other clients requirements. @example // No packages selected initially y2internal ("Packages to install: %1", PackagesProposal::GetAllResolvables (`package)); // Adding packages for ID_1 PackagesProposal::AddResolvables ("ID_1", `package, ["aa", "bb", "cc"]); y2internal ("Packages to install: %1", PackagesProposal::GetAllResolvables (`package)); // Adding packages for ID_2 // 'cc' is shared with ID_1 PackagesProposal::AddResolvables ("ID_2", `package, ["cc", "dd", "ee"]); y2internal ("Packages to install: %1", PackagesProposal::GetAllResolvables (`package)); // Get all packages required by ID_1 list required_packages = PackagesProposal::GetResolvables ("ID_1", `package); y2internal ("Packages required by ID_1: %1", required_packages); // Removing all packages required by ID_1 PackagesProposal::RemoveResolvables ("ID_1", `package, required_packages); y2internal ("Packages to install: %1", PackagesProposal::GetAllResolvables (`package)); // Removing some packages required by ID_2 PackagesProposal::RemoveResolvables ("ID_2", `package, ["cc", "dd"]); y2internal ("Packages to install: %1", PackagesProposal::GetAllResolvables (`package));