| Summary: | Syntax error in rc-daemon.sh and init scripts (net.lo, ...) when using bash-3.1 | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Merlin <mp3_merlin> |
| Component: | [OLD] baselayout | Assignee: | Gentoo's Team for Core System packages <base-system> |
| Status: | RESOLVED DUPLICATE | ||
| Severity: | major | CC: | brebs, graham, sebastian |
| Priority: | High | ||
| Version: | unspecified | ||
| Hardware: | x86 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
Same errors in many, if not most init scripts. Agreed that bash 3.1 breaks it, and a downgrade to bash 3.0 fixes it. It isn't fun when an update makes your system nearly unbootable, why did bash-3.1 change the syntax in such a broken way? It sounds like bash-3.1 should be hard-masked, since it breaks baselayout. This is discussed at http://forums.gentoo.org/viewtopic-t-411479.html |
When using bash-3.1, the init scripts report a syntax error at line 328 of /lib/rcscripts/sh/rc-daemon.sh : syntax error near unexpected token '('. The same error appear in /etc/init.d/net.lo. Reverting to bash-3.0-r14 solves the problem Reproducible: Always Steps to Reproduce: 1. Emerging bash-3.1 2. /etc/init.d/net.lo restart Actual Results: /lib/rcscripts/sh/rc-daemon.sh : line 328: syntax error near unexpected token '(' /lib/rcscripts/sh/rc-daemon.sh : line 328: ` local -a RC_DAEMONS=() RC_PIDFILES=()' /etc/init.d/net.lo: line 286: syntax error near unexpected token '(' /etc/init.d/net.lo: line 286: `local -a provide=() provide_list=() after=() dead=() sorted=() sortedp=()' * ERROR: "/etc/init.d/net.lo" has syntax errors in it; aborting ... Expected Results: * Stopping lo * Bringing down lo * Shutting down lo [ok] * Starting lo * Bringing up lo * 127.0.0.1/8 [ok] * Adding routes * 127.0.0.0/8 [ok]