On Nov 25, 2007 10:45 PM, Dan McGee <dan@archlinux.org> wrote:
On Nov 25, 2007 10:09 PM, Dan McGee <dan@archlinux.org> wrote:
To our bash maintainers- it would be cool if you could rebuild bash sometime with these changes, as adding the provides=('sh') line will really help me down the road when I am trying to make Arch a bit more shell-agnostic. I have another patch coming shortly (to the ML) that will make a lot of base packages depend on sh instead of bash when that is possible.
Of course, the rebuild can wait until the next patch level bump, but just know that these changes have been made.
And here is the patch I speak of. This is against the current CVS core HEAD checkout. I've went through each package that depends on bash, and tried to figure out whether the dependency could be switched to sh, should stay as bash, or be removed all together.
PLEASE give me feedback so I don't go blindly breaking things. I've posted my logic as well as a few other comments below. If you want to try things out, I have a statically built dash package (against klibc, so it is super light) here <http://www.archlinux.org/~dan/dash-changes/>. I would love to get this in the core repo if there are no objections. I would eventually like to have an Arch system that doesn't go to hell when the /bin/sh symlink is changed to dash, but I'm going to need help from other devs and users when doing this.
-Dan
automake -> sh autoconf -> sh gzip -> sh tar -> nothing? (no install) initscripts -> needs bash util-linux-ng -> nothing? (no install) coreutils -> nothing? (no install) man -> sh hwdetect -> needs fixing, #!/bin/sh line is a lie (see below) less -> nothing? (no install) grep -> nothing? (no install) tcp_wrappers -> nothing? (no install) filesystem -> sh? looks like only install script needs it findutils -> nothing? (no install) e2fsprogs -> nothing? (no install) perl -> sh? looks like only install script needs it pacman -> needs bash (makepkg) glibc -> sh? just install script gawk -> sh m4 -> nothing? (no install) flex -> sh make -> nothing? (no install) libtool -> sh capi4k-utils -> don't know, don't use it (can someone check?) wlan-ng26-utils -> don't know, don't use it (can someone check?)
$ hwdetect [: 57: ==: unexpected operator [: 58: ==: unexpected operator [: 59: ==: unexpected operator [: 70: ==: unexpected operator [: 126: ==: unexpected operator [: 166: ==: unexpected operator
This can be fixed by changing all occurances of "==" to a single "=", and the rm statement at the end must be expanded as {} expansion is a bash thing.
Speak up now or I'm going to make these changes in the next 2 days or so, and I will not listen to any bitching after the fact. Tpowa, let me know if you want to make the above changes to the hwdetect script, otherwise I will go ahead and do so. -Dan