Merged from trunk -r12165:12168
authorFabian Groffen <grobian@gentoo.org>
Sat, 6 Dec 2008 20:57:30 +0000 (20:57 -0000)
committerFabian Groffen <grobian@gentoo.org>
Sat, 6 Dec 2008 20:57:30 +0000 (20:57 -0000)
   | 12166   | Validate $ROOT inside the --resume merge list in order to    |
   | zmedico | avoid a pottential KeyError due to a stale merge list that   |
   |         | was for a different $ROOT setting. Thanks to Ned Ludd        |
   |         | <solar@g.o> for reporting.                                   |

   | 12168   | Add docs for PORTAGE_GPG_DIR and PORTAGE_GPG_KEY that are    |
   | zmedico | used by repoman for FEATURES=sign support. Thanks to Petteri |
   |         | Räty <betelgeuse@g.o> for reporting.                        |

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

man/make.conf.5
pym/_emerge/__init__.py

index 576278996b449f39a7064513ef2aa4ff57d8c581..159217f546bca379f4f8070c8b145f453dd8d4ec 100644 (file)
@@ -484,6 +484,16 @@ that small garbage files such as html 404 pages are properly discarded. The
 variable should contain an integer number of bytes and may have a suffix such
 as K, M, or G.
 .TP
+.B PORTAGE_GPG_DIR
+The \fBgpg\fR(1) home directory that is used by \fBrepoman\fR(1)
+when \fBsign\fR is in \fBFEATURES\fR.
+.br
+Defaults to $HOME/.gnupg.
+.TP
+.B PORTAGE_GPG_KEY
+The \fBgpg\fR(1) key used by \fBrepoman\fR(1) to sign manifests
+when \fBsign\fR is in \fBFEATURES\fR.
+.TP
 \fBPORTAGE_IONICE_COMMAND\fR = \fI[ionice command string]\fR
 This variable should contain a command for portage to call in order
 to adjust the io priority of portage and it's subprocesses. The command
index f098d98ad1fc10679f8938aa6e2e49c8457fbb1d..ca8785d4a6195296a37ba93d69890a8f2edc2666 100644 (file)
@@ -13220,6 +13220,18 @@ def action_build(settings, trees, mtimedb,
                if not isinstance(mergelist, list):
                        del mtimedb[k]
                        continue
+               for x in mergelist:
+                       if not (isinstance(x, list) and len(x) == 4):
+                               continue
+                       pkg_type, pkg_root, pkg_key, pkg_action = x
+                       if pkg_root not in trees:
+                               # Current $ROOT setting differs,
+                               # so the list must be stale.
+                               mergelist = None
+                               break
+               if not mergelist:
+                       del mtimedb[k]
+                       continue
                resume_opts = resume_data.get("myopts")
                if not isinstance(resume_opts, (dict, list)):
                        del mtimedb[k]