[Scons-users] Fwd: Bug#981584: scons: MD5-timestamp decider does no longer follow symlinks
Bill Deegan
bill at baddogconsulting.com
Mon Feb 1 13:45:45 EST 2021
Forwarded from Debian bug report.
---------- Forwarded message ---------
From: Robert Luberda <robert at debian.org>
Date: Mon, Feb 1, 2021 at 10:39 AM
Subject: Bug#981584: scons: MD5-timestamp decider does no longer follow
symlinks
To: Debian Bug Tracking System <submit at bugs.debian.org>
Package: scons
Version: 4.0.1+dfsg-2
Severity: normal
Tags: upstream
Hi,
I'm attaching a simple test project that:
- contains hello2.c file that is symbolic link to hello.c file;
- and sets 'MD5-timestamp' as the decider function.
Previously (what I'm proving at the bottom of this mail) scons used
to build hello2 when hello.c was changed. In the current version of
scons only hello gets rebuilt.
# Initial compilation with scons 4:
robert at vox:/tmp/proj$ scons --debug=explain
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
scons: building `hello.o' because it doesn't exist
gcc -o hello.o -c hello.c
scons: building `hello' because it doesn't exist
gcc -o hello hello.o
scons: building `hello2.o' because it doesn't exist
gcc -o hello2.o -c hello2.c
scons: building `hello2' because it doesn't exist
gcc -o hello2 hello2.o
scons: done building targets.
# The following command changes both hello.c and hello2.c...
robert at vox:/tmp/proj$ sed -i -e 's/word/WoRd/i' hello.c
# ... but hello2.c is not rebuilt:
robert at vox:/tmp/proj$ scons --debug=explain
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
scons: rebuilding `hello.o' because:
`hello.c' changed
`/usr/bin/gcc' changed
gcc -o hello.o -c hello.c
scons: rebuilding `hello' because:
`hello.o' changed
`/usr/bin/gcc' changed
gcc -o hello hello.o
scons: done building targets.
robert at vox:/tmp/proj$ scons -v
SCons by Steven Knight et al.:
SCons: v4.0.1.c289977f8b34786ab6c334311e232886da7e8df1, 2020-07-17
01:50:03, by bdbaddog on ProDog2020
SCons path: ['/usr/lib/python3/dist-packages/SCons']
Copyright (c) 2001 - 2020 The SCons Foundation
After downgrading scons to 3.1.2+dfsg-0.1, it works as I would expect:
# Initial compilation with scons 3:
robert at vox:/tmp/proj$ scons --debug=explain
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
scons: building `hello.o' because it doesn't exist
gcc -o hello.o -c hello.c
scons: building `hello' because it doesn't exist
gcc -o hello hello.o
scons: building `hello2.o' because it doesn't exist
gcc -o hello2.o -c hello2.c
scons: building `hello2' because it doesn't exist
gcc -o hello2 hello2.o
scons: done building targets.
# Still both files are changed by the following command:
robert at vox:/tmp/proj$ sed -i -e 's/word/WORd/i' hello.c
# ... and both are rebuilt:
robert at vox:/tmp/proj$ scons --debug=explain
scons: Reading SConscript files ...
scons: done reading SConscript files.
scons: Building targets ...
scons: rebuilding `hello.o' because:
`hello.c' changed
`/usr/bin/gcc' changed
gcc -o hello.o -c hello.c
scons: rebuilding `hello' because:
`hello.o' changed
`/usr/bin/gcc' changed
gcc -o hello hello.o
scons: rebuilding `hello2.o' because:
`hello2.c' changed
`/usr/bin/gcc' changed
gcc -o hello2.o -c hello2.c
scons: rebuilding `hello2' because:
`hello2.o' changed
`/usr/bin/gcc' changed
gcc -o hello2 hello2.o
scons: done building targets.
robert at vox:/tmp/proj$ scons -v
SCons by Steven Knight et al.:
script: v3.1.2.bee7caf9defd6e108fc2998a2520ddb36a967691, 2019-12-17
02:07:09, by bdeegan on octodog
engine: v3.1.2.bee7caf9defd6e108fc2998a2520ddb36a967691, 2019-12-17
02:07:09, by bdeegan on octodog
engine path: ['/usr/lib/scons/SCons']
Copyright (c) 2001 - 2019 The SCons Foundation
Regards,
robert
-- System Information:
Debian Release: bullseye/sid
APT prefers unstable-debug
APT policy: (990, 'unstable-debug'), (990, 'unstable'), (990, 'testing'),
(990, 'stable'), (500, 'stable-updates'), (500, 'unstable'), (500, 'stable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Versions of packages scons depends on:
ii python3 3.9.1-1
ii python3-pkg-resources 51.3.3-1
scons recommends no packages.
scons suggests no packages.
-- no debconf information
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20210201/32b0d500/attachment.html>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: scons-test-project.tar.gz
Type: application/gzip
Size: 368 bytes
Desc: not available
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20210201/32b0d500/attachment.gz>
More information about the Scons-users
mailing list