tuse the locking functions - amprolla - devuan's apt repo merger
git clone git://parazyd.org/amprolla.git
Log
Files
Refs
README
LICENSE
---
commit 992d24959e7e85852557df8ad553c711af5a9729
parent 32b7d87eeed5748306269f5eb1eaaf55e06bba3c
Author: parazyd 
Date:   Mon,  6 Nov 2017 13:55:29 +0100

use the locking functions

Diffstat:
  M amprolla_init.py                    |       3 +++
  M amprolla_merge.py                   |       3 +++
  M amprolla_merge_contents.py          |       5 ++++-
  M amprolla_update.py                  |       5 ++++-
  M orchestrate.sh                      |       2 ++

5 files changed, 16 insertions(+), 2 deletions(-)
---
diff --git a/amprolla_init.py b/amprolla_init.py
t@@ -12,6 +12,7 @@ from time import time
 
 from lib.config import (aliases, arches, categories, cpunm, mainrepofiles,
                         repos, spooldir, suites)
+from lib.lock import check_lock, free_lock
 from lib.net import download
 from lib.parse import parse_release
 
t@@ -87,6 +88,8 @@ def main():
 
 if __name__ == '__main__':
     t1 = time()
+    check_lock()
     main()
+    free_lock()
     t2 = time()
     print('total time: %s' % (t2 - t1))
diff --git a/amprolla_merge.py b/amprolla_merge.py
t@@ -14,6 +14,7 @@ import lib.globalvars as globalvars
 from lib.config import (aliases, arches, banpkgs, categories, cpunm, mergedir,
                         mergesubdir, pkgfiles, repos, repo_order, signrelease,
                         spooldir, srcfiles, suites)
+from lib.lock import check_lock, free_lock
 from lib.package import (load_packages_file, merge_packages_many,
                          write_packages)
 from lib.release import write_release
t@@ -195,6 +196,8 @@ def main():
 
 if __name__ == '__main__':
     t1 = time()
+    check_lock()
     main()
+    free_lock()
     t2 = time()
     print('total time: %s' % (t2 - t1))
diff --git a/amprolla_merge_contents.py b/amprolla_merge_contents.py
t@@ -11,10 +11,11 @@ from os import makedirs
 from os.path import dirname, join, isfile
 from time import time
 
+import lib.globalvars as globalvars
 from amprolla_merge import prepare_merge_dict
 from lib.config import (arches, categories, cpunm, mergedir, mergesubdir,
                         repos, spooldir)
-import lib.globalvars as globalvars
+from lib.lock import check_lock, free_lock
 
 
 def merge_contents(filelist):
t@@ -105,6 +106,8 @@ def main():
 
 if __name__ == '__main__':
     t1 = time()
+    check_lock()
     main()
+    free_lock()
     t2 = time()
     print('total time: %s' % (t2 - t1))
diff --git a/amprolla_update.py b/amprolla_update.py
t@@ -11,11 +11,12 @@ from time import time
 import requests
 
 import lib.globalvars as globalvars
+from amprolla_merge import gen_release, merge, prepare_merge_dict
 from lib.config import aliases, cpunm, repos, repo_order, spooldir
+from lib.lock import check_lock, free_lock
 from lib.log import info, warn
 from lib.parse import compare_dict, get_date, get_time, parse_release
 from lib.net import download
-from amprolla_merge import gen_release, merge, prepare_merge_dict
 
 
 def remote_is_newer(remote, local):
t@@ -142,6 +143,8 @@ def main():
 
 if __name__ == '__main__':
     t1 = time()
+    check_lock()
     main()
+    free_lock()
     t2 = time()
     print('total time: %s' % (t2 - t1))
diff --git a/orchestrate.sh b/orchestrate.sh
t@@ -10,6 +10,7 @@ REPO_ROOT="${REPO_ROOT:-/srv/amprolla}"
 # TODO: Remove the while loop and run with cron after testing phase
 
 while true; do
+        [ -f "/tmp/amprolla.lock" ] || {
         ln -snf "$REPO_ROOT"/merged-staging "$REPO_ROOT"/merged
         # The break call is temporary to catch unhandled exceptions in the testing phase
         python3 "$AMPROLLA_UPDATE" || {
t@@ -29,6 +30,7 @@ while true; do
 
         # handle obsolete package logs
         cat "$REPO_ROOT"/log/*-oldpackages.txt | sort | uniq > "$REPO_ROOT"/log/oldpackages.txt
+        }
 
         sleep 3600
 done