Merged from trunk -r12367:12371
authorFabian Groffen <grobian@gentoo.org>
Thu, 8 Jan 2009 20:00:32 +0000 (20:00 -0000)
committerFabian Groffen <grobian@gentoo.org>
Thu, 8 Jan 2009 20:00:32 +0000 (20:00 -0000)
   | 12368   | Handle tree conflicts in svn status output, new in           |
   | zmedico | subversion 1.6. Thanks to Arfrever Frehtes Taifersar         |
   |         | Arahesis for reporting.                                      |

   | 12369   | Bug #252995 - When post_emerge() returns early because the   |
   | zmedico | vdb state has not changed, still display new notifications.  |

   | 12370   | Bug #252985 - Add a note about the new default behavior for  |
   | zmedico | `emerge world` and `emerge system` commands.                 |

   | 12371   | Bug #253210 - Fix logic inside EbuildBuild._buildpkg_exit()  |
   | zmedico | to avoid triggering an AssertionError when the package phase |
   |         | has failed. This bug usually isn't noticeable since the      |
   |         | package phase usually succeeds.                              |

svn path=/main/branches/prefix/; revision=12392

RELEASE-NOTES
bin/repoman
pym/_emerge/__init__.py

index 540809a43deb98beb25c3b655e70fd41e52c6d7c..88da034d48ba7e7e66cd263a56cbfd48e66f053c 100644 (file)
@@ -24,6 +24,9 @@ portage-2.2
 portage-2.1.6
 ==================================
 
+* The default behavior has changed for `emerge world` and `emerge system`
+  commands. These commands will reinstall all packages from the given set
+  unless an option such as --noreplace, --update, or --newuse is specified.
 * FEATURES=fixpackages is now enabled by default via make.globals. Set
   FEATURES="-fixpackages" in make.conf if you'd like to disable it.
 * File collision protection is now enabled by default via make.globals with
index f088b31beeff0e143c4c5962b81f99942dd2661d..94e7275c791444c8b43911822933a5a0fbf464a3 100755 (executable)
@@ -910,6 +910,9 @@ for x in scanlist:
                                if vcs == "svn":
                                        if l[:1] == "?":
                                                continue
+                                       if l[:7] == '      >':
+                                               # tree conflict, new in subversion 1.6
+                                               continue
                                        l = l.split()[-1]
                                        if l[-7:] == ".ebuild":
                                                eadded.append(os.path.basename(l[:-7]))
index b7dc2ee8968caf9e83cf4211b04cf425dbdbecb4..8dfc1cb07aa401dcf5cdd162f2593695ab470e3f 100644 (file)
@@ -2704,8 +2704,12 @@ class EbuildBuild(CompositeTask):
                be released when merge() is called.
                """
 
-               if self._default_exit(packager) == os.EX_OK and \
-                       self.opts.buildpkgonly:
+               if self._default_exit(packager) != os.EX_OK:
+                       self._unlock_builddir()
+                       self.wait()
+                       return
+
+               if self.opts.buildpkgonly:
                        # Need to call "clean" phase for buildpkgonly mode
                        portage.elog.elog_process(self.pkg.cpv, self.settings)
                        phase = "clean"
@@ -2716,9 +2720,10 @@ class EbuildBuild(CompositeTask):
                        self._start_task(clean_phase, self._clean_exit)
                        return
 
-               if self._final_exit(packager) != os.EX_OK or \
-                       self.opts.buildpkgonly:
-                       self._unlock_builddir()
+               # Continue holding the builddir lock until
+               # after the package has been installed.
+               self._current_task = None
+               self.returncode = packager.returncode
                self.wait()
 
        def _clean_exit(self, clean_phase):
@@ -11686,6 +11691,7 @@ def post_emerge(root_config, myopts, mtimedb, retval):
        counter_hash = settings.get("PORTAGE_COUNTER_HASH")
        if counter_hash is not None and \
                counter_hash == vardbapi._counter_hash():
+               display_news_notification(root_config, myopts)
                # If vdb state has not changed then there's nothing else to do.
                sys.exit(retval)