[pacman-dev] configurable shell for install scripts
allan at archlinux.org
Sun Mar 28 13:44:28 CEST 2010
I thought I'd run this past people on this list before I spent the two
weeks that this would take me to figure out how to implement it!
This is motivated by experience packaging for Arch. Install scriptlets
are written assuming /bin/sh is bash, which is true on a default
system. But some people want to change their /bin/sh to (e.g.) dash.
As pacman uses the default shell (as given by /bin/sh) to run install
scriptlets, pointing /bin/sh at dash may cause failures when bash
specific features are used.
So I thought, why not manually specify the shell for install scriptlets
in pacman.conf. Something like "INSTALL_SHELL=/bin/sh" by default.
Then _alpm_runscriptlet would call something like "<shell> -c ".
<scriptlet path> && <function>" (which works for bash, dash, zsh, pdksh).
More information about the pacman-dev