changeset 822:656b9133db24 draft

See commit b422ead31b077041cb030064008c6cd26ba058d0 for more info. /NNNC/somerandomnick> Why did you change configure to require bash? /relayhell/d3v11> you didn't see the commit message? /NNNC/somerandomnick> /relayhell/d3v11: not yet /NNNC/somerandomnick> /relayhell/d3v11: I was just looking at the diff. /NNNC/somerandomnick> /relayhell/d3v11: slackware doesn't even have a dash package available, so I'm not sure how pika managed to get himself that error. /relayhell/d3v11> if you want to change it back, go for it. /NNNC/somerandomnick> /relayhell/d3v11: I'd rather not start an edit war with you. /relayhell/d3v11> LOL if you change it back i won't rechange it /relayhell/d3v11> i made an executive decision because it gives a bunch of people shit. /NNNC/somerandomnick> The problem is caused by distributions that give people a bunch of shit. /NNNC/somerandomnick> "a bunch of shit" == sh pointing to a deliberately stripped down dash /relayhell/d3v11> right /NNNC/somerandomnick> sh should point to a useful default shell for users. /relayhell/d3v11> should but it doesn't always /NNNC/somerandomnick> really only in systems with upstart /NNNC/somerandomnick> and bash can do everything dash can do, so it's always safe to fix the distribution /NNNC/somerandomnick> "fix the distribution" == ln -s bash /bin/sh /relayhell/d3v11> if you think the change is problematic, then i welcome you rechanging it. /NNNC/somerandomnick> The change is problematic because it breaks any system that doesn't have bash.
author Nick <nick@somerandomnick.ano>
date Tue, 13 Dec 2011 04:12:07 +0000
parents 8b12f44d3a37
children 8af3f6429824
files configure
diffstat 1 files changed, 11 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/configure	Sat Dec 10 22:33:20 2011 +0000
+++ b/configure	Tue Dec 13 04:12:07 2011 +0000
@@ -1,10 +1,20 @@
-#!/bin/bash
+#!/bin/sh
 
 vars="gitd_ip gitd_basepath git_name git_email tinydns_config tinydns__rootsrvrname tinydns__rootsrvrip tinydns__tldsrvrname tinydns__tldsrvrip tinydns__srvrip tinydns__srvrname"
 
 echo "Welcome to the resdb configurator!" >&2
 echo >&2
 
+if ! echo "$var=${!var}" >/dev/null 2>&1; then
+ echo "Your shell sucks.  If you're using a stupid OS like Ubuntu that doesn't" >&2
+ echo "give a damn about backwards compatibility, I'd suggest fixing your" >&2
+ echo "default shell, which you can do by typing \"ln -s bash /bin/sh\" at a" >&2
+ echo "root shell prompt." >&2
+ echo "If you have some ancient Unix system, I'd suggest installing bash." >&2
+ echo "If you have questions, you can always bother SRN :-)" >&2
+ exit 1
+fi
+
 for var in $vars ; do
  export "$var"="$(cat conf/$var 2>/dev/null)"
 done