amprolla

devuan's apt repo merger
git clone git://parazyd.org/amprolla.git
Log | Files | Refs | README | LICENSE

commit 992d24959e7e85852557df8ad553c711af5a9729
parent 32b7d87eeed5748306269f5eb1eaaf55e06bba3c
Author: parazyd <parazyd@dyne.org>
Date:   Mon,  6 Nov 2017 13:55:29 +0100

use the locking functions

Diffstat:
Mamprolla_init.py | 3+++
Mamprolla_merge.py | 3+++
Mamprolla_merge_contents.py | 5++++-
Mamprolla_update.py | 5++++-
Morchestrate.sh | 2++
5 files changed, 16 insertions(+), 2 deletions(-)

diff --git a/amprolla_init.py b/amprolla_init.py @@ -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 @@ -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 @@ -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 @@ -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 @@ -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): @@ -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 @@ -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): @@ -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 @@ -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" || { @@ -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