]> git.saurik.com Git - apt.git/commit - apt-pkg/deb/debmetaindex.cc
merge indexRecords into metaIndex
authorDavid Kalnischkies <david@kalnischkies.de>
Tue, 23 Jun 2015 13:16:08 +0000 (15:16 +0200)
committerDavid Kalnischkies <david@kalnischkies.de>
Mon, 10 Aug 2015 15:25:26 +0000 (17:25 +0200)
commit5ad0096a4e19e191b59634e8a8817995ec4045ad
tree70b2310cdff52e809ffebcdfae4ffa4cd42f10fb
parent268ffcebb9ae4278b1e3c3f89f8167f229164dbd
merge indexRecords into metaIndex

indexRecords was used to parse the Release file – mostly the hashes –
while metaIndex deals with downloading the Release file, storing all
indexes coming from this release and … parsing the Release file, but
this time mostly for the other fields.

That wasn't a problem in metaIndex as this was done in the type specific
subclass, but indexRecords while allowing to override the parsing method
did expect by default a specific format.

APT isn't really supporting different types at the moment, but this is
a violation of the abstraction we have everywhere else and, which is the
actual reason for this merge: Options e.g. coming from the sources.list
come to metaIndex naturally, which needs to wrap them up and bring them
into indexRecords, so the acquire system is told about it as they don't
get to see the metaIndex, but they don't really belong in indexRecords
as this is just for storing data loaded from the Release file… the
result is a complete mess.

I am not saying it is a lot prettier after the merge, but at least
adding new options is now slightly easier and there is just one place
responsible for parsing the Release file. That can't hurt.
13 files changed:
apt-pkg/acquire-item.cc
apt-pkg/acquire-item.h
apt-pkg/deb/debmetaindex.cc
apt-pkg/deb/debmetaindex.h
apt-pkg/indexcopy.cc
apt-pkg/indexcopy.h
apt-pkg/indexrecords.cc [deleted file]
apt-pkg/indexrecords.h [deleted file]
apt-pkg/metaindex.cc
apt-pkg/metaindex.h
apt-pkg/sourcelist.cc
cmdline/apt-get.cc
test/integration/test-apt-cli-update