[Dune] [#958] do not write random files to the user's home directory
Dune
flyspray at dune-project.org
Wed Oct 5 16:44:03 CEST 2011
THIS IS AN AUTOMATED MESSAGE, DO NOT REPLY.
The following task has a new comment added:
FS#958 - do not write random files to the user's home directory
User who did this - Jö Fahlke (joe)
----------
@Andreas Lauser: I still don't really see the difference. There a also lots of mainly non-interactive programs that do keep state.
If you want a build-system related example, take ccache. It wraps the compiler and caches the compiled programs. The only place where it can put its cache by default is the user's home. The only potential alternative that it reasonably expect to be writable would be /tmp (security considerations aside). But on many systems /tmp gets deleted on system reboot, or old files are removed after a few days. So /tmp is not a good place to keep the cached data files -- their loss may not be fatal, but it would make ccache kind of pointless.
While it may be theoretically nice and clean to consider a compiler or any other part of a build system a function with no side effects, it is too limiting in practice. Keeping state will allow the build system to save time. For instance by caching. Or by restarting from the last point instead of restarting from scratch (our famous resume feature). Or by remembering what the best optimization parameters were last time, and only validating them instead of redetermining them with no prior knowledge.
The main thing that I see that differentiates those programs that write into ~ and those who don't is whether they have a need to do so or not. Interactive and especially GUI programs tend to define "need" rather loosely, that's why they have so many dot-files in ~. (Also, the distinction between configuration and state isn't all that clear there.) Most of the nice things I've listed in the previous paragraph aren't implemented in today's build systems, so they generally have no need for state in ~. But to forbid them to do so in the future is an undue limitation of their development potential.
[No, I'm not going to claim legal rights for compilers. I'm just being totally selfish here as a programmer, and don't want to remove the possibility of a better compiler.]
----------
More information can be found at the following URL:
http://www.dune-project.org/flyspray/index.php?do=details&task_id=958#comment2757
You are receiving this message because you have requested it from the Flyspray bugtracking system. If you did not expect this message or don't want to receive mails in future, you can change your notification settings at the URL shown above.
More information about the Dune
mailing list