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