]> git.ipfire.org Git - location/libloc.git/commitdiff
cron: Add a cronjob if systemd is not available
authorMichael Tremer <michael.tremer@ipfire.org>
Tue, 16 Aug 2022 09:20:44 +0000 (09:20 +0000)
committerMichael Tremer <michael.tremer@ipfire.org>
Tue, 16 Aug 2022 09:20:44 +0000 (09:20 +0000)
This will allow us to build this package when systemd is not available
(e.g. on Debian kfreebsd/hurd).

Signed-off-by: Michael Tremer <michael.tremer@ipfire.org>
.gitignore
Makefile.am
src/cron/location-update.in [new file with mode: 0644]

index 20bc895a3751ee25bbf72c8cd6f6a6c48cd1b3cb..41e30759c4eaf8dcb00dfc9613b1a40f7f55bda3 100644 (file)
@@ -15,6 +15,7 @@ Makefile.in
 /*.db.xz
 /libtool
 /stamp-h1
+/src/cron/location-update
 /src/scripts/location
 /src/scripts/location-importer
 /src/systemd/location-update.service
index eef75c233111dc4075cea30d520ab263800ab5b8..ee3c7add1925ffb5836b7981a7c4b56c20b00672 100644 (file)
@@ -51,6 +51,7 @@ SED_PROCESS = \
        -e 's,@databasedir\@,$(databasedir),g' \
        < $< > $@ || rm $@
 
+cron_dailydir = $(sysconfdir)/cron.daily
 databasedir = $(localstatedir)/lib/location
 pkgconfigdir = $(libdir)/pkgconfig
 
@@ -281,6 +282,7 @@ CLEANFILES += \
 
 # ------------------------------------------------------------------------------
 
+# Use systemd timers if available
 if HAVE_SYSTEMD
 systemdsystemunit_DATA = \
        src/systemd/location-update.service \
@@ -291,9 +293,18 @@ CLEANFILES += \
 
 INSTALL_DIRS += \
        $(systemdsystemunitdir)
+
+# Otherwise fall back to cron
+else
+cron_daily_SCRIPTS = \
+       src/cron/location-update
+
+CLEANFILES += \
+       $(cron_daily_DATA)
 endif
 
 EXTRA_DIST += \
+       src/cron/location-update.in \
        src/systemd/location-update.service.in \
        src/systemd/location-update.timer.in
 
diff --git a/src/cron/location-update.in b/src/cron/location-update.in
new file mode 100644 (file)
index 0000000..232de10
--- /dev/null
@@ -0,0 +1,21 @@
+#!/bin/bash
+###############################################################################
+#                                                                             #
+# libloc - A library to determine the location of someone on the Internet     #
+#                                                                             #
+# Copyright (C) 2022 IPFire Development Team <info@ipfire.org>                #
+#                                                                             #
+# This library is free software; you can redistribute it and/or               #
+# modify it under the terms of the GNU Lesser General Public                  #
+# License as published by the Free Software Foundation; either                #
+# version 2.1 of the License, or (at your option) any later version.          #
+#                                                                             #
+# This library is distributed in the hope that it will be useful,             #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of              #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU           #
+# Lesser General Public License for more details.                             #
+#                                                                             #
+###############################################################################
+
+# Call the location database updater
+exec @bindir@/location update