On 07.08.2015 16:20, William Blevins wrote:
Would it be wise to try something like changing that line to a build with 
"--explain", so we might be able to figure out why SCons
thinks its out of date?


Here's a failing output, with the "--debug=explain" option given as additional 
argument:

dirk@ubuntu:~/workspace/scons_commit$ python runtest.py 
test/packaging/rpm/cleanup.py
1/1 (100.00%) /usr/bin/python -tt test/packaging/rpm/cleanup.py
STDOUT =========================================================================
1,7c1,10
< scons\:\ Reading\ SConscript\ files\ \.\.\.\
< scons\:\ done\ reading\ SConscript\ files\.\
< scons\:\ Building\ targets\ \.\.\.\
< scons\:\ \`\-\-debug\=explain\'\ is\ up\ to\ date\.\
< scons\:\ \`\.\'\ is\ up\ to\ date\.\
< scons\:\ done\ building\ targets\.\
< .*
---
> scons: Reading SConscript files ...
> scons: done reading SConscript files.
> scons: Building targets ...
> scons: rebuilding `foo-1.2.3.tar.gz' because the dependency order changed:
>                old: ['foo-1.2.3/src/main.c', 'foo-1.2.3/SConstruct', 
'foo-1.2.3/foo-1.2.3.spec', '/bin/tar']
>                new: ['foo-1.2.3/SConstruct', 'foo-1.2.3/src/main.c', 
'foo-1.2.3/foo-1.2.3.spec', '/bin/tar']
> tar -zc -f foo-1.2.3.tar.gz foo-1.2.3/SConstruct foo-1.2.3/src/main.c 
foo-1.2.3/foo-1.2.3.spec
> scons: rebuilding `foo-1.2.3-0.src.rpm' because `foo-1.2.3.tar.gz' changed
> TAR_OPTIONS=--wildcards LC_ALL=C rpmbuild -ta --buildroot /tmp/testcmd.4395.9as0US/rpm_build_root /tmp/testcmd.4395.9as0US/foo-1.2.3.tar.gz
> scons: done building targets.
FAILED test of /home/dirk/workspace/scons_commit/src/script/scons.py
        at line 605 of /home/dirk/workspace/scons_commit/QMTest/TestCommon.py 
(_complete)
        from line 701 of /home/dirk/workspace/scons_commit/QMTest/TestCommon.py 
(run)
        from line 390 of /home/dirk/workspace/scons_commit/QMTest/TestSCons.py 
(run)
        from line 427 of /home/dirk/workspace/scons_commit/QMTest/TestSCons.py 
(up_to_date)
        from line 88 of test/packaging/rpm/cleanup.py
dirk@ubuntu:~/workspace/scons_commit$


Looks like the order changed in which the children are detected. This usually happens with files that get generated by Builders, but here the SConstruct and main.c are written by the test harness...so they exist right from the start. Could it be that the created *.tar.gz and *.rpm files play a role here? If one of them isn't completely written to disk when the "update" run is started, this could make a difference perhaps (I'm grasping at straws here).

Dirk

_______________________________________________
Scons-dev mailing list
Scons-dev@scons.org
https://pairlist2.pair.net/mailman/listinfo/scons-dev

Reply via email to