Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 784806 - Autounmask disables use flag for lone explicit package
Summary: Autounmask disables use flag for lone explicit package
Status: RESOLVED INVALID
Alias: None
Product: Portage Development
Classification: Unclassified
Component: Unclassified (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Portage team
URL:
Whiteboard:
Keywords:
: 787929 (view as bug list)
Depends on:
Blocks:
 
Reported: 2021-04-21 14:22 UTC by Nikita Zlobin
Modified: 2022-11-20 17:03 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 Nikita Zlobin 2021-04-21 14:22:41 UTC
I have freetype installed with [-brotli]. Global ABI_X86=64, with some, mostly for wine, having ABI_X86=32 too, fontconfig / freetype are among them.
brotli has only x86_64 abi.

Emerged manually: emerge -tav1 freetype
it just disables abi_x86_32 for freetype instead of to enable for brotli.
I would rather expect error report than this.

Reproducible: Always

Actual Results:  
Autounmask '>=media-libs/freetype-2.10.4 -abi_x86_32'

Expected Results:  
Autounmask '>=app-arch/brotli-1.0.9-r1 abi_x86_32'

Workarounded by manual enabling abi_x86_32 for brotli. Also it doesn't happen if first emerged with USE=abi_x86_32 then again emerged without USE in begining. But if you try emerge both freetype and brotli, it will try to emerge freetype[abi_x86_32] and brotli-9999[-abi_x86_32], reporting conflict between old and new brotli versions.
Comment 1 Nikita Zlobin 2022-11-20 16:38:12 UTC
*** Bug 787929 has been marked as a duplicate of this bug. ***
Comment 2 Nikita Zlobin 2022-11-20 16:47:06 UTC
Found solution, for now for unconditional use dependencies.

I utterly missed some changes in portage/emerge configuration:

1. autounmask features disappeared from FEATURES in make.conf, now they are only in emerge options. However, '--autounmask-use y' is still not enough.

2. I just discovered in emerge manual:
If --binpkg-respect-use is given explicitly, then it implies --autounmask-use=n, because these options naturally oppose eachother.

After I added '--binpkg-respect-use n' to emerge arguments, use autounmask started to work (at the time of discovery, it was unconditional use dependency).
Comment 3 Nikita Zlobin 2022-11-20 16:56:46 UTC
Conditional use dependencies still exhibit described counterproductive behavior, example with wine-vanilla (wants -abi_x86_32 since some use dependencies for this flag are not satisfied).
Comment 4 Nikita Zlobin 2022-11-20 17:03:30 UTC
Err, this time I stupidly forgot to add '--binpkg-respect-use n'.
In short - it works.

I assume it's fine if I just close this bug, since noone ever reacted to it.
(perhaps they have no time for such nonsense).