Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 642712 - CROSSCOMPILE_OPTS is one-flag USE_EXPAND
Summary: CROSSCOMPILE_OPTS is one-flag USE_EXPAND
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Profiles (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2017-12-30 09:12 UTC by Michał Górny
Modified: 2018-01-07 19:41 UTC (History)
4 users (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 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-12-30 09:12:42 UTC
CROSSCOMPILE_OPTS is USE_EXPAND with only one flag used: headers-only. It seems to date back to 2006 and is used by the following packages/eclasses:

ev-embedded/avr-libc
dev-libs/cygwin
dev-util/mingw64-runtime
dev-util/mingw-runtime
dev-util/w32api
eclass/kernel-2.eclass
eclass/toolchain.eclass
eclass/toolchain-glibc.eclass
sys-freebsd/freebsd-lib
sys-libs/glibc
sys-libs/musl
sys-libs/newlib
sys-libs/uclibc
sys-libs/uclibc-ng

Could we please drop the USE_EXPAND and make this a single regular flag instead?
Comment 1 Sergei Trofimovich (RETIRED) gentoo-dev 2017-12-30 10:56:58 UTC
(In reply to Michał Górny from comment #0)
> Could we please drop the USE_EXPAND and make this a single regular flag
> instead?

Sure, we can gradually migrate to normal USE=headers-only. Why it's a problem to have it in USE_EXPAND?
Comment 2 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-12-30 10:59:33 UTC
It's noise with a lot of overhead.
Comment 3 Sergei Trofimovich (RETIRED) gentoo-dev 2017-12-30 11:14:25 UTC
(In reply to Michał Górny from comment #2)
> It's noise with a lot of overhead.

Please be more specific. Ideally with a link to QA policy.
Comment 4 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2017-12-30 11:59:29 UTC
It's called common sense. USE_EXPAND is for grouping flags. There's no point in grouping one flag. It just adds letters to the flag name for no purpose.

I have better things to do than to fill three forms out and get seven stamps for every small change.
Comment 5 Sergei Trofimovich (RETIRED) gentoo-dev 2017-12-30 12:39:12 UTC
(In reply to Michał Górny from comment #4)
> It's called common sense. USE_EXPAND is for grouping flags. There's no point
> in grouping one flag. It just adds letters to the flag name for no purpose.

So it's just cognitive overhead then.

Once we tweak and stabilize crossdev to understand new USE flag we can migrate ebuilds off CROSSCOMPILE_OPTS.

I'll try to update crossdev today.

> I have better things to do than to fill three forms out and get seven stamps
> for every small change.

Sad. Writing 3 sentences of rationale in a more discoverable place should not be that hard.
Comment 6 Larry the Git Cow gentoo-dev 2017-12-30 17:41:20 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/proj/crossdev.git/commit/?id=599c41fb4d25d18cd6571cb2a6c793906682c259

commit 599c41fb4d25d18cd6571cb2a6c793906682c259
Author:     Sergei Trofimovich <slyfox@gentoo.org>
AuthorDate: 2017-12-30 17:37:00 +0000
Commit:     Sergei Trofimovich <slyfox@gentoo.org>
CommitDate: 2017-12-30 17:37:00 +0000

    crossdev: prepare for CROSSCOMPILE_OPTS=headers-only -> USE=headers-only transition
    
    Crossdev will provide both
        CROSSCOMPILE_OPTS=headers-only USE=headers-only
    to early toolchain bootstrap stage while ::gentoo
    is not completely migrated off CROSSCOMPILE_OPTS=headers-only
    
    The longer-term plan is to get rid of 'CROSSCOMPILE_OPTS=' completely.
    
    Reported-by: Michał Górny
    Bug: https://bugs.gentoo.org/642712
    Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>

 crossdev | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)}
Comment 7 Larry the Git Cow gentoo-dev 2017-12-30 17:59:24 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=390435ad20e62c5fa0fc8a3b9a09f0f0ddcdf58c

commit 390435ad20e62c5fa0fc8a3b9a09f0f0ddcdf58c
Author:     Sergei Trofimovich <slyfox@gentoo.org>
AuthorDate: 2017-12-30 17:57:04 +0000
Commit:     Sergei Trofimovich <slyfox@gentoo.org>
CommitDate: 2017-12-30 17:59:15 +0000

    sys-devel/crossdev: bump up to 20171230
    
    A few user-facing changes:
    - CROSSCOMPILE_OPTS=headers-only -> USE=headers-only transition (bug #642712)
    - USE=sanitize and USE=vtv are enabled only for whitelisted targets (bug #618786)
    
    Closes: https://bugs.gentoo.org/618786
    Bug: https://bugs.gentoo.org/642712
    Package-Manager: Portage-2.3.19, Repoman-2.3.6

 sys-devel/crossdev/Manifest                 |  1 +
 sys-devel/crossdev/crossdev-20171230.ebuild | 35 +++++++++++++++++++++++++++++
 2 files changed, 36 insertions(+)}
Comment 8 Sergei Trofimovich (RETIRED) gentoo-dev 2017-12-30 18:52:27 UTC
Sent ::gentoo change for review: https://archives.gentoo.org/gentoo-dev/message/a07f969332eb2e318526ba90643ebf15
Comment 9 Larry the Git Cow gentoo-dev 2018-01-07 14:47:34 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=5c9a9454c0b868432042d9680015bfa81fb9f74e

commit 5c9a9454c0b868432042d9680015bfa81fb9f74e
Author:     Sergei Trofimovich <slyfox@gentoo.org>
AuthorDate: 2018-01-07 14:45:55 +0000
Commit:     Sergei Trofimovich <slyfox@gentoo.org>
CommitDate: 2018-01-07 14:47:28 +0000

    sys-devel/crossdev: stable 20171230 on all arches
    
    It's the first version of crossdev that supports USE=headers-only.
    
    Bug: https://bugs.gentoo.org/642712
    Package-Manager: Portage-2.3.19, Repoman-2.3.6

 sys-devel/crossdev/crossdev-20171230.ebuild | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)}
Comment 10 Sergei Trofimovich (RETIRED) gentoo-dev 2018-01-07 19:41:49 UTC
Pushed as:

8dd32dc8bd8 profiles: drop CROSSCOMPILE_OPTS USE_EXPAND, bug #642712
e1172c04556 toolchain.eclass: Migrate CROSSCOMPILE_OPTS=headers-only -> USE=headers-only
60b276fb7c3 toolchain-glibc.eclass: Migrate CROSSCOMPILE_OPTS=headers-only -> USE=headers-only
ce86854ff88 kernel-2.eclass: Migrate CROSSCOMPILE_OPTS=headers-only -> USE=headers-only
98965f4b376 dev-embedded/avr-libc: Migrate CROSSCOMPILE_OPTS=headers-only -> USE=headers-only
e18277296d7 dev-libs/cygwin: Migrate CROSSCOMPILE_OPTS=headers-only -> USE=headers-only
d4ea3345c87 dev-util/mingw-runtime: Migrate CROSSCOMPILE_OPTS=headers-only -> USE=headers-only
67ec9ae5fc7 dev-util/mingw64-runtime: Migrate CROSSCOMPILE_OPTS=headers-only -> USE=headers-only
84524c10349 dev-util/w32api: Migrate CROSSCOMPILE_OPTS=headers-only -> USE=headers-only
11ad885f29c sys-freebsd/freebsd-lib: Migrate CROSSCOMPILE_OPTS=headers-only -> USE=headers-only
91a02442c5a sys-libs/glibc: Migrate CROSSCOMPILE_OPTS=headers-only -> USE=headers-only
d0bf3364d71 sys-libs/musl: Migrate CROSSCOMPILE_OPTS=headers-only -> USE=headers-only
7ebe9beefaf sys-libs/newlib: Migrate CROSSCOMPILE_OPTS=headers-only -> USE=headers-only
113d629bf4c sys-libs/uclibc: Migrate CROSSCOMPILE_OPTS=headers-only -> USE=headers-only
365914db135 sys-libs/uclibc-ng: Migrate CROSSCOMPILE_OPTS=headers-only -> USE=headers-only
7866e987215 profiles/use.desc: add new USE=headers-only global flag