Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 690380 - sys-apps/portage: drop "optional" dependencies from emerge build order calculation before "satisfied" dependencies which may be broken
Summary: sys-apps/portage: drop "optional" dependencies from emerge build order calcul...
Status: RESOLVED FIXED
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Core - Interface (emerge) (show other bugs)
Hardware: All All
: Normal normal
Assignee: Portage team
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2019-07-21 19:22 UTC by Zac Medico
Modified: 2019-07-21 19:31 UTC (History)
0 users

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 Zac Medico gentoo-dev 2019-07-21 19:22:17 UTC
For build order calculations, emerge should drop "optional" dependencies (--with-bdeps=y) before it drops "satisfied" dependencies which may be broken (bug 199856). This will fix it:

> --- a/lib/_emerge/DepPrioritySatisfiedRange.py
> +++ b/lib/_emerge/DepPrioritySatisfiedRange.py
> @@ -9,11 +9,11 @@ class DepPrioritySatisfiedRange(object):
>         not satisfied and buildtime                    HARD
>         not satisfied and runtime              7       MEDIUM
>         not satisfied and runtime_post         6       MEDIUM_SOFT
> -       satisfied and buildtime_slot_op        5       SOFT
> -       satisfied and buildtime                4       SOFT
> -       satisfied and runtime                  3       SOFT
> -       satisfied and runtime_post             2       SOFT
> -       optional                               1       SOFT
> +       optional                               5       SOFT
> +       satisfied and buildtime_slot_op        4       SOFT
> +       satisfied and buildtime                3       SOFT
> +       satisfied and runtime                  2       SOFT
> +       satisfied and runtime_post             1       SOFT
>         (none of the above)                    0       NONE
>         """
>         MEDIUM      = 7
Comment 1 Zac Medico gentoo-dev 2019-07-21 19:31:41 UTC
Actually, it already drops the "optional" dependencies earlier, since they come immediately after None  here:

> DepPrioritySatisfiedRange.ignore_priority = (
> 	None,
>	DepPrioritySatisfiedRange._ignore_optional,