summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/libs/installer/component.cpp9
-rw-r--r--tests/auto/installer/cliinterface/data/installPackagesRepository/Updates.xml1
-rw-r--r--tests/auto/installer/cliinterface/data/installPackagesRepository/componentG/1.0.0meta.7zbin964 -> 970 bytes
-rw-r--r--tests/auto/installer/cliinterface/tst_cliinterface.cpp11
4 files changed, 14 insertions, 7 deletions
diff --git a/src/libs/installer/component.cpp b/src/libs/installer/component.cpp
index 40c5b7340..d716ba5e8 100644
--- a/src/libs/installer/component.cpp
+++ b/src/libs/installer/component.cpp
@@ -305,12 +305,7 @@ void Component::loadDataFromPackage(const Package &package)
setValue(scName, package.data(scName).toString());
setValue(scDisplayName, package.data(scDisplayName).toString());
setValue(scDescription, package.data(scDescription).toString());
-
- QString isDefault = package.data(scDefault, scFalse).toString().toLower();
- if (PackageManagerCore::noDefaultInstallation())
- isDefault = scFalse;
- setValue(scDefault, isDefault);
-
+ setValue(scDefault, package.data(scDefault).toString());
setValue(scAutoDependOn, package.data(scAutoDependOn).toString());
setValue(scCompressedSize, package.data(scCompressedSize).toString());
setValue(scUncompressedSize, package.data(scUncompressedSize).toString());
@@ -419,6 +414,8 @@ void Component::setValue(const QString &key, const QString &value)
if (d->m_vars.value(key) == normalizedValue)
return;
+ if (key == scDefault && d->m_core->noDefaultInstallation())
+ normalizedValue = scFalse;
if (key == scName)
d->m_componentName = normalizedValue;
diff --git a/tests/auto/installer/cliinterface/data/installPackagesRepository/Updates.xml b/tests/auto/installer/cliinterface/data/installPackagesRepository/Updates.xml
index 736eb739a..e61b11189 100644
--- a/tests/auto/installer/cliinterface/data/installPackagesRepository/Updates.xml
+++ b/tests/auto/installer/cliinterface/data/installPackagesRepository/Updates.xml
@@ -141,7 +141,6 @@
<Name>componentG</Name>
<DisplayName>Component G (default, depends on A, dependency added dynamically)</DisplayName>
<Description>By default, this component is selected for installation. It depends on component A. Dependency is added from inside component script.</Description>
- <Default>true</Default>
<Version>1.0.0</Version>
<ReleaseDate>2014-08-25</ReleaseDate>
<Script>installscript.js</Script>
diff --git a/tests/auto/installer/cliinterface/data/installPackagesRepository/componentG/1.0.0meta.7z b/tests/auto/installer/cliinterface/data/installPackagesRepository/componentG/1.0.0meta.7z
index e5c446f64..90bfe33a2 100644
--- a/tests/auto/installer/cliinterface/data/installPackagesRepository/componentG/1.0.0meta.7z
+++ b/tests/auto/installer/cliinterface/data/installPackagesRepository/componentG/1.0.0meta.7z
Binary files differ
diff --git a/tests/auto/installer/cliinterface/tst_cliinterface.cpp b/tests/auto/installer/cliinterface/tst_cliinterface.cpp
index 364d9ae9d..bdf57541f 100644
--- a/tests/auto/installer/cliinterface/tst_cliinterface.cpp
+++ b/tests/auto/installer/cliinterface/tst_cliinterface.cpp
@@ -159,6 +159,17 @@ private slots:
QVERIFY(dir.removeRecursively());
}
+ void testNoDefaultInstallations()
+ {
+ PackageManagerCore *core = PackageManager::getPackageManagerWithInit
+ (m_installDir, ":///data/installPackagesRepository");
+ core->setNoDefaultInstallation(true);
+ core->installDefaultComponentsSilently();
+ VerifyInstaller::verifyFileExistence(m_installDir, QStringList() << "components.xml"
+ << "installcontentE.txt");
+ core->setNoDefaultInstallation(false);
+ }
+
void testInstallForcedPackageSilently()
{
PackageManagerCore *core = PackageManager::getPackageManagerWithInit