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

Re: [apt 0.6.23] Unable to find expected entry /source/Sources



On Fri, May 28, 2004 at 04:22:19PM +0200, Flavio Stanchina wrote:

>    Failed to fetch http://athlon/~flavio/debian/./Release  Unable to
>    find expected entry  /source/Sources in Meta-index file
>    (malformed Release file?)
> 
> There is no line saying "Hit http://athlon ./ Sources" as I would have
> expected; the Sources file is of course there and it is not empty.

It is looking in the Release file first to find the md5sum for Sources
before downloading it.

> I reverted to the standard apt from unstable: the error went away and I
> could install sources for my packages with "apt-get source package".

Right; that version doesn't parse that section of the Release file at all.

> My wild guess is that the problem has its origin in
> debReleaseIndex::SourceIndexURISuffix() not using the same logic as
> debReleaseIndex::IndexURISuffix() to build the URI suffix. This is in
> file apt-pkg/deb/debmetaindex.cc.
> 
> The offending part of my sources.list file looks like this:
>    deb     http://athlon/~flavio/debian/ ./
>    deb-src http://athlon/~flavio/debian/ ./

I agreee; it looks like when I was fixing things to work with two-part
sources, I missed the Sources code.

The attached patch fixes it for me.  If you could try it before I commit it,
that would be a help.

-- 
 - mdz
Index: apt-pkg/deb/debmetaindex.cc
===================================================================
RCS file: /cvs/deity/apt/apt-pkg/deb/Attic/debmetaindex.cc,v
retrieving revision 1.1.2.3
diff -u -r1.1.2.3 debmetaindex.cc
--- apt-pkg/deb/debmetaindex.cc	28 Dec 2003 23:56:18 -0000	1.1.2.3
+++ apt-pkg/deb/debmetaindex.cc	28 May 2004 15:51:43 -0000
@@ -90,7 +90,10 @@
 
 string debReleaseIndex::SourceIndexURISuffix(const char *Type, const string Section) const
 {
-   return Section + "/source/" + Type;
+   string Res ="";
+   if (Dist[Dist.size() - 1] != '/')
+      Res += Section + "/source/";
+   return Res + Type;
 }
 
 string debReleaseIndex::SourceIndexURI(const char *Type, const string Section) const

Attachment: signature.asc
Description: Digital signature


Reply to: