Your message dated Fri, 24 Feb 2006 17:02:09 -0800
with message-id <[EMAIL PROTECTED]>
and subject line Bug#107624: fixed in make 3.80+3.81.rc1-1
has caused the attached Bug report to be marked as done.

This means that you claim that the problem has been dealt with.
If this is not the case it is now your responsibility to reopen the
Bug report if necessary, and/or fix the problem forthwith.

(NB: If you are a system administrator and have no idea what I am
talking about this indicates a serious mail system misconfiguration
somewhere.  Please contact me immediately.)

Debian bug tracking system administrator
(administrator, Debian Bugs database)

--- Begin Message ---
Package: make
Version: 3.79.1-7
Severity: normal

Hi,

There seems to be a strange interaction with the "-W <file>"
option when it is used in conjunction with the VPATH feature of
make.

Firstly, here is an excerpt from the make info manual,

    `-W FILE'
    `--what-if=FILE'
    `--new-file=FILE'
    `--assume-new=FILE'

    Pretend that the target FILE has just been modified.  When
    used with the `-n' flag, this shows you what would happen if
    you were to modify that file.  Without `-n', it is almost the
    same as running a `touch' command on the given file before
    running `make', except that the modification time is changed
    only in the imagination of `make'.

Now, an annotated typescript that demonstrates the problem,

1. !139, 140, 141, 142 - here is the situation, "a" depends on
   "b", however, "b" only exists as "./b-dir/b", while "a" exists
   only in the directory from which make is being run.  As you can
   see, "a" is up to date.

    139 jeff /tmp $ echo .{,/b-dir}/{a,b}
    ./a ./b ./b-dir/a ./b-dir/b

    140 jeff /tmp $ ls -l .{,/b-dir}/{a,b}
    ls: ./b: No such file or directory
    ls: ./b-dir/a: No such file or directory
    -rw-rw-r--    1 jeff     root            0 Aug  3 14:29 ./a
    -rw-rw-r--    1 jeff     root            0 Aug  3 14:29 ./b-dir/b
    --> exit status 1

    141 jeff /tmp $ printf '%b' 'a: b\n\tcp $(<) $(@)\n'
    a: b
            cp $(<) $(@)

    142 jeff /tmp $ printf '%b' 'a: b\n\tcp $(<) $(@)\n' | make -f \
/dev/stdin  VPATH=b-dir
    make: `a' is up to date.

2. !143, 144, 145 - I maintain that make should behave identically
   at both !143 and !144-145, ie, at !143, "a" should have been
   re-made.

    143 jeff /tmp $ printf '%b' 'a: b\n\tcp $(<) $(@)\n' | make -f \
/dev/stdin  VPATH=b-dir -W ./b-dir/b
    make: `a' is up to date.

    144 jeff /tmp $ touch ./b-dir/b

    145 jeff /tmp $ printf '%b' 'a: b\n\tcp $(<) $(@)\n' | make -f \
/dev/stdin  VPATH=b-dir
    cp b-dir/b a

3. !146, 147, 148 - here make behaves correctly at !146 and !147,
   however, the behavior at !148 is problematic, IMO.  Since VPATH
   is in effect, make should pretend that the first "b" that it
   finds in the VPATH has just been modified, instead make ignores
   VPATH entirely, and considers "b", ie, "./b" as the
   prerequisite for "a".

   One could argue here that "-W b" means "-W ./b", thus make is
   behaving correctly at !148, however, such an interpretation
   makes it very difficult to use "-W <file>" along with VPATH and
   forces the user to know exactly where VPATH would have found
   <pathname-to-file> in order for her to specify it as "-W
   <pathname-to-file>".

    146 jeff /tmp $ printf '%b' 'a: b\n\tcp $(<) $(@)\n' | make -f \
/dev/stdin  VPATH=b-dir
    make: `a' is up to date.

    147 jeff /tmp $ printf '%b' 'a: b\n\tcp $(<) $(@)\n' | make -f \
/dev/stdin  VPATH=b-dir -W ./b
    cp b a
    cp: cannot stat `b': No such file or directory
    make: *** [a] Error 1
    --> exit status 2

    148 jeff /tmp $ printf '%b' 'a: b\n\tcp $(<) $(@)\n' | make -f \
/dev/stdin  VPATH=b-dir -W b
    cp b a
    cp: cannot stat `b': No such file or directory
    make: *** [a] Error 1
    --> exit status 2


