Add support for FEATURES=binpkg-logs which is similar to unmerge-logs,
authorZac Medico <zmedico@gentoo.org>
Thu, 23 Sep 2010 04:45:17 +0000 (21:45 -0700)
committerZac Medico <zmedico@gentoo.org>
Thu, 23 Sep 2010 04:45:17 +0000 (21:45 -0700)
but applies to all binary package merges.

cnf/make.globals
man/make.conf.5
pym/_emerge/Binpkg.py

index 6679918fd2fa4b26cef8531c7d3c9219341c9922..e3c17c5d1d17d353c7ac175d8949caedf5cf16c5 100644 (file)
@@ -44,7 +44,8 @@ FETCHCOMMAND_RSYNC="rsync -avP \"\${URI}\" \"\${DISTDIR}/\${FILE}\""
 RESUMECOMMAND_RSYNC="rsync -avP \"\${URI}\" \"\${DISTDIR}/\${FILE}\""
 
 # Default user options
-FEATURES="assume-digests distlocks fixpackages fixlafiles news parallel-fetch protect-owned
+FEATURES="assume-digests binpkg-logs distlocks fixpackages
+          fixlafiles news parallel-fetch protect-owned
           sandbox sfperms strict unknown-features-warn unmerge-logs
           unmerge-orphans userfetch"
 
index 68137a8161dd8a80ec4ce3b91949d28d14405872..a55e7fc9710da21bd193200f4eaec970bf1e5f45 100644 (file)
@@ -209,6 +209,10 @@ existing digest, the digest will be regenerated regardless of whether or
 not \fIassume\-digests\fR is enabled. The \fBebuild\fR(1) \fBdigest\fR command
 has a \fB\-\-force\fR option that can be used to force regeneration of digests.
 .TP
+.B binpkg\-logs
+Keep logs from successful binary package merges. This is relevant only when
+\fBPORT_LOGDIR\fR is set.
+.TP
 .B buildpkg
 Binary packages will be created for all packages that are merged. Also see
 \fBquickpkg\fR(1) and \fBemerge\fR(1) \fB\-\-buildpkg\fR and
index 7fc11ea59c61f82c4ccc6d8e1aa53ea3b6525551..89f13610603ce110c2a103735883349e00a56369 100644 (file)
@@ -318,5 +318,13 @@ class Binpkg(CompositeTask):
                finally:
                        settings.pop("PORTAGE_BINPKG_FILE", None)
                        self._unlock_builddir()
+
+               if retval == os.EX_OK and \
+                       'binpkg-logs' not in self.settings.features and \
+                       self.settings.get("PORTAGE_LOG_FILE"):
+                       try:
+                               os.unlink(self.settings["PORTAGE_LOG_FILE"])
+                       except OSError:
+                               pass
                return retval