summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--apt-pkg/makefile1
-rw-r--r--apt-pkg/pkgrecords.cc17
-rw-r--r--buildlib/defaults.mak2
-rw-r--r--buildlib/makefile.in1
-rw-r--r--cmdline/makefile1
-rw-r--r--doc/makefile1
6 files changed, 20 insertions, 3 deletions
diff --git a/apt-pkg/makefile b/apt-pkg/makefile
index f06e1afd2..1c28711fe 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 b3105da44..bb8b05759 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 e5a63fc1b..e9e7546fe 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 093ac204c..f53b8cca9 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 d521c58db..2dd10d6bc 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 b53f4a0b3..e6a2dbefe 100644
--- a/doc/makefile
+++ b/doc/makefile
@@ -1,5 +1,6 @@
# -*- make -*-
BASE=..
+SUBDIR=doc
# Bring in the default rules
include ../buildlib/defaults.mak