[pkg-cryptsetup-devel] Bug#597583:  Bug#597583: initramfs-tools
    Ian Jackson 
    ijackson at chiark.greenend.org.uk
       
    Fri May 20 10:30:20 UTC 2011
    
    
  
Thanks for your reply.
Jonas Meurer writes ("Re: [pkg-cryptsetup-devel] Bug#597583: initramfs-tools"):
> On 21/09/2010 Ian Jackson wrote:
> > This could be done by replacing this test
> >         if [ -n "$cryptkeyscript" ] && [ ! -x "$cryptkeyscript" ]; then
> > with something like
> > 	if ! type "$cryptkeyscript >/dev/null; then
> > with the added benefit of getting a slightly better error message too.
> 
> While I like your idea, it doesn't work. $cryptkeyscript might contain a
> whole commandline, with arguments and options as well. Actually the
> initramfs cryproot script even does it that way. See line 270 of the
> script:
> 
> cryptkeyscript="plymouth ask-for-password --prompt"
It's been a while since I looked at this, and I don't have the code in
front of me, but I'm puzzled, because if
  cryptkeyscript="plymouth ask-for-password --prompt"
then
  if [ -n "$cryptkeyscript" ] && [ ! -x "$cryptkeyscript" ]; then
would be true, just like my proposed test
  if ! type "$cryptkeyscript" >/dev/null; then
(err, with the syntax fixed...)
$ cryptkeyscript="plymouth ask-for-password --prompt"
$ if [ -n "$cryptkeyscript" ] && [ ! -x "$cryptkeyscript" ]; then echo
y; fi
y
$ if ! type "$cryptkeyscript" >/dev/null; then echo y; fi
bash: type: plymouth ask-for-password --prompt: not found
y
$
> That one clearly doesn't work with type, as type checks for all
> arguments, and errors out for the second and third one.
The same is true for test -x.
Ian.
    
    
More information about the pkg-cryptsetup-devel
mailing list