diff options
author | David Kalnischkies <kalnischkies@gmail.com> | 2012-03-22 13:09:22 +0100 |
---|---|---|
committer | David Kalnischkies <kalnischkies@gmail.com> | 2012-03-22 13:09:22 +0100 |
commit | 9c257550854273ff6defb1816cb210d51f64db03 (patch) | |
tree | 5d6e76ba02f8b785e54a08bb13574ec2e31422bf /test/interactive-helper/testextract.cc | |
parent | 2e30ddbe95ff8ecfcf7d15a8b3c69ede6cda027a (diff) |
* apt-inst/database.{cc,h}, apt-inst/deb/dpkgdb.{cc,h}:
- drop instead of fix as it is only needed if you want to reimplement dpkg
and comes straight from the beginning of last decade (Closes: #663372)
* apt-inst/deb/debfile.cc:
- {Extract,Merge}Control() is another instance of "lets reimplement dpkg"
so shot of this code before someone ends up using this…
Diffstat (limited to 'test/interactive-helper/testextract.cc')
-rw-r--r-- | test/interactive-helper/testextract.cc | 104 |
1 files changed, 0 insertions, 104 deletions
diff --git a/test/interactive-helper/testextract.cc b/test/interactive-helper/testextract.cc deleted file mode 100644 index 8dfe68fc9..000000000 --- a/test/interactive-helper/testextract.cc +++ /dev/null @@ -1,104 +0,0 @@ -#include <apt-pkg/dpkgdb.h> -#include <apt-pkg/debfile.h> -#include <apt-pkg/error.h> -#include <apt-pkg/configuration.h> -#include <apt-pkg/progress.h> -#include <apt-pkg/extract.h> -#include <apt-pkg/init.h> -#include <apt-pkg/strutl.h> -#include <apt-pkg/fileutl.h> -#include <apt-pkg/pkgsystem.h> - -#include <stdio.h> -#include <stdlib.h> - -using namespace std; - -bool Go(int argc,char *argv[]) -{ - // Init the database - debDpkgDB Db; - { - OpTextProgress Prog; - - if (Db.ReadyPkgCache(Prog) == false) - return false; - Prog.Done(); - - if (Db.ReadyFileList(Prog) == false) - return false; - } - - for (int I = 1; I < argc; I++) - { - const char *Fake = 0; - for (unsigned J = 0; argv[I][J] != 0; J++) - { - if (argv[I][J] != ',') - continue; - Fake = argv[I] + J + 1; - argv[I][J] = 0; - } - - FileFd F(argv[I],FileFd::ReadOnly); - debDebFile Deb(F); - - if (_error->PendingError() == true) - return false; - - if (Deb.ExtractControl(Db) == false) - return false; - cout << argv[I] << endl; - - pkgCache::VerIterator Ver = Deb.MergeControl(Db); - if (Ver.end() == true) - return false; - - cout << Ver.ParentPkg().Name() << ' ' << Ver.VerStr() << endl; - - pkgExtract Extract(Db.GetFLCache(),Ver); - - if (Fake != 0) - { - pkgExtract::Item Itm; - memset(&Itm,0,sizeof(Itm)); - FILE *F = fopen(Fake,"r"); - while (feof(F) == 0) - { - char Line[300]; - if (fgets(Line,sizeof(Line),F) == NULL) - return false; - Itm.Name = _strstrip(Line); - Itm.Type = pkgDirStream::Item::File; - if (Line[strlen(Line)-1] == '/') - Itm.Type = pkgDirStream::Item::Directory; - - int Fd; - if (Extract.DoItem(Itm,Fd) == false) { - fclose(F); - return false; - } - } - fclose(F); - } - else - if (Deb.ExtractArchive(Extract) == false) - return false; - } - return true; -} - -int main(int argc,char *argv[]) -{ - pkgInitConfig(*_config); - pkgInitSystem(*_config,_system); - _config->Set("Dir::State::status","/tmp/testing/status"); - - Go(argc,argv); - - if (_error->PendingError() == true) - { - _error->DumpErrors(); - return 0; - } -} |