diff options
author | Tim Jenssen <tim.jenssen@digia.com> | 2013-06-27 11:20:29 +0200 |
---|---|---|
committer | Tim Jenssen <tim.jenssen@digia.com> | 2013-06-27 11:20:29 +0200 |
commit | 72dfa6df1eeed9526ae8d7dfc0cb4b96b26dbb40 (patch) | |
tree | 1428d86aae7b4a12ce700c5f60bf35457b74e36e /tools | |
parent | b38573f2da0d7de7f9e7abad3e03b666d65ac341 (diff) | |
parent | 5409e2f56265639454a0f97270de7e584d949120 (diff) |
Merge remote-tracking branch 'origin/1.4'
Conflicts:
installerfw.pri
tools/binarycreator/binarycreator.cpp
tools/common/repositorygen.cpp
tools/common/repositorygen.h
tools/repogen/repogen.cpp
Change-Id: I97767b2e4ef9b7afd5ce368d99c6a7d38dfbd947
Diffstat (limited to 'tools')
-rw-r--r-- | tools/binarycreator/binarycreator.cpp | 2 | ||||
-rw-r--r-- | tools/common/repositorygen.cpp | 23 | ||||
-rw-r--r-- | tools/common/repositorygen.h | 4 | ||||
-rw-r--r-- | tools/getrepositorycontent/downloader.cpp | 4 | ||||
-rw-r--r-- | tools/repogen/repogen.cpp | 13 |
5 files changed, 22 insertions, 24 deletions
diff --git a/tools/binarycreator/binarycreator.cpp b/tools/binarycreator/binarycreator.cpp index c43f0a9c7..14359c41c 100644 --- a/tools/binarycreator/binarycreator.cpp +++ b/tools/binarycreator/binarycreator.cpp @@ -705,7 +705,7 @@ int main(int argc, char **argv) try { const Settings settings = Settings::fromFileAndPrefix(configFile, QFileInfo(configFile).absolutePath()); QInstallerTools::PackageInfoVector packages = QInstallerTools::createListOfPackages(packagesDirectories, - filteredPackages, ftype); + &filteredPackages, ftype); QInstallerTools::copyMetaData(tmpMetaDir, packagesDirectories.first(), packages, settings.applicationName(), settings.applicationVersion()); diff --git a/tools/common/repositorygen.cpp b/tools/common/repositorygen.cpp index 1001c0a50..6fec75039 100644 --- a/tools/common/repositorygen.cpp +++ b/tools/common/repositorygen.cpp @@ -135,8 +135,7 @@ static QStringList copyFilesFromNode(const QString &parentNode, const QString &c } void QInstallerTools::copyMetaData(const QString &_targetDir, const QString &metaDataDir, - const PackageInfoVector &packages, const QString &appName, const QString &appVersion, - const QString &redirectUpdateUrl) + const PackageInfoVector &packages, const QString &appName, const QString &appVersion) { const QString targetDir = makePathAbsolute(_targetDir); if (!QFile::exists(targetDir)) @@ -160,7 +159,6 @@ void QInstallerTools::copyMetaData(const QString &_targetDir, const QString &met } } existingUpdatesXml.close(); - // TODO: maybe we should replace or remove an existing redirect with the one given, if so } else { root = doc.createElement(QLatin1String("Updates")); root.appendChild(doc.createElement(QLatin1String("ApplicationName"))).appendChild(doc @@ -169,10 +167,6 @@ void QInstallerTools::copyMetaData(const QString &_targetDir, const QString &met .createTextNode(appVersion)); root.appendChild(doc.createElement(QLatin1String("Checksum"))).appendChild(doc .createTextNode(QLatin1String("true"))); - if (!redirectUpdateUrl.isEmpty()) { - root.appendChild(doc.createElement(QLatin1String("RedirectUpdateUrl"))).appendChild(doc - .createTextNode(redirectUpdateUrl)); - } } foreach (const PackageInfo &info, packages) { @@ -365,7 +359,7 @@ void QInstallerTools::copyMetaData(const QString &_targetDir, const QString &met } PackageInfoVector QInstallerTools::createListOfPackages(const QStringList &packagesDirectories, - const QStringList &filteredPackages, FilterType filterType) + QStringList *packagesToFilter, FilterType filterType) { qDebug() << "\nCollecting information about available packages..."; @@ -377,11 +371,16 @@ PackageInfoVector QInstallerTools::createListOfPackages(const QStringList &packa entries.append(QDir(packagesDirectory).entryInfoList(QDir::Dirs | QDir::NoDotAndDotDot)); for (QFileInfoList::const_iterator it = entries.begin(); it != entries.end(); ++it) { if (filterType == Exclude) { - if (filteredPackages.contains(it->fileName())) + // Check for current file in exclude list, if found, skip it and remove it from exclude list + if (packagesToFilter->contains(it->fileName())) { + packagesToFilter->removeAll(it->fileName()); continue; + } } else { - if (!filteredPackages.contains(it->fileName())) + // Check for current file in include list, if not found, skip it; if found, remove it from include list + if (!packagesToFilter->contains(it->fileName())) continue; + packagesToFilter->removeAll(it->fileName()); } qDebug() << QString::fromLatin1("found subdirectory '%1'").arg(it->fileName()); // because the filter is QDir::Dirs - filename means the name of the subdirectory @@ -448,6 +447,10 @@ PackageInfoVector QInstallerTools::createListOfPackages(const QStringList &packa qDebug() << QString::fromLatin1("- it provides the package %1 - %2").arg(info.name, info.version); } + if (!packagesToFilter->isEmpty()) { + qWarning() << "The following explicitly given packages could not be found\n in package directory:" << *packagesToFilter; + } + if (dict.isEmpty()) qDebug() << "No available packages found at the specified location."; diff --git a/tools/common/repositorygen.h b/tools/common/repositorygen.h index c90f8332f..300ad3ca1 100644 --- a/tools/common/repositorygen.h +++ b/tools/common/repositorygen.h @@ -68,7 +68,7 @@ void printRepositoryGenOptions(); QString makePathAbsolute(const QString &path); void copyWithException(const QString &source, const QString &target, const QString &kind = QString()); -PackageInfoVector createListOfPackages(const QStringList &packagesDirectory, const QStringList &filteredPackages, +PackageInfoVector createListOfPackages(const QStringList &packagesDirectories, QStringList *packagesToFilter, FilterType ftype); QHash<QString, QString> buildPathToVersionMapping(const PackageInfoVector &info); @@ -77,7 +77,7 @@ void compressMetaDirectories(const QString &repoDir, const QString &baseDir, const QHash<QString, QString> &versionMapping); void copyMetaData(const QString &outDir, const QString &dataDir, const PackageInfoVector &packages, - const QString &appName, const QString& appVersion, const QString &redirectUpdateUrl = QString()); + const QString &appName, const QString& appVersion); void copyComponentData(const QStringList &packageDir, const QString &repoDir, PackageInfoVector *const infos); diff --git a/tools/getrepositorycontent/downloader.cpp b/tools/getrepositorycontent/downloader.cpp index 0eb19139a..0fd18fbe0 100644 --- a/tools/getrepositorycontent/downloader.cpp +++ b/tools/getrepositorycontent/downloader.cpp @@ -67,6 +67,10 @@ Downloader::Downloader(const QUrl &source, const QString &target) , m_fileDownloader(0) { m_fileDownloader = KDUpdater::FileDownloaderFactory::instance().create(m_source.scheme(), this); + if (!m_fileDownloader) { + qWarning() << "No downloader registered for scheme: " << m_source.scheme(); + return; + } m_fileDownloader->setDownloadedFileName(target); if (m_fileDownloader) { diff --git a/tools/repogen/repogen.cpp b/tools/repogen/repogen.cpp index f03cb8afc..638325ae1 100644 --- a/tools/repogen/repogen.cpp +++ b/tools/repogen/repogen.cpp @@ -69,8 +69,6 @@ static void printUsage() QInstallerTools::printRepositoryGenOptions(); std::cout << " -r|--remove Force removing target directory if existent." << std::endl; - std::cout << " -u|--updateurl URL instructs clients to receive updates from a " << std::endl; - std::cout << " different location" << std::endl; std::cout << " --update Update a set of existing components (defined by " << std::endl; std::cout << " --include or --exclude) in the repository" << std::endl; @@ -104,7 +102,6 @@ int main(int argc, char** argv) QStringList filteredPackages; bool updateExistingRepository = false; QStringList packagesDirectories; - QString redirectUpdateUrl; QInstallerTools::FilterType filterType = QInstallerTools::Exclude; bool remove = false; @@ -154,12 +151,6 @@ int main(int argc, char** argv) return printErrorAndUsageAndExit(QObject::tr("Error: Config parameter missing argument")); args.removeFirst(); std::cout << "Config file parameter is deprecated and ignored." << std::endl; - } else if (args.first() == QLatin1String("-u") || args.first() == QLatin1String("--updateurl")) { - args.removeFirst(); - if (args.isEmpty()) - return printErrorAndUsageAndExit(QObject::tr("Error: Config parameter missing argument")); - redirectUpdateUrl = args.first(); - args.removeFirst(); } else if (args.first() == QLatin1String("--ignore-translations") || args.first() == QLatin1String("--ignore-invalid-packages")) { args.removeFirst(); @@ -192,7 +183,7 @@ int main(int argc, char** argv) } QInstallerTools::PackageInfoVector packages = QInstallerTools::createListOfPackages(packagesDirectories, - filteredPackages, filterType); + &filteredPackages, filterType); QHash<QString, QString> pathToVersionMapping = QInstallerTools::buildPathToVersionMapping(packages); foreach (const QInstallerTools::PackageInfo &package, packages) { @@ -204,7 +195,7 @@ int main(int argc, char** argv) tmpMetaDir = QInstaller::createTemporaryDirectory(); QInstallerTools::copyComponentData(packagesDirectories, repositoryDir, &packages); QInstallerTools::copyMetaData(tmpMetaDir, repositoryDir, packages, QLatin1String("{AnyApplication}"), - QLatin1String(QUOTE(IFW_REPOSITORY_FORMAT_VERSION)), redirectUpdateUrl); + QLatin1String(QUOTE(IFW_REPOSITORY_FORMAT_VERSION))); QInstallerTools::compressMetaDirectories(tmpMetaDir, tmpMetaDir, pathToVersionMapping); QDirIterator it(repositoryDir, QStringList(QLatin1String("Updates*.xml")), QDir::Files | QDir::CaseSensitive); |