From aabcd6ba86c102a15ec50972732b6aeb99573e22 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Fri, 13 Oct 2017 16:45:37 -0300 Subject: [PATCH 1/3] Bump version --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 0017a29cf..0ca5efb80 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -166,7 +166,7 @@ set( CALAMARES_TRANSLATION_LANGUAGES ar ast bg ca cs_CZ da de el en en_GB es_MX ### Bump version here set( CALAMARES_VERSION_MAJOR 3 ) set( CALAMARES_VERSION_MINOR 1 ) -set( CALAMARES_VERSION_PATCH 5 ) +set( CALAMARES_VERSION_PATCH 6 ) set( CALAMARES_VERSION_RC 0 ) set( CALAMARES_VERSION ${CALAMARES_VERSION_MAJOR}.${CALAMARES_VERSION_MINOR}.${CALAMARES_VERSION_PATCH} ) From 4314f2c4ad1566d3070db1629724f7eafffb46a6 Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 23 Oct 2017 11:10:18 -0400 Subject: [PATCH 2/3] Netinstall: fix datatype passed to packages module - Each element of the (list) packageOperations needs to be a package operation, which is a dictionary with keys (identifying actions) and lists of packages (which may be strings or script-info dictionaries). --- src/modules/netinstall/NetInstallViewStep.cpp | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/src/modules/netinstall/NetInstallViewStep.cpp b/src/modules/netinstall/NetInstallViewStep.cpp index c714418df..2909af79a 100644 --- a/src/modules/netinstall/NetInstallViewStep.cpp +++ b/src/modules/netinstall/NetInstallViewStep.cpp @@ -126,10 +126,11 @@ NetInstallViewStep::onLeave() cDebug() << "Leaving netinstall, adding packages to be installed" << "to global storage"; - QMap packagesWithOperation; QList packages = m_widget->selectedPackages(); QVariantList installPackages; QVariantList tryInstallPackages; + QVariantList packageOperations; + cDebug() << "Processing"; for ( auto package : packages ) @@ -145,14 +146,22 @@ NetInstallViewStep::onLeave() } if ( !installPackages.empty() ) - packagesWithOperation.insert( "install", QVariant( installPackages ) ); + { + QMap op; + op.insert( "install", QVariant( installPackages ) ); + packageOperations.append(op); + } if ( !tryInstallPackages.empty() ) - packagesWithOperation.insert( "try_install", QVariant( tryInstallPackages ) ); + { + QMap op; + op.insert( "try_install", QVariant( tryInstallPackages ) ); + packageOperations.append(op); + } - if ( !packagesWithOperation.isEmpty() ) + if ( !packageOperations.isEmpty() ) { Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage(); - gs->insert( "packageOperations", QVariant( packagesWithOperation ) ); + gs->insert( "packageOperations", QVariant( packageOperations ) ); } } From 58414666c87aac8aae685323bc8585cdf1f1089b Mon Sep 17 00:00:00 2001 From: Adriaan de Groot Date: Mon, 23 Oct 2017 11:15:19 -0400 Subject: [PATCH 3/3] Netinstall: optimize structure for packages - If there's no scripts involved in a package for netinstall, just name it without the scripts; this lets the packages module optimize to fewer package manager calls. --- src/modules/netinstall/NetInstallViewStep.cpp | 15 +++++++++++---- 1 file changed, 11 insertions(+), 4 deletions(-) diff --git a/src/modules/netinstall/NetInstallViewStep.cpp b/src/modules/netinstall/NetInstallViewStep.cpp index 2909af79a..63f1bb6f6 100644 --- a/src/modules/netinstall/NetInstallViewStep.cpp +++ b/src/modules/netinstall/NetInstallViewStep.cpp @@ -135,10 +135,17 @@ NetInstallViewStep::onLeave() for ( auto package : packages ) { - QMap details; - details.insert( "pre-script", package.preScript ); - details.insert( "package", package.packageName ); - details.insert( "post-script", package.postScript ); + QVariant details( package.packageName ); + // If it's a package with a pre- or post-script, replace + // with the more complicated datastructure. + if (!package.preScript.isEmpty() || !package.postScript.isEmpty()) + { + QMap sdetails; + sdetails.insert( "pre-script", package.preScript ); + sdetails.insert( "package", package.packageName ); + sdetails.insert( "post-script", package.postScript ); + details = sdetails; + } if ( package.isCritical ) installPackages.append( details ); else