diff options
-rw-r--r-- | src/libs/installer/component.cpp | 9 | ||||
-rw-r--r-- | tests/auto/installer/cliinterface/data/installPackagesRepository/Updates.xml | 1 | ||||
-rw-r--r-- | tests/auto/installer/cliinterface/data/installPackagesRepository/componentG/1.0.0meta.7z | bin | 964 -> 970 bytes | |||
-rw-r--r-- | tests/auto/installer/cliinterface/tst_cliinterface.cpp | 11 |
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 Binary files differindex 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 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 |