Solves Bug#798121

apt-get source requires a Release file in the source subdirectory.

With the patch _gen_release_impl iterates over all architectures
plus "source".

In the source directory hash codes are created for files Source[.gz,.bz2]
and written to file Release.

Signed-off-by: Heinrich Schuchardt <xypron.g...@gmx.de>
---
 mini-dinstall |    7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/mini-dinstall b/mini-dinstall
index 8590496..e380bb2 100755
--- a/mini-dinstall
+++ b/mini-dinstall
@@ -1370,7 +1370,7 @@ class SimpleSubdirArchiveDirIndexer(ArchiveDirIndexer):
                     self._logger.info('Skipping generation of Sources file for 
%s' % (arch,))
 
     def _gen_release_impl(self, arches, force):
-        for arch in arches:
+        for arch in list(arches) + ['source']:
             targetname = self._relpath(arch, 'Release')
             if not self._generate_release:
                 if os.access(targetname, os.R_OK):
@@ -1382,7 +1382,10 @@ class SimpleSubdirArchiveDirIndexer(ArchiveDirIndexer):
                 return
             tmpname = targetname + tmp_new_suffix
             release_needed = 0
-            uncompr_indexfile = os.path.join(arch, 'Packages')
+            if arch != 'source':
+                uncompr_indexfile = os.path.join(arch, 'Packages')
+            else:
+                uncompr_indexfile = os.path.join(arch, 'Sources')
             indexfiles =  [uncompr_indexfile]
             comprexts = ['.gz', '.bz2']
             for ext in comprexts:
-- 
1.7.10.4

Reply via email to