repoman: try to sign Manifest only if it exists
authorZac Medico <zmedico@gentoo.org>
Wed, 6 Jun 2012 01:35:35 +0000 (18:35 -0700)
committerZac Medico <zmedico@gentoo.org>
Wed, 6 Jun 2012 01:35:35 +0000 (18:35 -0700)
This case occurs with "thin-manifests = true" in metadata/layout.conf
when there are no distfiles (like for live ebuilds), as reported in
bug #419717.

bin/repoman

index e43fa1cd5427033a6efc3434fa3b18d450a87793..65ba4595d7439d561276ea1dc1d8905331281ca9 100755 (executable)
@@ -2751,7 +2751,10 @@ else:
                        for x in sorted(vcs_files_to_cps(
                                chain(myupdates, myremoved, mymanifests))):
                                repoman_settings["O"] = os.path.join(repodir, x)
-                               gpgsign(os.path.join(repoman_settings["O"], "Manifest"))
+                               manifest_path = os.path.join(repoman_settings["O"], "Manifest")
+                               if not os.path.exists(manifest_path):
+                                       continue
+                               gpgsign(manifest_path)
                except portage.exception.PortageException as e:
                        portage.writemsg("!!! %s\n" % str(e))
                        portage.writemsg("!!! Disabled FEATURES='sign'\n")