Summary: | toolchain.eclass mishandles gcc-config errors | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | mike <mike> |
Component: | Eclasses | Assignee: | Gentoo Toolchain Maintainers <toolchain> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | base-system, nikoli, pageexec, vivo75 |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | 548158 | ||
Bug Blocks: | 504118 | ||
Attachments: | toolchain.eclass patch |
Description
mike@marineau.org
2015-04-28 05:43:55 UTC
After pondering this a bit longer I suspected that yet another oddity is playing a role here. The behavior reported here is on a system without openrc installed and thus /etc/init.d/functions.sh is provided by a substitute implementation and gcc-config-1.7.3 predates the switch to /lib/gentoo/functions.sh. On a system with openrc errors reported by gcc-config do get properly sent to stderr instead of stdout. So on my end I should be able to fix this particular issue by adjusting the behavior of functions.sh but being a bit more careful and quoting gcc-config's output and checking exit code wouldn't hurt. :) For reference the functions.sh implementation at issue here is https://github.com/marcusatbang/efunctions and it appears that the original baselayout-1 implementations also used stdout, not stderr. https://sources.gentoo.org/cgi-bin/viewvc.cgi/baselayout/branches/baselayout-1_13/sbin/functions.sh?revision=2546&view=markup#l291 Filed a bug with efuctions: https://github.com/marcusatbang/efunctions/issues/9 Looks like gentoo-functions returns to the older baselayout-1 behavior of logging all levels to stdout so this *will* be a problem for newer versions of gcc-config https://github.com/gentoo/gentoo-functions/blob/master/functions.sh#L190 Added a FYI note to the bug for converting gcc-config to gentoo-functions since this bug will impact the newer gcc-config. https://bugs.gentoo.org/show_bug.cgi?id=504118#c12 That explains a bizarre error I got a couple days ago. Masked for now. +# Ryan Hill <rhill@gentoo.org> (28 Apr 2015) +# Moving to /lib/gentoo/functions.sh broke the eclass +# by changing output it relies on. See bug #504118, +# 547586, and 547962. +>=sys-devel/gcc-config-1.8-r1 Now that gentoo-functions has been fixed do we still need to do anything here? (In reply to Ryan Hill from comment #5) no, toolchain.eclass is working correctly |