From a39f527dad787ae3b95b7457fa4890a340672948 Mon Sep 17 00:00:00 2001
From: Matthias Schiffer <mschiffer@universe-factory.net>
Date: Mon, 21 Jul 2014 16:27:41 +0200
Subject: [PATCH] gluon-autoupdater: add locking to ensure no two instances of
 the autoupdater run in parallel

---
 .../gluon-autoupdater/files/lib/gluon/autoupdater/autoupdate | 5 +++++
 .../lib/gluon/upgrade/autoupdater/invariant/010-autoupdater  | 2 +-
 2 files changed, 6 insertions(+), 1 deletion(-)
 create mode 100755 package/gluon-autoupdater/files/lib/gluon/autoupdater/autoupdate

diff --git a/package/gluon-autoupdater/files/lib/gluon/autoupdater/autoupdate b/package/gluon-autoupdater/files/lib/gluon/autoupdater/autoupdate
new file mode 100755
index 000000000..b1fe84ebe
--- /dev/null
+++ b/package/gluon-autoupdater/files/lib/gluon/autoupdater/autoupdate
@@ -0,0 +1,5 @@
+#!/bin/sh
+
+lock /var/gluon/autoupdater.lock
+autoupdater "$@"
+lock -u /var/gluon/autoupdater.lock
diff --git a/package/gluon-autoupdater/files/lib/gluon/upgrade/autoupdater/invariant/010-autoupdater b/package/gluon-autoupdater/files/lib/gluon/upgrade/autoupdater/invariant/010-autoupdater
index 5cd11c05c..4ccede22f 100755
--- a/package/gluon-autoupdater/files/lib/gluon/upgrade/autoupdater/invariant/010-autoupdater
+++ b/package/gluon-autoupdater/files/lib/gluon/upgrade/autoupdater/invariant/010-autoupdater
@@ -49,5 +49,5 @@ autoupdater_util.randomseed()
 
 -- Perform updates at a random time between 04:00 and 05:00
 local f = io.open('/lib/gluon/cron/autoupdater', 'w')
-f:write(string.format('%i 4 * * * /usr/sbin/autoupdater\n', math.random(0, 59)))
+f:write(string.format('%i 4 * * * /lib/gluon/autoupdater/autoupdate\n', math.random(0, 59)))
 f:close()
-- 
GitLab