[pacman-dev] [arch-dev-public] [signoff] dash 0.5.6-1

Allan McRae allan at archlinux.org
Fri May 28 18:20:02 EDT 2010

On 28/05/10 21:09, Nezmer wrote:
> On Fri, May 28, 2010 at 11:17:49AM +0200, Xavier Chantry wrote:
>> On Fri, May 28, 2010 at 10:57 AM, Pierre Schmitz<pierre at archlinux.de>  wrote:
>>> I would say make sure that core packages are fine with /bin/sh being dash
>>> and then move it to testing. This should speed up things. For the install
>>> scripts: why can't pacman just call /bin/bash? I mean makpekg and the
>>> PKGBUILDS need bash anyway.
>> I think that the two pending patches from Jonathan Conder on my branch
>> http://code.toofishes.net/cgit/xavier/pacman.git/log/?h=working
>> would make this cleaner and easier to do.
>> 1) switch from popen to execl : popen implicitely calls /bin/sh, so
>> when we had /bin/sh=dash and wants bash, it would call /bin/dash then
>> /bin/bash. But execl gives us more control.
>> 2) ldconfig is now called directly so if we do the change /bin/sh ->
>> /bin/bash, it only affects scriptlet executions.
>> But I am pretty sure we talked about this before, maybe there was a
>> bug report, and some people suggested to make the shell path
>> configurable.
>> Thinking about it now, I would be fine with just calling /bin/bash
>> directly. If we consider pacman project as a whole, it's pretty much
>> tied to bash anyway.
> +1 from someone who is using pacman in a FreeBSD environment. Where
> "/bin/sh" is linked to neither bash nor dash.
> bash is used in both makepkg and repo-add. It's not a platform-dependent
> terrible dependency. And for recovery purposes, It can optionally be built
> statically. The static option is actually supported as a configure flag.

People who use pacman do not necessarily use makepkg or repo-add so 
using that as a basis for hard coding /bin/bash is wrong.

Dan and I have discussed allowing a #! at the top of install scripts.  I 
think he had some very draft code that even allowed python scriptlets!


More information about the pacman-dev mailing list