emerge --resume: reject atom or set arguments
authorZac Medico <zmedico@gentoo.org>
Thu, 18 Jul 2013 20:23:02 +0000 (13:23 -0700)
committerZac Medico <zmedico@gentoo.org>
Thu, 18 Jul 2013 20:25:31 +0000 (13:25 -0700)
It is an error to provide atoms or sets as arguments to --resume, since
the arguments from the resumed command are used instead.

man/emerge.1
pym/_emerge/actions.py

index 6090202510b9ea452a5601c4625890269c11c5b7..da6bcbab77d11b89d5c9ee96f878d65a3d9acb9b 100644 (file)
@@ -202,9 +202,11 @@ generate and distribute cache for use by others, use \fBegencache\fR(1).
 .TP
 .BR "\-\-resume" (\fB\-r\fR)
 Resumes the most recent merge list that has been aborted due to an error.
-This re\-uses the options that were given with the original
+This re\-uses the arguments and options that were given with the original
 command that's being resumed, and the user may also provide
-additional options when calling \fB\-\-resume\fR.
+additional options when calling \fB\-\-resume\fR. It is an error to provide
+atoms or sets as arguments to \fB\-\-resume\fR, since the arguments from the
+resumed command are used instead.
 Please note that this operation will only return an error on failure.  If there
 is nothing for portage to do, then portage will exit with a message and a
 success condition. A resume list will persist until it has been completed in
index 730868e72450b8d974a837b06cf82097bbb6cc84..6d5d535ef8e5664121743e1d7c42a4602e8a1362 100644 (file)
@@ -3657,6 +3657,12 @@ def run_action(emerge_config):
 
        ensure_required_sets(emerge_config.trees)
 
+       if emerge_config.action is None and \
+               "--resume" in emerge_config.opts and emerge_config.args:
+               writemsg("emerge: unexpected argument(s) for --resume: %s\n" %
+                  " ".join(emerge_config.args), noiselevel=-1)
+               return 1
+
        # only expand sets for actions taking package arguments
        oldargs = emerge_config.args[:]
        if emerge_config.action in ("clean", "config", "depclean",