Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 265267 - sys-apps/portage: emerge ability to exclude interactive packages
Summary: sys-apps/portage: emerge ability to exclude interactive packages
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core (show other bugs)
Hardware: All Linux
: High enhancement (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords: InVCS
Depends on:
Blocks: 184128 210077 288499
  Show dependency tree
 
Reported: 2009-04-07 09:11 UTC by Pacho Ramos
Modified: 2009-10-11 00:38 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Pacho Ramos gentoo-dev 2009-04-07 09:11:36 UTC
Currently, emerge forces --jobs=1 when it finds any interactive package. From my point of view, I think that would be better that emerge would try to merge interactive packages as soon as possible, this would allow the user to make needed interactove tasks. Once they are finished, emerge could revert to desired --jobs setting

(this comes from bug 233296)


Reproducible: Always
Comment 1 Zac Medico gentoo-dev 2009-04-25 04:59:11 UTC
While it's nice to merge them as soon as possible, dependencies can interfere with this goal. So, a more general solution is to allow interactive ebuilds to temporarily take exclusive control of the console when necessary. The current behavior of forcing --jobs=1 is only a workaround for lack of the required coordination code.
Comment 2 Pacho Ramos gentoo-dev 2009-04-25 11:33:17 UTC
It would be a much better solution of course :-)
Comment 3 Pacho Ramos gentoo-dev 2009-09-19 11:38:02 UTC
Maybe a workaround until this is implemented would be to allow us to run:
# RESTRICT=interactive emerge -avuDN --jobs world

for temporally skipping interactive ebuilds

Thanks
Comment 4 Zac Medico gentoo-dev 2009-09-19 12:02:23 UTC
In 2.2_rc40 we have ACCEPT_PROPERTIES support, so you can do ACCEPT_PROPERTIES="* -interactive" in order to prevent interactive packages from being pulled into the graph. I plan do add a --accept-properties option since using environment variables directly is not very nice (it's prone to leakage and we may eventually disable it by default). The you be able to use --accept-properties="* -interactive" to get the desired behavior.
Comment 5 Pacho Ramos gentoo-dev 2009-09-19 16:01:14 UTC
Great :-D

Thanks a lot for your work!
Comment 6 Zac Medico gentoo-dev 2009-10-06 07:08:10 UTC
The --accept-properties option is in svn r14501. With it you can do something like this:

  emerge -uDN world --accept-properties=-interactive

With default configuration, that will change your effective ACCEPT_PROPERTIES setting to "* -interactive". After you've done all of your non-interactive updates, you'll be able to to your interactive ones separately. The code from bug 137562 should ensure that any packages which depend on interactive packages are properly dropped from the updated.

The above approach seems pretty practical to me. After the bulk of you updates are done, you can do your interactive updates separately. One problem I see with trying to adjust merge order specifically for interactive packages is that it might not always be optimal, since the interactive packages might have dependencies which prevent them from being promoted to the beginning of he merge list. Because of this, there would be no guarantee that the merge order could be adjusted to your satisfaction.
Comment 7 Pacho Ramos gentoo-dev 2009-10-06 12:47:02 UTC
No problem, --accept-properties=-interactive looks really great for me. Thanks :-D
Comment 8 Zac Medico gentoo-dev 2009-10-06 15:39:41 UTC
Ok, we'll consider this solved by --accept-properties then. It's released in 2.2_rc44.
Comment 9 Pacho Ramos gentoo-dev 2009-10-06 17:42:48 UTC
OK but, maybe would be interesting to inform the user about this way to solve portage disabling jobs due interactive packages maybe reflecting this in man page or even suggesting this with the current message that notifies the user that portage will disable jobs because of interactive packages found

Thanks
Comment 10 Zac Medico gentoo-dev 2009-10-06 20:42:30 UTC
(In reply to comment #9)
> OK but, maybe would be interesting to inform the user about this way to solve
> portage disabling jobs due interactive packages maybe reflecting this in man
> page or even suggesting this with the current message that notifies the user
> that portage will disable jobs because of interactive packages found

Thanks, I've added hints in both places, in svn r14507 and r14508.
Comment 11 Zac Medico gentoo-dev 2009-10-11 00:38:36 UTC
This is fixed in 2.1.7 and 2.2_rc45.