Package: ipw3945-source
Version: 1.1.2-6
Severity: normal
Tags: patch
There are a few bashisms in the Makefile relating to array
construction using () and usage of the bash-specific [[ ]] test, but
SHELL is not set to /bin/bash. I noticed that most of the scripts use
bash explicitly, so to match the solution might be to just set SHELL =
/bin/bash in the Makefile. However, out of hope for avoiding this
requirement I have attached a patch that just replaces the bashisms.
(It also fixes a non-bash related bug on line 232 where if no .c or .h
files exist clean will fail)
I hope you find it useful,
Kevin
-- System Information:
Debian Release: 4.0
APT prefers testing
APT policy: (990, 'testing'), (500, 'unstable')
Architecture: i386 (i686)
Shell: /bin/sh linked to /bin/dash
Kernel: Linux 2.6.18.20061008a
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8)
Versions of packages ipw3945-source depends on:
ii bzip2 1.0.3-6 high-quality block-sorting file co
ii debhelper 5.0.42 helper programs for debian/rules
ii dpatch 2.0.21 patch maintenance system for Debia
ii make 3.81-2 The GNU version of the "make" util
ii module-assistant 0.10.8 tool to make module package creati
ipw3945-source recommends no packages.
-- no debconf information
--- Makefile 2006-12-09 13:46:35.000000000 -0500
+++ Makefile 2006-12-09 13:50:50.000000000 -0500
@@ -70,8 +70,8 @@
$(IEEE80211_INC))
endif
-IEEE80211_BASE := $(shell var=($(IEEE80211_RES)) ; echo $${var[1]})
-IEEE80211_PATH := $(shell var=($(IEEE80211_RES)) ; echo $${var[0]})
+IEEE80211_BASE := $(word 2, $(IEEE80211_RES))
+IEEE80211_PATH := $(word 1, $(IEEE80211_RES))
# If the ieee80211 subsystem is not found in the default kernel
# build location then we need to add the include path and
@@ -90,9 +90,10 @@
IEEE80211_API := $(shell sed -ne
"s:\#define.*IEEE80211_API_VERSION[^0-9]*\([0-9]*\).*:\1:p"
$(IEEE80211_PATH)net/ieee80211.h)
ifeq ($(IEEE80211_API),)
- IEEE80211_API := $(shell [[ "$(IEEE80211_VER)" == 1.1.14* ||
"$(IEEE80211_VER)" == git-1.1.1[3-9]* ]] && \
- { echo "2" ; } || \
- { ver=$(IEEE80211_VER); ver=$${ver\#*.} ; echo $${ver%.*} ; })
+ IEEE80211_API := $(shell ver="$(IEEE80211_VER)"; \
+ if [ -z "$${ver\#\#1.1.14*}" ] || [ -z
"$${ver\#\#git-1.1.1[3-9]*}" ] ; then \
+ echo "2" ; else \
+ ver=$${ver\#*.} ; echo $${ver%.*} ; fi)
EXTRA_CFLAGS += -DIEEE80211_API_VERSION=$(IEEE80211_API)
endif
@@ -230,7 +231,9 @@
rm -f *.{mod.c,mod,o,ko,rej,orig} .*.{stamp,flags,cmd} .lst *.lst *~
rm -rf $(DIR)/tmp $(DIR)/.tmp_versions
for file in *.{c,h}; do \
- sed -i -e "s:\ *$$::g" -e "s:\t*$$::g" $$file; \
+ if [ -f "$$file" ] ; then \
+ sed -i -e "s:\ *$$::g" -e "s:\t*$$::g" "$$file"; \
+ fi \
done
distclean: clean