One less hardcode debian.org domain in slapd.conf snippet
[mirror/userdir-ldap.git] / ud-generate
index c3eff77..a897766 100755 (executable)
@@ -1215,6 +1215,7 @@ def generate_host(host, global_dir, accounts, ssh_files):
                posix.remove(target)
          except:
             pass
+   DoLink(global_dir, OutDir, "last_update.trace")
 
 l = make_ldap_conn()
 
@@ -1234,23 +1235,23 @@ last = sorted_mods[-1][1]['reqEnd'][0].split('.')[0]
 if 'UD_GENERATEDIR' in os.environ:
    GenerateDir = os.environ['UD_GENERATEDIR']
 
-cache_last_mod = 0
+cache_last_mod = [0,0]
 
 try:
    fd = open(os.path.join(GenerateDir, "last_update.trace"), "r")
-   cache_last_mod=fd.read().strip()
+   cache_last_mod=fd.read().split()
    fd.close()
 except IOError, e:
    if e.errno == errno.ENOENT:
       pass
    else:
       raise e
-if cache_last_mod >= last:
-   sys.exit(0)
 
-fd = open(os.path.join(GenerateDir, "last_update.trace"), "w")
-fd.write(last)
-fd.close()
+if cache_last_mod[0] >= last:
+   fd = open(os.path.join(GenerateDir, "last_update.trace"), "w")
+   fd.write("%s\n%s\n" % (last, int(time.time())))
+   fd.close()
+   sys.exit(0)
 
 # Fetch all the groups
 GroupIDMap = {}
@@ -1281,6 +1282,10 @@ finally:
    if lock is not None:
       lock.release()
 
+fd = open(os.path.join(GenerateDir, "last_update.trace"), "w")
+fd.write("%s\n%s\n" % (last, int(time.time())))
+fd.close()
+
 # vim:set et:
 # vim:set ts=3:
 # vim:set shiftwidth=3: