chiark / gitweb /
ownsrc fixes
[hippotat.git] / hippotatlib / ownsource.py
index 385c9ea3cd47b06f65377f5019856010de12cf7d..1a294e61467f823b6d6c88e2cfd29fa219462f13 100644 (file)
@@ -50,7 +50,7 @@ class SourceShipmentPreparer():
     s.cwd = os.getcwd()
     s.find_rune_base = "find -type f -perm -004 \! -path '*/tmp/*'"
     s.ignores = ['*~', '*.bak', '*.tmp', '#*#', '__pycache__',
-                  '[0-9][0-9][0-9][0-9]-src.cpio']
+                  '[0-9][0-9][0-9][0-9]-src.tar']
     s.rune_shell = ['/bin/bash', '-ec']
     s.show_pathnames = True
     s.download_packages = True
@@ -183,7 +183,7 @@ class SourceShipmentPreparer():
     find_rune = s.srcdir_find_rune(d)
     total_rune = s.rune_cpio % find_rune
 
-    name = s.new_output_name('src.cpio', infol)
+    name = s.new_output_name('src.tar', infol)
     s._dirmap[d] = name
     fh = s.open_output_fh(name, 'wb')
 
@@ -342,11 +342,16 @@ class SourceShipmentPreparer():
 
   def mk_inner_portmanteau(s):
     outputs = [s.manifest_name]
+    outputs_done = { }
     mfh = s.open_output_fh(s.manifest_name,'w')
     for me in s._manifest:
       try: fname = me['file']
       except KeyError: fname = me.get('file_print','')
-      else: outputs.append(fname)
+      else:
+        try: outputs_done[fname]
+        except KeyError:
+          outputs.append(fname)
+          outputs_done[fname] = 1
       print('%s\t%s' % (fname, me['info']), file=mfh)
     mfh.close()