[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: