prt-get: show multiple dups in 'dup'
git-svn-id: https://crux.nu/svn/tools/prt-get/trunk@1838 0b5ae1c7-2405-0410-a7fc-ba219f786e1e
This commit is contained in:
parent
92ca1807ff
commit
35154af881
@ -277,12 +277,13 @@ void PrtGet::listShadowed()
|
|||||||
string output;
|
string output;
|
||||||
Package* p1;
|
Package* p1;
|
||||||
Package* p2;
|
Package* p2;
|
||||||
map<string, pair<Package*, Package*> >::const_iterator it =
|
|
||||||
|
list<pair<Package*, Package*> >::const_iterator it =
|
||||||
m_repo->shadowedPackages().begin();
|
m_repo->shadowedPackages().begin();
|
||||||
for ( ; it != m_repo->shadowedPackages().end(); ++it ) {
|
for ( ; it != m_repo->shadowedPackages().end(); ++it ) {
|
||||||
output = format;
|
output = format;
|
||||||
p1 = it->second.second;
|
p1 = it->second;
|
||||||
p2 = it->second.first;
|
p2 = it->first;
|
||||||
|
|
||||||
StringHelper::replaceAll(output, "%n", p1->name());
|
StringHelper::replaceAll(output, "%n", p1->name());
|
||||||
StringHelper::replaceAll(output, "%p1", p1->path() + "/" + p1->name());
|
StringHelper::replaceAll(output, "%p1", p1->path() + "/" + p1->name());
|
||||||
|
@ -69,7 +69,7 @@ const map<string, Package*>& Repository::packages() const
|
|||||||
\a second is the port which preceeds over \a first
|
\a second is the port which preceeds over \a first
|
||||||
\return a map of duplicate packages in the repository
|
\return a map of duplicate packages in the repository
|
||||||
*/
|
*/
|
||||||
const map<string, pair<Package*, Package*> >& Repository::shadowedPackages() const
|
const list< pair<Package*, Package*> >& Repository::shadowedPackages() const
|
||||||
{
|
{
|
||||||
return m_shadowedPackages;
|
return m_shadowedPackages;
|
||||||
}
|
}
|
||||||
@ -140,6 +140,11 @@ void Repository::searchMatchingPackages( const string& pattern,
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int compareShadowPair(pair<Package*, Package*>& p1, pair<Package*, Package*>& p2)
|
||||||
|
{
|
||||||
|
return p1.second->name() < p2.second->name();
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*!
|
/*!
|
||||||
init repository by reading the directories passed. Doesn't search
|
init repository by reading the directories passed. Doesn't search
|
||||||
@ -226,7 +231,7 @@ void Repository::initFromFS( const list< pair<string, string> >& rootList,
|
|||||||
// no such package found, add
|
// no such package found, add
|
||||||
m_packageMap[name] = p;
|
m_packageMap[name] = p;
|
||||||
} else if ( listDuplicate ) {
|
} else if ( listDuplicate ) {
|
||||||
m_shadowedPackages[name] = make_pair( p, hidden->second );
|
m_shadowedPackages.push_back(make_pair( p, hidden->second ));
|
||||||
} else {
|
} else {
|
||||||
delete p;
|
delete p;
|
||||||
}
|
}
|
||||||
@ -235,7 +240,8 @@ void Repository::initFromFS( const list< pair<string, string> >& rootList,
|
|||||||
}
|
}
|
||||||
closedir( d );
|
closedir( d );
|
||||||
}
|
}
|
||||||
|
|
||||||
|
m_shadowedPackages.sort(compareShadowPair);
|
||||||
parseDependencyList();
|
parseDependencyList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -34,7 +34,7 @@ public:
|
|||||||
|
|
||||||
const Package* getPackage( const string& name ) const;
|
const Package* getPackage( const string& name ) const;
|
||||||
const map<string, Package*>& packages() const;
|
const map<string, Package*>& packages() const;
|
||||||
const map<string, pair<Package*, Package*> >& shadowedPackages() const;
|
const list<pair<Package*, Package*> >& shadowedPackages() const;
|
||||||
|
|
||||||
void searchMatchingPackages( const string& pattern,
|
void searchMatchingPackages( const string& pattern,
|
||||||
list<Package*>& target,
|
list<Package*>& target,
|
||||||
@ -74,7 +74,7 @@ private:
|
|||||||
|
|
||||||
void parseDependencyList();
|
void parseDependencyList();
|
||||||
|
|
||||||
map<string, pair<Package*, Package*> > m_shadowedPackages;
|
list<pair<Package*, Package*> > m_shadowedPackages;
|
||||||
map<string, Package*> m_packageMap;
|
map<string, Package*> m_packageMap;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user