Thanks,
-- 
Jeff Sheinberg  <[EMAIL PROTECTED]>


-- System Information
Debian Release: woody/testing
Kernel Version: Linux eden-hda7.my.local 2.2.19 #6 Mon Jul 9 18:53:08 EDT 2001 
i586 unknown

Versions of the packages make depends on:
ii  fileutils      4.1-2          GNU file management utilities.
ii  libc6          2.2.3-5        GNU C Library: Shared libraries and Timezone


--- End Message ---
--- Begin Message ---
Source: make
Source-Version: 3.80+3.81.rc1-1

We believe that the bug you reported is fixed in the latest version of
make, which is due to be installed in the Debian FTP archive:

make-doc_3.80+3.81.rc1-1_all.deb
  to pool/main/m/make/make-doc_3.80+3.81.rc1-1_all.deb
make_3.80+3.81.rc1-1.diff.gz
  to pool/main/m/make/make_3.80+3.81.rc1-1.diff.gz
make_3.80+3.81.rc1-1.dsc
  to pool/main/m/make/make_3.80+3.81.rc1-1.dsc
make_3.80+3.81.rc1-1_i386.deb
  to pool/main/m/make/make_3.80+3.81.rc1-1_i386.deb
make_3.80+3.81.rc1.orig.tar.gz
  to pool/main/m/make/make_3.80+3.81.rc1.orig.tar.gz



A summary of the changes between this version and the previous one is
attached.

Thank you for reporting the bug, which will now be closed.  If you
have further comments please address them to [EMAIL PROTECTED],
and the maintainer will reopen the bug report if appropriate.

Debian distribution maintenance software
pp.
Manoj Srivastava <[EMAIL PROTECTED]> (supplier of updated make package)

(This message was generated automatically at their request; if you
believe that there is a problem with it please contact the archive
administrators by mailing [EMAIL PROTECTED])


-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1

Format: 1.7
Date: Fri, 24 Feb 2006 16:56:54 -0600
Source: make
Binary: make-doc make
Architecture: source i386 all
Version: 3.80+3.81.rc1-1
Distribution: unstable
Urgency: low
Maintainer: Manoj Srivastava <[EMAIL PROTECTED]>
Changed-By: Manoj Srivastava <[EMAIL PROTECTED]>
Description: 
 make       - The GNU version of the "make" utility.
 make-doc   - Documentation for the GNU version of the "make" utility.
Closes: 107624 274840 335044
Changes: 
 make (3.80+3.81.rc1-1) unstable; urgency=low
 .
   * New upstream release
   * Bug fix: "make: the '-W <file>' option used with VPATH does not work
     correctly", thanks to Jeff Sheinberg                  (Closes: #107624).
   * Bug fix: "make shows incorrect line number in error report", thanks to
     Nikita V. Youshchenko                                 (Closes: #274840).
   * Bug fix: "make: [doc] Implicit Rules: C++", thanks to LI Daobing
                                                           (Closes: #335044).
Files: 
 aba3c14194fb77ca26f7bf15229346b3 676 devel standard make_3.80+3.81.rc1-1.dsc
 d9e1fd176b32da0edf5c43b6cca9f493 1558813 devel standard 
make_3.80+3.81.rc1.orig.tar.gz
 f96d048483bbcfed38f7ec052974a494 78910 devel standard 
make_3.80+3.81.rc1-1.diff.gz
 357fc7afd22699042a93cec6e1cb7b33 626030 doc optional 
make-doc_3.80+3.81.rc1-1_all.deb
 cdeed7677a5e8adc6f7a277f5aec65e5 527810 devel standard 
make_3.80+3.81.rc1-1_i386.deb

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iD8DBQFD/6bNIbrau78kQkwRAhTaAKCq5nA4HZ+GQPz7Sa/lh0LvQwHEvACgmZt8
coMxGtqPRzTbECnP0tTjuRw=
=9eAt
-----END PGP SIGNATURE-----


--- End Message ---

Reply via email to