summaryrefslogtreecommitdiffstats
path: root/tools
diff options
context:
space:
mode:
Diffstat (limited to 'tools')
-rw-r--r--tools/binarycreator/binarycreator.cpp2
-rw-r--r--tools/common/repositorygen.cpp15
-rw-r--r--tools/common/repositorygen.h2
-rw-r--r--tools/repogen/repogen.cpp2
4 files changed, 15 insertions, 6 deletions
diff --git a/tools/binarycreator/binarycreator.cpp b/tools/binarycreator/binarycreator.cpp
index 5afd3f1dd..d7bb0d93a 100644
--- a/tools/binarycreator/binarycreator.cpp
+++ b/tools/binarycreator/binarycreator.cpp
@@ -704,7 +704,7 @@ int main(int argc, char **argv)
try {
const Settings settings = Settings::fromFileAndPrefix(configFile, QFileInfo(configFile).absolutePath());
QInstallerTools::PackageInfoVector packages = QInstallerTools::createListOfPackages(packagesDirectory,
- filteredPackages, ftype);
+ &filteredPackages, ftype);
QInstallerTools::copyMetaData(tmpMetaDir, packagesDirectory, packages, settings.applicationName(),
settings.applicationVersion());
diff --git a/tools/common/repositorygen.cpp b/tools/common/repositorygen.cpp
index 60a38377c..bae26d0f3 100644
--- a/tools/common/repositorygen.cpp
+++ b/tools/common/repositorygen.cpp
@@ -359,7 +359,7 @@ void QInstallerTools::copyMetaData(const QString &_targetDir, const QString &met
}
PackageInfoVector QInstallerTools::createListOfPackages(const QString &packagesDirectory,
- const QStringList &filteredPackages, FilterType filterType)
+ QStringList *packagesToFilter, FilterType filterType)
{
qDebug() << "\nCollecting information about available packages...";
@@ -369,11 +369,16 @@ PackageInfoVector QInstallerTools::createListOfPackages(const QString &packagesD
const QFileInfoList entries = 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
@@ -440,6 +445,10 @@ PackageInfoVector QInstallerTools::createListOfPackages(const QString &packagesD
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 d9a4ec476..bd941a206 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 QString &packagesDirectory, const QStringList &filteredPackages,
+PackageInfoVector createListOfPackages(const QString &packagesDirectory, QStringList *packagesToFilter,
FilterType ftype);
QHash<QString, QString> buildPathToVersionMapping(const PackageInfoVector &info);
diff --git a/tools/repogen/repogen.cpp b/tools/repogen/repogen.cpp
index 74829be2a..154a924ac 100644
--- a/tools/repogen/repogen.cpp
+++ b/tools/repogen/repogen.cpp
@@ -183,7 +183,7 @@ int main(int argc, char** argv)
}
QInstallerTools::PackageInfoVector packages = QInstallerTools::createListOfPackages(packagesDir,
- filteredPackages, filterType);
+ &filteredPackages, filterType);
QHash<QString, QString> pathToVersionMapping = QInstallerTools::buildPathToVersionMapping(packages);
foreach (const QInstallerTools::PackageInfo &package, packages) {