diff options
Diffstat (limited to 'src/libs/installer')
-rw-r--r-- | src/libs/installer/metadatajob.cpp | 4 | ||||
-rw-r--r-- | src/libs/installer/packagemanagercore.cpp | 12 | ||||
-rw-r--r-- | src/libs/installer/packagemanagercore_p.cpp | 67 | ||||
-rw-r--r-- | src/libs/installer/packagemanagercore_p.h | 4 |
4 files changed, 7 insertions, 80 deletions
diff --git a/src/libs/installer/metadatajob.cpp b/src/libs/installer/metadatajob.cpp index 690f5ac33..3408b3dab 100644 --- a/src/libs/installer/metadatajob.cpp +++ b/src/libs/installer/metadatajob.cpp @@ -180,10 +180,6 @@ void MetadataJob::doStart() item.insert(TaskRole::Authenticator, QVariant::fromValue(authenticator)); items.append(item); } - else { - qCWarning(QInstaller::lcInstallerInstallLog) << "Trying to parse compressed repo as " - "normal repository. Check repository syntax."; - } } } if (items.count() > 0) { diff --git a/src/libs/installer/packagemanagercore.cpp b/src/libs/installer/packagemanagercore.cpp index a0a010142..232024f66 100644 --- a/src/libs/installer/packagemanagercore.cpp +++ b/src/libs/installer/packagemanagercore.cpp @@ -1480,20 +1480,16 @@ bool PackageManagerCore::fetchCompressedPackagesTree() if (!isInstaller() && status() == Failure) return false; - if (!d->fetchMetaInformationFromCompressedRepositories()) + if (!d->fetchMetaInformationFromRepositories(DownloadType::CompressedPackage)) return false; if (!d->addUpdateResourcesFromRepositories(true, true)) { return false; } - PackagesList packages; - const PackagesList &compPackages = d->compressedPackages(); - if (compPackages.isEmpty()) + const PackagesList &packages = d->remotePackages(); + if (packages.isEmpty()) return false; - packages.append(compPackages); - const PackagesList &rPackages = d->remotePackages(); - packages.append(rPackages); return fetchPackagesTree(packages, installedPackages); } @@ -1523,7 +1519,7 @@ bool PackageManagerCore::fetchRemotePackagesTree() if (!d->fetchMetaInformationFromRepositories()) return false; - if (!d->fetchMetaInformationFromCompressedRepositories()) + if (!d->fetchMetaInformationFromRepositories(DownloadType::CompressedPackage)) return false; if (!d->addUpdateResourcesFromRepositories(true)) diff --git a/src/libs/installer/packagemanagercore_p.cpp b/src/libs/installer/packagemanagercore_p.cpp index d2f33c1b9..f323d676d 100644 --- a/src/libs/installer/packagemanagercore_p.cpp +++ b/src/libs/installer/packagemanagercore_p.cpp @@ -211,7 +211,6 @@ static void deferredRename(const QString &oldName, const QString &newName, bool PackageManagerCorePrivate::PackageManagerCorePrivate(PackageManagerCore *core) : m_updateFinder(nullptr) - , m_compressedFinder(nullptr) , m_localPackageHub(std::make_shared<LocalPackageHub>()) , m_status(PackageManagerCore::Unfinished) , m_needsHardRestart(false) @@ -250,7 +249,6 @@ PackageManagerCorePrivate::PackageManagerCorePrivate(PackageManagerCore *core) PackageManagerCorePrivate::PackageManagerCorePrivate(PackageManagerCore *core, qint64 magicInstallerMaker, const QList<OperationBlob> &performedOperations) : m_updateFinder(nullptr) - , m_compressedFinder(nullptr) , m_localPackageHub(std::make_shared<LocalPackageHub>()) , m_status(PackageManagerCore::Unfinished) , m_needsHardRestart(false) @@ -2481,7 +2479,7 @@ PackagesList PackageManagerCorePrivate::remotePackages() m_updateFinder = new KDUpdater::UpdateFinder; m_updateFinder->setAutoDelete(false); - m_updateFinder->setPackageSources(m_packageSources); + m_updateFinder->setPackageSources(m_packageSources + m_compressedPackageSources); m_updateFinder->setLocalPackageHub(m_localPackageHub); m_updateFinder->run(); @@ -2495,29 +2493,6 @@ PackagesList PackageManagerCorePrivate::remotePackages() return m_updateFinder->updates(); } -PackagesList PackageManagerCorePrivate::compressedPackages() -{ - if (m_compressedUpdates && m_compressedFinder) - return m_compressedFinder->updates(); - m_compressedUpdates = false; - delete m_compressedFinder; - - m_compressedFinder = new KDUpdater::UpdateFinder; - m_compressedFinder->setAutoDelete(false); - m_compressedFinder->addCompressedPackage(true); - m_compressedFinder->setPackageSources(m_compressedPackageSources); - - m_compressedFinder->setLocalPackageHub(m_localPackageHub); - m_compressedFinder->run(); - if (m_compressedFinder->updates().isEmpty()) { - setStatus(PackageManagerCore::Failure, tr("Cannot retrieve remote tree %1.") - .arg(m_compressedFinder->errorString())); - return PackagesList(); - } - m_compressedUpdates = true; - return m_compressedFinder->updates(); -} - /*! Returns a hash containing the installed package name and it's associated package information. If the application is running in installer mode or the local components file could not be parsed, the @@ -2585,42 +2560,6 @@ bool PackageManagerCorePrivate::fetchMetaInformationFromRepositories(DownloadTyp return m_repoFetched; } -bool PackageManagerCorePrivate::fetchMetaInformationFromCompressedRepositories() -{ - bool compressedRepoFetched = false; - - m_compressedUpdates = false; - m_updateSourcesAdded = false; - - try { - //Tell MetadataJob that only compressed packages needed to be fetched and not all. - //We cannot do this in general fetch meta method as the compressed packages might be - //installed after components tree is generated - m_metadataJob.addDownloadType(DownloadType::CompressedPackage); - m_metadataJob.start(); - m_metadataJob.waitForFinished(); - } catch (Error &error) { - setStatus(PackageManagerCore::Failure, tr("Cannot retrieve meta information: %1") - .arg(error.message())); - return compressedRepoFetched; - } - - if (m_metadataJob.error() != Job::NoError) { - switch (m_metadataJob.error()) { - case QInstaller::UserIgnoreError: - break; // we can simply ignore this error, the user knows about it - default: - //Do not change core status here, we can recover if there is invalid - //compressed repository - setStatus(m_core->status(), m_metadataJob.errorString()); - return compressedRepoFetched; - } - } - - compressedRepoFetched = true; - return compressedRepoFetched; -} - bool PackageManagerCorePrivate::addUpdateResourcesFromRepositories(bool parseChecksum, bool compressedRepository) { if (!compressedRepository && m_updateSourcesAdded) @@ -2680,8 +2619,8 @@ bool PackageManagerCorePrivate::addUpdateResourcesFromRepositories(bool parseChe if (!checksum.isNull()) m_core->setTestChecksum(checksum.toElement().text().toLower() == scTrue); } - if (compressedRepository) - m_compressedPackageSources.insert(PackageSource(QUrl::fromLocalFile(data.directory), 1)); + if (data.repository.isCompressed()) + m_compressedPackageSources.insert(PackageSource(QUrl::fromLocalFile(data.directory), 2)); else m_packageSources.insert(PackageSource(QUrl::fromLocalFile(data.directory), 1)); diff --git a/src/libs/installer/packagemanagercore_p.h b/src/libs/installer/packagemanagercore_p.h index b29808228..65f0e43eb 100644 --- a/src/libs/installer/packagemanagercore_p.h +++ b/src/libs/installer/packagemanagercore_p.h @@ -177,7 +177,6 @@ signals: public: UpdateFinder *m_updateFinder; - UpdateFinder *m_compressedFinder; QSet<PackageSource> m_packageSources; QSet<PackageSource> m_compressedPackageSources; std::shared_ptr<LocalPackageHub> m_localPackageHub; @@ -244,10 +243,8 @@ private: bool adminRightsGained, bool deleteOperation); PackagesList remotePackages(); - PackagesList compressedPackages(); LocalPackagesHash localInstalledPackages(); bool fetchMetaInformationFromRepositories(DownloadType type = DownloadType::All); - bool fetchMetaInformationFromCompressedRepositories(); bool addUpdateResourcesFromRepositories(bool parseChecksum, bool compressedRepository = false); void processFilesForDelayedDeletion(); void findExecutablesRecursive(const QString &path, const QStringList &excludeFiles, QStringList *result); @@ -263,7 +260,6 @@ private: MetadataJob m_metadataJob; bool m_updates; - bool m_compressedUpdates; bool m_repoFetched; bool m_updateSourcesAdded; qint64 m_magicBinaryMarker; |