struct event *sigterm_ev, *sigquit_ev, *sigchld_ev, *timer_ev;
static int in_shutdown;
static const char *dbus_path;
+static char *trackerd_loglev;
/******************************************************************
* Misc stuff
LOG(log_debug, logtype_sl, "set_sl_volumes: %s", bdata(cmd));
system(bdata(cmd));
+ /* Disable default root user home indexing */
+ system("gsettings set org.freedesktop.Tracker.Miner.Files index-single-directories \"[]\"");
+
EC_CLEANUP:
if (cmd)
bdestroy(cmd);
}
}
-#ifdef HAVE_TRACKER_0_6
+#ifdef HAVE_TRACKER_RDF
if (trackerd_pid == -1) {
trackerd_restarts++;
LOG(log_note, logtype_afpd, "Restarting 'trackerd' (restarts: %u)", trackerd_restarts);
- if ((trackerd_pid = run_process(TRACKER_0_6_PREFIX "/bin/trackerd", "--verbosity=3", NULL)) == -1) {
+ if ((trackerd_pid = run_process(TRACKERD_PATH, trackerd_loglev, NULL)) == -1) {
LOG(log_error, logtype_default, "Error starting '%s'", "/usr/bin/trackerd");
}
}
static pid_t run_process(const char *path, ...)
{
int ret, i = 0;
- char *myargv[10];
+#define MYARVSIZE 64
+ char *myargv[MYARVSIZE];
va_list args;
pid_t pid;
if (pid == 0) {
myargv[i++] = (char *)path;
va_start(args, path);
- while ((myargv[i++] = va_arg(args, char *)) != NULL)
- ;
+ while (i < MYARVSIZE) {
+ if ((myargv[i++] = va_arg(args, char *)) == NULL)
+ break;
+ }
va_end(args);
ret = execv(path, myargv);
LOG(log_note, logtype_default, "Netatalk AFP server starting");
if ((afpd_pid = run_process(_PATH_AFPD, "-d", "-F", obj.options.configfile, NULL)) == -1) {
- LOG(log_error, logtype_afpd, "Error starting 'cnid_metad'");
+ LOG(log_error, logtype_afpd, "Error starting 'afpd'");
netatalk_exit(EXITERR_CONF);
}
#ifdef HAVE_TRACKER
setenv("DBUS_SESSION_BUS_ADDRESS", "unix:path=/tmp/spotlight.ipc", 1);
-#endif
-#if 0
- setenv("XDG_DATA_DIRS", TRACKER_PREFIX "/share/:/usr/share/", 1);
- setenv("TRACKER_DB_ONTOLOGIES_DIR", TRACKER_PREFIX "/share/tracker/ontologies", 1);
- setenv("TRACKER_EXTRACTOR_RULES_DIR", TRACKER_PREFIX "/share/tracker/extract-rules", 1);
- setenv("TRACKER_LANGUAGE_STOPWORDS_DIR", TRACKER_PREFIX "/share/tracker/languages", 1);
+ setenv("XDG_DATA_HOME", _PATH_STATEDIR, 0);
+ setenv("XDG_CACHE_HOME", _PATH_STATEDIR, 0);
+ setenv("XDG_CONFIG_HOME", _PATH_CONFDIR, 0);
#endif
- dbus_path = iniparser_getstring(obj.iniconfig, INISEC_GLOBAL, "dbus daemon path", "/bin/dbus-daemon");
+ dbus_path = iniparser_getstring(obj.iniconfig, INISEC_GLOBAL, "dbus daemon path", DBUS_DAEMON_PATH);
LOG(log_debug, logtype_default, "DBUS: '%s'", dbus_path);
if ((dbus_pid = run_process(dbus_path, "--config-file=" _PATH_CONFDIR "dbus-session.conf", NULL)) == -1) {
LOG(log_error, logtype_default, "Error starting '%s'", dbus_path);
set_sl_volumes();
system(TRACKER_PREFIX "/bin/tracker-control -s");
#endif
-#ifdef HAVE_TRACKER_0_6
- if ((trackerd_pid = run_process(TRACKER_0_6_PREFIX "/bin/trackerd", "--verbosity=3", NULL)) == -1) {
- LOG(log_error, logtype_default, "Error starting '%s'", TRACKER_0_6_PREFIX "/bin/trackerd");
+#ifdef HAVE_TRACKER_RDF
+ if (asprintf(&trackerd_loglev, "--verbosity=%d", obj.options.tracker_loglevel) == -1)
+ netatalk_exit(EXITERR_CONF);
+ if ((trackerd_pid = run_process(TRACKERD_PATH, trackerd_loglev, NULL)) == -1) {
+ LOG(log_error, logtype_default, "Error starting '%s'", TRACKERD_PATH);
netatalk_exit(EXITERR_CONF);
}
#endif