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.

Reply via email to