import datetime
import calendar
import signal
+import argparse
import glib
import gobject
import dbussvc
import zfs
import smf
-import timeslidersmf
-import autosnapsmf
-import plugin
-from rbac import RBACprofile
+import time_slider.linux.timeslidersmf as timeslidersmf
+import time_slider.linux.autosnapsmf as autosnapsmf
+# import plugin
+from time_slider.linux.rbac import RBACprofile
import util
+import time_slider.linux.timesliderconfig as timesliderconfig
+
_MINUTE = 60
_HOUR = _MINUTE * 60
_DAY = _HOUR * 24
'/org/opensolaris/TimeSlider/autosnap',
self)
- self._plugin = plugin.PluginManager(self.verbose)
+ # self._plugin = plugin.PluginManager(self.verbose)
self.exitCode = smf.SMF_EXIT_OK
self.refresh()
self._configure_svc_props()
self._rebuild_schedules()
self._update_schedules()
- self._plugin.refresh()
+ # self._plugin.refresh()
self._stale = False
self._refreshLock.release()
now = long(time.time())
while next != None and next <= now:
label = self._take_snapshots(schedule)
- self._plugin.execute_plugins(schedule, label)
+ # self._plugin.execute_plugins(schedule, label)
self._refreshLock.acquire()
self._update_schedules()
next,schedule = self._next_due();
def main(argv):
+ parser = argparse.ArgumentParser()
+ parser.add_argument('--foreground', action='store_true', help='Do not daemonize', default=False)
+ parser.add_argument('--config', '-c', type=str, help='Configuration file', default='/etc/time-slider/timesliderd.conf')
+ args, _ = parser.parse_known_args()
+
+ timesliderconfig.configfile = args.config
# Daemonise the service.
- create_daemon()
+ if not args.foreground:
+ create_daemon()
# The user security attributes checked are the following:
# Note that UID == 0 will match any profile search so