about summary refs log tree commit diff
path: root/src/libutil/util.hh
diff options
context:
space:
mode:
authorEelco Dolstra <eelco.dolstra@logicblox.com>2015-04-09T09·42+0200
committerEelco Dolstra <eelco.dolstra@logicblox.com>2015-04-09T09·42+0200
commit60340ce3e2f793caf1704997a4d7a5a066e9ef24 (patch)
tree09b6e74798faa332bfcbb6142b28e7bcaea562ed /src/libutil/util.hh
parent1711679ea5fd6a37db5a7a1b40eba1f58ad6c999 (diff)
Implement caching of fetchurl/fetchTarball results
ETags are used to prevent redownloading unchanged files.
Diffstat (limited to 'src/libutil/util.hh')
-rw-r--r--src/libutil/util.hh7
1 files changed, 7 insertions, 0 deletions
diff --git a/src/libutil/util.hh b/src/libutil/util.hh
index 20330fb769..7d20351eec 100644
--- a/src/libutil/util.hh
+++ b/src/libutil/util.hh
@@ -110,6 +110,9 @@ Paths createDirs(const Path & path);
 /* Create a symlink. */
 void createSymlink(const Path & target, const Path & link);
 
+/* Atomically create or replace a symlink. */
+void replaceSymlink(const Path & target, const Path & link);
+
 
 template<class T, class A>
 T singleton(const A & a)
@@ -334,6 +337,10 @@ string concatStringsSep(const string & sep, const StringSet & ss);
 string chomp(const string & s);
 
 
+/* Remove whitespace from the start and end of a string. */
+string trim(const string & s, const string & whitespace = " \n\r\t");
+
+
 /* Convert the exit status of a child as returned by wait() into an
    error string. */
 string statusToString(int status);