don't list repositories
This commit is contained in:
parent
2aed20cdb5
commit
a5d8dd5bd7
|
@ -36,9 +36,8 @@ MingwBundle::MingwBundle(Manager &manager, const ApplicationUtilities::StringVec
|
|||
// add mingw-w64 packages
|
||||
for(const auto &pkgName : packages) {
|
||||
if(auto *pkg = manager.packageProviding(Dependency(QString::fromLocal8Bit(ConversionUtilities::startsWith(pkgName, prefix) ? pkgName.data() : (prefix + pkgName).data())))) {
|
||||
decltype(m_packages)::value_type entry(pkg->repository(), pkg);
|
||||
if(find(m_packages.cbegin(), m_packages.cend(), entry) == m_packages.cend()) {
|
||||
m_packages.emplace_back(entry);
|
||||
if(find(m_packages.cbegin(), m_packages.cend(), pkg) == m_packages.cend()) {
|
||||
m_packages.emplace_back(pkg);
|
||||
addDependencies(pkg);
|
||||
}
|
||||
} else {
|
||||
|
@ -49,9 +48,8 @@ MingwBundle::MingwBundle(Manager &manager, const ApplicationUtilities::StringVec
|
|||
// add additional icon packages
|
||||
for(const auto &pkgName : iconPackages) {
|
||||
if(auto *pkg = manager.packageProviding(Dependency(QString::fromLocal8Bit(pkgName.data())))) {
|
||||
decltype(m_packages)::value_type entry(pkg->repository(), pkg);
|
||||
if(find(m_packages.cbegin(), m_packages.cend(), entry) == m_packages.cend()) {
|
||||
m_packages.emplace_back(entry);
|
||||
if(find(m_packages.cbegin(), m_packages.cend(), pkg) == m_packages.cend()) {
|
||||
m_packages.emplace_back(pkg);
|
||||
}
|
||||
} else {
|
||||
missing.push_back(' ');
|
||||
|
@ -62,8 +60,8 @@ MingwBundle::MingwBundle(Manager &manager, const ApplicationUtilities::StringVec
|
|||
throw runtime_error("The following packages can not be found:" + missing);
|
||||
} else {
|
||||
cerr << shchar << "Adding the following packages:";
|
||||
for(const auto &pkg : m_packages) {
|
||||
cerr << shchar << ' ' << pkg.second->name().toLocal8Bit().data();
|
||||
for(const auto *pkg : m_packages) {
|
||||
cerr << shchar << ' ' << pkg->name().toLocal8Bit().data();
|
||||
}
|
||||
cerr << shchar << endl;
|
||||
}
|
||||
|
@ -75,9 +73,8 @@ void MingwBundle::addDependencies(const Package *pkg)
|
|||
for(const auto &dep : pkg->dependencies()) {
|
||||
if(dep.name.startsWith(QLatin1String("mingw-w64-"), Qt::CaseInsensitive)) {
|
||||
if(auto *pkg = m_manager.packageProviding(dep)) {
|
||||
decltype(m_packages)::value_type entry(pkg->repository(), pkg);
|
||||
if(find(m_packages.cbegin(), m_packages.cend(), entry) == m_packages.cend()) {
|
||||
m_packages.emplace_back(entry);
|
||||
if(find(m_packages.cbegin(), m_packages.cend(), pkg) == m_packages.cend()) {
|
||||
m_packages.emplace_back(pkg);
|
||||
addDependencies(pkg);
|
||||
}
|
||||
} else {
|
||||
|
@ -379,21 +376,21 @@ void MingwBundle::createBundle(const string &targetDir, const string &targetName
|
|||
cerr << shchar << "Gathering relevant files ..." << endl;
|
||||
// get package files
|
||||
list<PkgFileInfo> pkgFiles;
|
||||
for(const auto &entry : m_packages) {
|
||||
for(const auto *pkg : m_packages) {
|
||||
QString pkgFile;
|
||||
if(!entry.first->packagesDirectory().isEmpty()) {
|
||||
pkgFile = entry.first->packagesDirectory() % QChar('/') % entry.second->fileName();
|
||||
if(!pkg->repository()->packagesDirectory().isEmpty()) {
|
||||
pkgFile = pkg->repository()->packagesDirectory() % QChar('/') % pkg->fileName();
|
||||
}
|
||||
if(pkgFile.isEmpty() || !QFile::exists(pkgFile)) {
|
||||
if(!m_manager.pacmanCacheDir().isEmpty()) {
|
||||
pkgFile = m_manager.pacmanCacheDir() % QChar('/') % entry.second->fileName();
|
||||
pkgFile = m_manager.pacmanCacheDir() % QChar('/') % pkg->fileName();
|
||||
}
|
||||
if(pkgFile.isEmpty() || !QFile::exists(pkgFile)) {
|
||||
throw runtime_error("The package file " + string(entry.second->fileName().toLocal8Bit().data()) + " can't be found.");
|
||||
throw runtime_error("The package file " + string(pkg->fileName().toLocal8Bit().data()) + " can't be found.");
|
||||
// TODO: download package from mirror
|
||||
}
|
||||
}
|
||||
pkgFiles.emplace_back(entry.second->name().startsWith(QLatin1String("mingw-w64-")) ? entry.second->name().mid(10) : entry.second->name(), pkgFile);
|
||||
pkgFiles.emplace_back(pkg->name().startsWith(QLatin1String("mingw-w64-")) ? pkg->name().mid(10) : pkg->name(), pkgFile);
|
||||
}
|
||||
for(const auto &pkgFileStdStr : m_extraPackages) {
|
||||
QString pkgFile = QString::fromLocal8Bit(pkgFileStdStr.data());
|
||||
|
@ -419,8 +416,8 @@ void MingwBundle::createBundle(const string &targetDir, const string &targetName
|
|||
}
|
||||
// make a list with package info to be included in the target archive
|
||||
QJsonArray pkgArray;
|
||||
for(const auto &entry : m_packages) {
|
||||
pkgArray << entry.second->basicInfo(true);
|
||||
for(const auto *pkg : m_packages) {
|
||||
pkgArray << pkg->basicInfo(true);
|
||||
}
|
||||
QJsonDocument pkgList;
|
||||
pkgList.setArray(pkgArray);
|
||||
|
|
|
@ -6,8 +6,6 @@
|
|||
|
||||
#include <c++utilities/application/argumentparser.h>
|
||||
|
||||
#include <QList>
|
||||
|
||||
namespace RepoIndex {
|
||||
|
||||
class Manager;
|
||||
|
@ -23,7 +21,7 @@ private:
|
|||
void addDependencies(const Package *pkg);
|
||||
|
||||
Manager &m_manager;
|
||||
std::list<std::pair<const Repository *, const Package *> > m_packages;
|
||||
std::list<const Package *> m_packages;
|
||||
const ApplicationUtilities::StringVector &m_extraPackages;
|
||||
};
|
||||
|
||||
|
|
Loading…
Reference in New Issue