Thread (6 messages) flat view 6 messages, 4 authors, 2016-06-15

Re: [PATCH v2] instaweb: make it compatible with Mac OS X 10.5's apache installation.

From: Christian Couder <hidden>
Date: 2016-06-15 22:44:36

Le dimanche 11 mai 2008, nathan spindel a écrit :
On May 11, 2008, at 12:36 PM, nathan spindel wrote:
quoted
apache2_conf () {
-	test -z "$module_path" && module_path=/usr/lib/apache2/modules
+	# if there isn't an apache2 command on the system but there
+	# is a httpd command which looks like apache, use that instead
+	# for Mac OS X compatibility.
+	httpd_only="`echo $httpd | cut -f1 -d' '`"
+	if ! type $httpd_only > /dev/null 2>&1
+	then
+		found_apache_command=1
+		httpd_parent_paths="/usr/local/sbin /usr/sbin"
+		for i in $httpd_parent_paths; do
+			if test -x "$i/$httpd_only"
+			then
+				found_apache_command=0
+				break
+			fi
+		done
+
+		if test $found_apache_command != 0
+		then
+			alt_apache="httpd"
+			if type $alt_apache > /dev/null 2>&1
+			then
+				$alt_apache -v | grep Apache > /dev/null 2>&1
+				if test $? == 0
+				then
+					httpd=`echo "$httpd" | sed "s/apache2/httpd/"`
+				else
+					for i in $httpd_parent_paths; do
+						if test -x "$i/$alt_apache"
+						then
+							$i/$alt_apache -v | grep Apache > /dev/null 2>&1
+							if test $? == 0
+							then
+								httpd=`echo "$httpd" | sed "s/apache2/httpd/"`
+								break
+							fi
+						fi
+					done
+				fi
+			fi
+		fi
+	fi
I'd like to see a cleaner implementation of this logic, 
Maybe you can use a function like this not tested one:

check_cmd() {
	cmd="$1"

	if type "$cmd" > /dev/null 2>&1; then
		if "$cmd" -v | grep Apache > /dev/null 2>&1; then
			httpd=$(echo "$cmd" | sed "s/apache2/httpd/")
		fi
	fi
}

Regards,
Christian.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help