-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 So, with the recent bash vs. ash thread on the main list, I now have a couple of packaging questions.
Correct me if I'm wrong, but my understanding is that it is currently fruitless to use a postinstall script to copy bash to /bin/sh. Even if I write it as a .bat instead of a .sh, the current setup.exe runs any other postinstall script that comes alphabetically before bash first, and they would fail because there is not yet a working /bin/sh (and there are similar problems with a preremove script removing /bin/sh if other scripts depend on it). On the other hand, it could be useful to have a postinstall script that copies or links bash to sh only if it first determines that the user hasn't customized some other shell (ash, zsh, ...) to be their default sh. Should I wait for a patched setup.exe that either runs /bin/bash rather than /bin/sh (to guarantee that the postinstall .sh scripts are run with the same shell, rather than the user's choice of sh), or that can ensure that postinstall scripts are run in dependency order rather than alphabetical order? Or should I just give up and make the bash package always include /bin/sh, which makes it harder to customize /bin/sh to some other shell without losing that customization when upgrading bash? Is it worth packaging bash-3.0-3.tar.bz2 with usr/bin/sh.exe as a hardlink to bash, to save space on NT machines while Win98 machines will just copy the file? Or does this not work with setup.exe? One other issue is that unless ash is updated simultaneously with bash, I see potential problems with users losing /bin/sh altogether: bash-3.0-3 overwrites /bin/sh with bash, then uninstalling ash (or upgrading to a new ash that no longer has /bin/sh) will delete /bin/sh because the old version had it, without realizing that it is not ash that is getting deleted. So we definitely need a new ash package, and it is now a question of whether it should bundle a shell as /bin/ash or just be empty (as an end-of-life for ash as maintained by cygwin). Furthermore, all other packages that depend on ash because they use /bin/sh will need to update their dependencies to be on bash. Fortunately, ash comes before bash in the alphabet, so a simultaneous upgrade to a new ash and bash should still end up with a working /bin/sh. One final note - I would really like bash-3.0-3 to depend on libreadline6, but I still need Charles Wilson to fold in my readline patches posted here: http://cygwin.com/ml/cygwin-apps/2005-05/msg00307.html - -- Life is short - so eat dessert first! Eric Blake [EMAIL PROTECTED] -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.0 (Cygwin) Comment: Public key at home.comcast.net/~ericblake/eblake.gpg Comment: Using GnuPG with Thunderbird - http://enigmail.mozdev.org iD8DBQFCuWVF84KuGfSFAYARAsnfAKC2tVLY3LqqDrOazsGz0Uz+Ylb2xgCeO5hD FuWALn+AfZTQ7+1LlvuOGa8= =RhEl -----END PGP SIGNATURE-----
