diff options
-rw-r--r-- | apt-pkg/makefile | 1 | ||||
-rw-r--r-- | apt-pkg/pkgrecords.cc | 17 | ||||
-rw-r--r-- | buildlib/defaults.mak | 2 | ||||
-rw-r--r-- | buildlib/makefile.in | 1 | ||||
-rw-r--r-- | cmdline/makefile | 1 | ||||
-rw-r--r-- | doc/makefile | 1 |
6 files changed, 20 insertions, 3 deletions
diff --git a/apt-pkg/makefile b/apt-pkg/makefile index f06e1afd..1c28711f 100644 --- a/apt-pkg/makefile +++ b/apt-pkg/makefile @@ -1,5 +1,6 @@ # -*- make -*- BASE=.. +SUBDIR=apt-pkg # Header location SUBDIRS = deb contrib diff --git a/apt-pkg/pkgrecords.cc b/apt-pkg/pkgrecords.cc index b3105da4..bb8b0575 100644 --- a/apt-pkg/pkgrecords.cc +++ b/apt-pkg/pkgrecords.cc @@ -1,6 +1,6 @@ // -*- mode: cpp; mode: fold -*- // Description /*{{{*/ -// $Id: pkgrecords.cc,v 1.1 1998/08/09 00:51:35 jgg Exp $ +// $Id: pkgrecords.cc,v 1.2 1998/08/19 06:16:10 jgg Exp $ /* ###################################################################### Package Records - Allows access to complete package description records @@ -15,6 +15,7 @@ #include <apt-pkg/pkgrecords.h> #include <apt-pkg/debrecords.h> #include <apt-pkg/error.h> +#include <apt-pkg/configuration.h> /*}}}*/ // Records::pkgRecords - Constructor /*{{{*/ @@ -22,13 +23,25 @@ /* This will create the necessary structures to access the status files */ pkgRecords::pkgRecords(pkgCache &Cache) : Cache(Cache), Files(0) { + string ListDir = _config->FindDir("Dir::State::lists"); + Files = new PkgFile[Cache.HeaderP->PackageFileCount]; for (pkgCache::PkgFileIterator I = Cache.FileBegin(); I.end() == false; I++) { - Files[I->ID].File = new FileFd(I.FileName(),FileFd::ReadOnly); + // We can not initialize if the cache is out of sync. + if (I.IsOk() == false) + { + _error->Error("Package file %s is out of sync.",I.FileName()); + return; + } + + // Create the file + Files[I->ID].File = new FileFd(ListDir + I.FileName(),FileFd::ReadOnly); if (_error->PendingError() == true) return; + + // Create the parser Files[I->ID].Parse = new debRecordParser(*Files[I->ID].File); if (_error->PendingError() == true) return; diff --git a/buildlib/defaults.mak b/buildlib/defaults.mak index e5a63fc1..e9e7546f 100644 --- a/buildlib/defaults.mak +++ b/buildlib/defaults.mak @@ -47,7 +47,7 @@ endif INCLUDE := $(BUILD)/include BIN := $(BUILD)/bin LIB := $(BIN) -OBJ := $(BUILD)/obj +OBJ := $(BUILD)/obj/$(SUBDIR) DEP := $(OBJ) DOC := $(BUILD)/doc diff --git a/buildlib/makefile.in b/buildlib/makefile.in index 093ac204..f53b8cca 100644 --- a/buildlib/makefile.in +++ b/buildlib/makefile.in @@ -6,6 +6,7 @@ SRCDIR=@top_srcdir@ SUBDIRS:=./doc ./bin ./obj ./include/apt-pkg ./include/deity +SUBDIRS+=./obj/doc ./obj/apt-pkg ./obj/deity ./obj/gui ./obj/cmdline BUILD:=$(shell pwd) export BUILD diff --git a/cmdline/makefile b/cmdline/makefile index d521c58d..2dd10d6b 100644 --- a/cmdline/makefile +++ b/cmdline/makefile @@ -1,5 +1,6 @@ # -*- make -*- BASE=.. +SUBDIR=cmdline # Bring in the default rules include ../buildlib/defaults.mak diff --git a/doc/makefile b/doc/makefile index b53f4a0b..e6a2dbef 100644 --- a/doc/makefile +++ b/doc/makefile @@ -1,5 +1,6 @@ # -*- make -*- BASE=.. +SUBDIR=doc # Bring in the default rules include ../buildlib/defaults.mak |