summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
authorTim Jenssen <tim.jenssen@digia.com>2013-06-27 11:20:29 +0200
committerTim Jenssen <tim.jenssen@digia.com>2013-06-27 11:20:29 +0200
commit72dfa6df1eeed9526ae8d7dfc0cb4b96b26dbb40 (patch)
tree1428d86aae7b4a12ce700c5f60bf35457b74e36e /tools
parentb38573f2da0d7de7f9e7abad3e03b666d65ac341 (diff)
parent5409e2f56265639454a0f97270de7e584d949120 (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.cpp2
-rw-r--r--tools/common/repositorygen.cpp23
-rw-r--r--tools/common/repositorygen.h4
-rw-r--r--tools/getrepositorycontent/downloader.cpp4
-rw-r--r--tools/repogen/repogen.cpp13
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);