Set generate_dir in the non-override case
[mirror/userdir-ldap.git] / ud-generate
index 064a9bd..8bc0432 100755 (executable)
@@ -1281,13 +1281,21 @@ def ud_generate():
       parser.print_help()
       sys.exit(1)
 
-
-   l = make_ldap_conn()
-
    if options.generatedir is not None:
       generate_dir = os.environ['UD_GENERATEDIR']
    elif 'UD_GENERATEDIR' in os.environ:
       generate_dir = os.environ['UD_GENERATEDIR']
+   else:
+      generate_dir = GenerateDir
+
+
+   lockf = os.path.join(generate_dir, 'ud-generate.lock')
+   lock = get_lock( lockf )
+   if lock is None:
+      sys.stderr.write("Could not acquire lock %s.\n"%(lockf))
+      sys.exit(1)
+
+   l = make_ldap_conn()
 
    ldap_last_mod = getLastLDAPChangeTime(l)
    cache_last_mod = getLastBuildTime(generate_dir)
@@ -1299,12 +1307,6 @@ def ud_generate():
       fd.close()
       sys.exit(0)
 
-   lockf = os.path.join(generate_dir, 'ud-generate.lock')
-   lock = get_lock( lockf )
-   if lock is None:
-      sys.stderr.write("Could not acquire lock %s.\n"%(lockf))
-      sys.exit(1)
-
    tracefd = open(os.path.join(generate_dir, "last_update.trace"), "w")
    generate_all(generate_dir, l)
    tracefd.write("%s\n%s\n" % (ldap_last_mod, int(time.time())))