Re: *help* apt-https
On Thu, 23 May 2002, Jason Gunthorpe wrote:
>
> On Thu, 23 May 2002, Tomas Pospisek wrote:
>
> > I'm somewhat stuck: when I make an update through my https method I get a:
> >
> > The following NEW packages will be installed:
> > dummypkg
> > 0 packages upgraded, 1 newly installed, 0 to remove and 8 not upgraded.
> > E: The package index files are corrupted. No Filename: field for
> > package dummypkg.
> >
> > The package index file is fine though. If I have under /var/lib/apt/lists/
> > in my site's index:
> >
> > Package: dummypkg
> > Version: 1.0
>
> Well, does it have a Filename: field? :>
Yes :-) :
tpo@tpo2:tpo$ cat /var/lib/apt/lists/sourcepole.ch_sources_software_debian_dists_sid_main_binary-i386_Packages
[...]
Package: dummypkg
Version: 1.3-19
Priority: optional
Section: devel
Maintainer: Adam Heath <doogie@debian.org>
Depends: libc6 (>= 2.2.4-4)
Architecture: i386
Filename: dists/unstable/main/binary-i386/devel/dummypkg_1.3-19_i386.deb
Size: 19706
MD5sum: 31bdbafe41da23c1de009596dc5ae593
Description: The classic greeting, and a good example
The GNU hello program produces a familiar, friendly greeting. It
allows nonprogrammers to use a classic computer science tool which
would otherwise be unavailable to them.
.
Seriously, though: this is an example of how to do a Debian package.
It is the Debian version of the GNU Project's `hello world' program
(which is itself an example for the GNU Project).
installed-size: 84
[...]
> > method but instead somewhere else (like in the parsing of the soures.list
> > and not being able to make the link between the index file and the correct
> > method).
>
> It's unlikely, that's all quite generic and works with ftp, etc.
I got a little bit further. Everything seems fine in
acquire-item.cc:pkgAcqArchive::QueueNext() - the VersionFileIterator Vf
contains the correct path to the index file:
for (; Vf.end() == false; Vf++)
{
clog << Vf.File().FileName() << "\n";
// Ignore not source sources
if ((Vf.File()->Flags & pkgCache::Flag::NotSource) != 0)
continue;
// Try to cross match against the source list
pkgIndexFile *Index;
if (Sources->FindIndex(Vf.File(),Index) == false) {
clog << "Argh - nothing found\n";
continue;
}
// Grab the text package record
pkgRecords::Parser &Parse = Recs->Lookup(Vf);
if (_error->PendingError() == true)
return false;
string PkgFile = Parse.FileName();
clog << "PkgFile: " << PkgFile << "\n";
MD5 = Parse.MD5Hash();
if (PkgFile.empty() == true)
return _error->Error(_("The package index files are corrupted. No Filename: "
"field for package %s."),
Version.ParentPkg().Name());
will produce:
/var/lib/apt/lists/sourcepole.ch_sources_software_debian_dists_sid_main_binary-i386_Packages
[that's Vf.FileName()]
["Argh..." will not be displayed, that's fine as well]
[But then I get:]
PkgFile:
E: The package index files are corrupted. No Filename: field for package
dummypkg.
But then, as you see, PkgFile remains empty.
Do I have to subclass the Parser for my method or does the parser need to
know that https is a valid method or something?
*t
-----------------------------------------------------------------------
Tomas Pospisek
sourcepole - Linux & Open Source Solutions
http://sourcepole.com
Elestastrasse 18, 7310 Bad Ragaz, Switzerland
Tel:+41 (81) 330 77 13, Fax:+41 (81) 330 77 12
------------------------------------------------------------------------
--
To UNSUBSCRIBE, email to deity-request@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org
Reply to: