-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 http://bugs.gentoo.org/show_bug.cgi?id=167667
In order so smoothly and transparently drop Manifest1, it seems like we'll need a toggle built into portage so that it automatically drops Manifest1 when appropriate. The need for this toggle will be critical when we make the move to drop Manifest1 from the gentoo-x86 cvs tree. Please review the attached patch for bug #167667 which triggers the dropping of Manifest1 via an empty file named "${PORTDIR}/manifest1_obsolete". The file is repo/overlay specific, so various overlays can keep or drop Manifest1 depending on whether that file has been added to the overlay. In order to drop manifest1 from cvs, we will also nned to add support to repoman so that it handles Manifest1 digest files correctly. Perhaps it should automatically remove them from cvs? Zac -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.2 (GNU/Linux) iD8DBQFF23Hm/ejvha5XGaMRAvZfAKDLiQdrEmuBz5OykDvSTfqBxDqUuwCeIcYR J7MbsD0Ac9jcqm13nv3ujT0= =H2Vb -----END PGP SIGNATURE-----
Index: pym/portage.py =================================================================== --- pym/portage.py (revision 6016) +++ pym/portage.py (working copy) @@ -2692,8 +2692,11 @@ writemsg("!!! Invalid SRC_URI for '%s'.\n" % cpv, noiselevel=-1) del e return 0 + mytree = os.path.dirname(os.path.dirname(mysettings["O"])) + manifest1_compat = not os.path.exists( + os.path.join(mytree, "manifest1_obsolete")) mf = Manifest(mysettings["O"], mysettings["DISTDIR"], - fetchlist_dict=fetchlist_dict) + fetchlist_dict=fetchlist_dict, manifest1_compat=manifest1_compat) # Don't require all hashes since that can trigger excessive # fetches when sufficient digests already exist. To ease transition # while Manifest 1 is being removed, only require hashes that will Index: pym/portage_manifest.py =================================================================== --- pym/portage_manifest.py (revision 6016) +++ pym/portage_manifest.py (working copy) @@ -425,7 +425,8 @@ else: distfilehashes = {} self.__init__(self.pkgdir, self.distdir, - fetchlist_dict=self.fetchlist_dict, from_scratch=True) + fetchlist_dict=self.fetchlist_dict, from_scratch=True, + manifest1_compat=self.compat) for pkgdir, pkgdir_dirs, pkgdir_files in os.walk(self.pkgdir): break for f in pkgdir_files: