diff --git a/packages/sysutils/timezone-data/package.mk b/packages/sysutils/timezone-data/package.mk index d81e952dfb..69711077d3 100644 --- a/packages/sysutils/timezone-data/package.mk +++ b/packages/sysutils/timezone-data/package.mk @@ -53,4 +53,12 @@ post_makeinstall_target() { mkdir -p $INSTALL/etc ln -sf /var/run/localtime $INSTALL/etc/localtime + + mkdir -p $INSTALL/usr/lib/openelec + cp -PR $PKG_DIR/scripts/tzdata-setup $INSTALL/usr/lib/openelec +} + +post_install() { + enable_service tz-data-monitor.path + enable_service tz-data.service } diff --git a/packages/sysutils/timezone-data/init.d/03_timezone b/packages/sysutils/timezone-data/scripts/tzdata-setup old mode 100644 new mode 100755 similarity index 72% rename from packages/sysutils/timezone-data/init.d/03_timezone rename to packages/sysutils/timezone-data/scripts/tzdata-setup index f976ed46d2..bc1fb0d0a6 --- a/packages/sysutils/timezone-data/init.d/03_timezone +++ b/packages/sysutils/timezone-data/scripts/tzdata-setup @@ -1,3 +1,4 @@ +#!/bin/sh ################################################################################ # This file is part of OpenELEC - http://www.openelec.tv # Copyright (C) 2009-2012 Stephan Raue (stephan@openelec.tv) @@ -18,17 +19,14 @@ # http://www.gnu.org/copyleft/gpl.html ################################################################################ -# -# make variable directory structure -# -# runlevels: openelec, textmode - progress "setting timezone" - GUISETTINGS="/storage/.xbmc/userdata/guisettings.xml" - if [ -f "$GUISETTINGS" ] ; then - TIMEZONE=`sed -n -e 's/.*\(.*\)<\/timezone>.*/\1/p' /storage/.xbmc/userdata/guisettings.xml` - fi - if [ ! "$TIMEZONE" == "" -a -f "/usr/share/zoneinfo/$TIMEZONE" ] ; then - ln -sf "/usr/share/zoneinfo/$TIMEZONE" /var/run/localtime - fi +GUISETTINGS="/storage/.xbmc/userdata/guisettings.xml" + +if [ -f "$GUISETTINGS" ] ; then + TIMEZONE=`sed -n -e 's/.*\(.*\)<\/timezone>.*/\1/p' /storage/.xbmc/userdata/guisettings.xml` +fi + +if [ ! "$TIMEZONE" == "" -a -f "/usr/share/zoneinfo/$TIMEZONE" ] ; then + ln -sf "/usr/share/zoneinfo/$TIMEZONE" /var/run/localtime +fi diff --git a/packages/sysutils/timezone-data/system.d/tz-data-monitor.path b/packages/sysutils/timezone-data/system.d/tz-data-monitor.path new file mode 100644 index 0000000000..eb96ec4de0 --- /dev/null +++ b/packages/sysutils/timezone-data/system.d/tz-data-monitor.path @@ -0,0 +1,9 @@ +[Unit] +Description=Timezone data monitor +After=local-fs.target + +[Path] +PathModified=/storage/.xbmc/userdata/guisettings.xml + +[Install] +WantedBy=multi-user.target diff --git a/packages/sysutils/timezone-data/system.d/tz-data-monitor.service b/packages/sysutils/timezone-data/system.d/tz-data-monitor.service new file mode 100644 index 0000000000..6d931727aa --- /dev/null +++ b/packages/sysutils/timezone-data/system.d/tz-data-monitor.service @@ -0,0 +1,9 @@ +[Unit] +Description=Timezone data monitor + +[Service] +Type=oneshot +ExecStart=/bin/systemctl restart tz-data.service + +[Install] +WantedBy=multi-user.target diff --git a/packages/sysutils/timezone-data/system.d/tz-data.service b/packages/sysutils/timezone-data/system.d/tz-data.service new file mode 100644 index 0000000000..fba3eed2a2 --- /dev/null +++ b/packages/sysutils/timezone-data/system.d/tz-data.service @@ -0,0 +1,13 @@ +[Unit] +Description=Setup Timezone data +Before=xbmc.service + +ConditionPathExists=/storage/.xbmc/userdata/guisettings.xml + +[Service] +Type=oneshot +ExecStart=/usr/lib/openelec/tzdata-setup +RemainAfterExit=yes + +[Install] +WantedBy=xbmc.service