-----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:

Reply via email to