Thanks for the willingness to help, Freddie Chopin. I thought I had a pretty basic example -- turns I did not. You're right, it usually works correctly. My problem case seems to boil down to my trying to use `bundler` in my recipe.
The simplest example would be: : input |> PATH="..." GEM_HOME="..." GEM_PATH="..." bundle exec ruby -pe "$_.upcase!" < input > output |> output (upcases the input file) This doesn't get rebuild if I just run `tup` after it got built, but if I do `touch tup` or even `./noop.rb Tupfile; tup` where noop.rb is: #!/usr/bin/env ruby # -*- coding: utf-8 -*- fn = ARGV.first #read and store times f = File.open(fn,'r'); atime,mtime = f.atime,f.mtime; f.close #open for writing and close f = File.open(fn,'r+'); f.close #restore times File.utime(atime, mtime, fn) the the task will get rebuilt. (running tup; tup; tup ... afterwards is then a no-op as long as the file doesn't get accessed in at least the way ./noop.rb Tupfile accesses it) The problem seems to be caused by `bundler`. Bundler is something I can't avoid in my real-world scenario. The recipe needs those environment variables from the above example (actual values are, I think, pointless to post, not to mention super long -- which is not really that much of a hassle because I'm generating the actual Tupfile programmatically). Regards, Petr S. On Friday, February 6, 2015 at 10:29:11 PM UTC+1, Petr Skočík wrote: > > Hi, > How can I do this please? > I'd like to be able to add new rules or remove old ones, and I don't want > this to mark every other target as outdated. > I tried resetting the timestamp to its original value as it was before I > opened the Tupfile for writing, but even so rebuilding gets triggered for > all targets (even if I just open it for writing, close it, and restore the > original atime and mtime). > > > -- -- tup-users mailing list email: [email protected] unsubscribe: [email protected] options: http://groups.google.com/group/tup-users?hl=en --- You received this message because you are subscribed to the Google Groups "tup-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
