bug-make
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Bug#89310: make: a command with tilde expansion is incorrectly directly


From: Manoj Srivastava
Subject: Bug#89310: make: a command with tilde expansion is incorrectly directly executed
Date: 15 Apr 2001 21:40:11 -0500
User-agent: Gnus/5.090003 (Oort Gnus v0.03) Emacs/21.0.102

Hi,

        [Please retain a CC to address@hidden
         so that the Debian Bug Tracking system can record your input]

        The following report was submitted by a Debian user. 

        manoj

======================================================================
Commands are supposed to be executed by make by submitting them to
the shell.

In the quest for efficiency, make thinks that it can determine
when to bypass submission to the shell, and directly, via
fork/exec, execute some commands.

In the following typescript, it can be seen that a simple command
that uses tilde expansion is not submitted to the shell for
execution, but is instead incorrectly executed directly by make.

Here is the key to the typescript,

    !116 - just print the makefile fragment that is incorrectly executed.
    !117 - make incorrectly executes the fragment in !116.
    !118 - correct execution of the same command by the shell.
    !119 - now print a similar command with a slight change.
    !120 - make now correctly executes the fragment in !119.
    !121 - now both make and the shell get identical results,
           because make submitted the changed command in !119 to
           the shell.

    116 jeff ~ $ printf 'trgt:\n\techo ~\n'
    trgt:
            echo ~

    117 jeff ~ $ printf 'trgt:\n\techo ~\n' | make -f /dev/stdin
    echo ~
    ~

    118 jeff ~ $ echo ~
    /home/jeff

    119 jeff ~ $ printf 'trgt:\n\t: ;echo ~\n' 
    trgt:
            : ;echo ~

    120 jeff ~ $ printf 'trgt:\n\t: ;echo ~\n' | make -f /dev/stdin
    : ;echo ~
    /home/jeff

    121 jeff ~ $ : ;echo ~
    /home/jeff

It is interesting to note that this problem also occurs even when
the command to be executed is the argument to the make `shell'
function.
======================================================================
-- 
 Don't go to bed with no price on your head. Baretta
Manoj Srivastava   <address@hidden>  <http://www.debian.org/%7Esrivasta/>
1024R/C7261095 print CB D9 F4 12 68 07 E4 05  CC 2D 27 12 1D F5 E8 6E
1024D/BF24424C print 4966 F272 D093 B493 410B  924B 21BA DABB BF24 424C



reply via email to

[Prev in Thread] Current Thread [Next in Thread]