I found it -- this might kind of be a `tup` bug too.
Basically, bundle tries to look for `gemspec` files in certain folders
recursively. The recursive search is done with `Dir['{,*,*/*}.gemspec']`
which triggers `open/openat` with
`O_RDONLY|O_NONBLOCK|O_DIRECTORY|O_CLOEXEC` calls for each file/directory.
Since the O_DIRECTORY flag causes these calls to immediate fail on
nodirectory entries, `tup` shouldn't register these open calls open calls
that set up a dependency.
On Saturday, February 7, 2015 at 10:40:20 AM UTC+1, Petr Skočík wrote:
>
> Seems like an issue with bundler. I figured out how to do the dot graphs,
> and it turns out adding `bundle exec` into the command adds a dependency on
> every other file in the directory.
> As a matter of fact doing `./noop.rb` on any of those files triggers a
> rebuild.
> I'll try to look into bundler to see where it tries to read each file in
> the directory.
>
> On Friday, February 6, 2015 at 10:43:03 PM UTC+1, Freddie Chopin wrote:
>>
>> On 02/06/2015 10:29 PM, 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).
>>
>> From what I know as long as you don't change* the rules for these
>> "every other targets" they should _NOT_ be rebuilt - tup will check what
>> changed and do only the necessary minimum of work that has to be done.
>>
>> If your experience is different, then there must be something wrong -
>> post a minimal example and we'll take a look.
>>
>> Regards,
>> FCh
>>
>> * "change" as an actual modification to the command, not just some
>> formatting, saving of Tupfiles or stuff like that - there has to be a
>> change that makes the command string different from what it was
>> previously
>>
>
--
--
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.