summaryrefslogtreecommitdiffstats
path: root/src/sdk/installerbase.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/sdk/installerbase.cpp')
-rw-r--r--src/sdk/installerbase.cpp9
1 files changed, 9 insertions, 0 deletions
diff --git a/src/sdk/installerbase.cpp b/src/sdk/installerbase.cpp
index b63c911fa..a14999b45 100644
--- a/src/sdk/installerbase.cpp
+++ b/src/sdk/installerbase.cpp
@@ -377,6 +377,15 @@ int InstallerBase::run()
if (!setTargetDirFromCommandLine(parser))
return EXIT_FAILURE;
m_core->installDefaultComponentsSilently();
+ } else if (parser.isSet(QLatin1String(CommandLineOptions::UninstallSelectedPackages))) {
+ if (m_core->isInstaller())
+ throw QInstaller::Error(QLatin1String("Cannot start installer binary as package manager."));
+ m_core->setPackageManager();
+ QStringList packages;
+ const QString &value = parser.value(QLatin1String(CommandLineOptions::UninstallSelectedPackages));
+ if (!value.isEmpty())
+ packages = value.split(QLatin1Char(','), QString::SkipEmptyParts);
+ m_core->uninstallComponentsSilently(packages);
} else {
m_core->setCommandLineInstance(false);
//create the wizard GUI