From 34adba4642ed75ada0468c278e81b868f7c375f2 Mon Sep 17 00:00:00 2001 From: Arttu Tarkiainen Date: Mon, 22 Mar 2021 16:54:36 +0200 Subject: CLI: Fix offline installer creation with empty component meta-archive Task-number: QTIFW-2189 Change-Id: Ic6f56156194039cca7bebf095fad8c1fc66fc275 Reviewed-by: Qt CI Bot Reviewed-by: Katja Marttila --- src/libs/installer/metadatajob.cpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/libs') diff --git a/src/libs/installer/metadatajob.cpp b/src/libs/installer/metadatajob.cpp index a8405a0e8..2a9cb5ae7 100644 --- a/src/libs/installer/metadatajob.cpp +++ b/src/libs/installer/metadatajob.cpp @@ -654,8 +654,11 @@ MetadataJob::Status MetadataJob::parseUpdatesXml(const QList &re metaFound = parsePackageUpdate(c2, packageName, packageVersion, packageHash, online, testCheckSum); - //If meta element (script, licenses, etc.) is not found, no need to fetch metadata - if (metaFound) { + // If meta element (script, licenses, etc.) is not found, no need to fetch metadata. + // The offline-generator instance is an exception to this - if the Updates.xml contains + // checksum element for the meta-archive, we will fetch it, so that the temporary + // location contents match the remote repository. + if (metaFound || (m_core->isOfflineGenerator() && !packageHash.isEmpty())) { const QString repoUrl = metadata.repository.url().toString(); addFileTaskItem(QString::fromLatin1("%1/%2/%3meta.7z").arg(repoUrl, packageName, packageVersion), metadata.directory + QString::fromLatin1("/%1-%2-meta.7z").arg(packageName, packageVersion), -- cgit v1.2.3