When using dash as a "sh", instead of bash, emerging ieee80211-1.1.6 doesn't work due to a syntax miss interpretation of this code block in ieee80211-1.1.6 Makefile: check_old: @. remove-old $(KSRC) || \ (echo -e \ "\n Old ieee80211 references found. In order to build the ieee80211\n"\ "subsystem, prior versions must first be removed. You can perform\n"\ "this task by running this makefile as root via:\n\n"\ "\t% sudo make check_old\n\n"\ "and answering Y to remove the file references.\n\n Aborting make.\n" && \ exit 1) *** Output of make outside the emerge *** lap ieee80211-1.1.6 # rm /bin/sh lap ieee80211-1.1.6 # ln -sf /bin/dash /bin/sh lap ieee80211-1.1.6 # make .: 1: remove-old: not found make: *** [check_old] Error 2 lap ieee80211-1.1.6 # lap ieee80211-1.1.6 # ls -l remove-old -rw-r--r-- 1 xxxx users 1509 Oct 21 18:29 remove-old lap ieee80211-1.1.6 # *** Output of emerge: *** # emerge -av ieee80211 These are the packages that I would merge, in order: Calculating dependencies ...done! [ebuild N ] net-wireless/ieee80211-1.1.6 -debug 0 kB Total size of downloads: 0 kB Do you want me to merge these packages? [Yes/No] Yes >>> emerge (1 of 1) net-wireless/ieee80211-1.1.6 to / >>> md5 files ;-) ieee80211-1.0.3.ebuild >>> md5 files ;-) ieee80211-1.0.3-r1.ebuild >>> md5 files ;-) ieee80211-1.1.6.ebuild >>> md5 files ;-) ieee80211-1.0.2.ebuild >>> md5 files ;-) ieee80211-1.1.5.ebuild >>> md5 files ;-) ieee80211-1.0.3-r2.ebuild >>> md5 files ;-) ieee80211-1.1.5-r1.ebuild >>> md5 files ;-) ieee80211-1.0.1.ebuild >>> md5 files ;-) files/ieee80211-1.0.3-broadcast.patch >>> md5 files ;-) files/ieee80211-1.1.5-broadcast.patch >>> md5 files ;-) files/digest-ieee80211-1.0.1 >>> md5 files ;-) files/digest-ieee80211-1.0.2 >>> md5 files ;-) files/digest-ieee80211-1.0.3 >>> md5 files ;-) files/digest-ieee80211-1.1.5 >>> md5 files ;-) files/digest-ieee80211-1.1.6 >>> md5 files ;-) files/ieee80211-1.1.5-we18.patch >>> md5 files ;-) files/remove-old >>> md5 files ;-) files/digest-ieee80211-1.0.3-r1 >>> md5 files ;-) files/digest-ieee80211-1.0.3-r2 >>> md5 files ;-) files/digest-ieee80211-1.1.5-r1 >>> md5 files ;-) files/ieee80211-1.0.3-keep_restricted_bit.patch >>> md5 files ;-) files/ieee80211-1.0.3-open_frag.patch >>> md5 src_uri ;-) ieee80211-1.1.6.tgz * Determining the location of the kernel source code * Found kernel source directory: * /usr/src/linux * Found sources for kernel version: * 2.6.14-gentoo-r4 * Checking for suitable kernel configuration options: >>> Unpacking source... >>> Unpacking ieee80211-1.1.6.tgz to /var/tmp/portage/ieee80211-1.1.6/work >>> Source unpacked. * Preparing ieee80211 module .: 1: remove-old: not found make: *** [check_old] Error 2 !!! ERROR: net-wireless/ieee80211-1.1.6 failed. !!! Function linux-mod_src_compile, Line 505, Exitcode 2 !!! Unable to make KSRC=/usr/src/linux KSRC_OUTPUT=/usr/src/linux all. !!! If you need support, post the topmost build error, NOT this status message. # Workaround: Reverting to bash fixes the problem. Looking at remove-old code we can see it forcing the use of: #!/bin/bash -x. So maybe the ebuild could force the use of /bin/bash, during make, instead of relying in /bin/sh. Didn't check if this issue occurs with other shells cause I only use bash & dash.
I've fixed this in net-wireless/ieee80211-1.1.7_pre2 which is available from my overlay at http://dev.gentoo.org/~brix/files/overlay/ I'm currently waiting for upstream to accept my patch.
Upstream bug report: http://www.bughost.org/bugzilla/show_bug.cgi?id=872
Upstream has accepted my patch. This will be fixed in the next release.
Fixed in net-wireless/ieee80211-1.1.7, thank you for reporting this.