- stp2
-3.0.1dev
++stp3dev
SUBDIRS = pam
SUFFIXES = .tmpl .
-TMPLFILES = afp.conf.tmpl
-GENFILES = afp.conf
+TMPLFILES = afp.conf.tmpl dbus-session.conf.tmpl
+GENFILES = afp.conf dbus-session.conf
CLEANFILES = $(GENFILES)
- EXTRA_DIST = afp.conf.tmpl dbus-session.conf.tmpl
-EXTRA_DIST = afp.conf.tmpl extmap.conf
++EXTRA_DIST = afp.conf.tmpl extmap.conf dbus-session.conf.tmpl
OVERWRITE_CONFIG = @OVERWRITE_CONFIG@
createfile_iderr:
ad_flush(&ad);
ad_close(&ad, ADFLAGS_DF|ADFLAGS_HF );
- fce_register_new_file(s_path);
+ fce_register(FCE_FILE_CREATE, fullpathname(upath), NULL, fce_file);
+ sl_index_file(path);
+
+ createfile_done:
curdir->d_offcnt++;
-
setvoltime(obj, vol );
return (retvalue);
static void sigquit_cb(evutil_socket_t fd, short what, void *arg)
{
LOG(log_note, logtype_afpd, "Exiting on SIGQUIT");
- kill_childs(SIGQUIT, &afpd_pid, &cnid_metad_pid, NULL);
+ system("tracker-control -t");
+ kill_childs(SIGQUIT, &afpd_pid, &cnid_metad_pid, &dbus_pid, NULL);
}
+ /* SIGQUIT callback */
+ static void sighup_cb(evutil_socket_t fd, short what, void *arg)
+ {
+ LOG(log_note, logtype_afpd, "Received SIGHUP, sending all processes signal to reload config");
+ kill_childs(SIGHUP, &afpd_pid, &cnid_metad_pid, NULL);
+ }
+
/* SIGCHLD callback */
static void sigchld_cb(evutil_socket_t fd, short what, void *arg)
{
sigdelset(&blocksigs, SIGTERM);
sigdelset(&blocksigs, SIGQUIT);
sigdelset(&blocksigs, SIGCHLD);
+ sigdelset(&blocksigs, SIGHUP);
sigprocmask(SIG_SETMASK, &blocksigs, NULL);
+ dbus_path = iniparser_getstring(obj.iniconfig, INISEC_GLOBAL, "dbus daemon path", "/bin/dbus-daemon");
+ 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);
+ netatalk_exit(EXITERR_CONF);
+ }
+
+ /* Allow dbus some time to start up */
+ sleep(1);
+
+ setenv("DBUS_SESSION_BUS_ADDRESS", "unix:path=/tmp/spotlight.ipc", 1);
+ set_sl_volumes();
+ system(TRACKER_PREFIX "/bin/tracker-control -s");
+
/* run the event loop */
ret = event_base_dispatch(base);
#define EC_INIT int ret = 0
#define EC_STATUS(a) ret = (a)
+ #define EC_EXIT_STATUS(a) do { ret = (a); goto cleanup; } while (0)
#define EC_FAIL do { ret = -1; goto cleanup; } while (0)
-#define EC_FAIL_LOG(a, ...) \
+#define EC_FAIL_LOG(...) \
do { \
- LOG(log_error, logtype_default, a, __VA_ARGS__); \
+ LOG(log_error, logtype_default, __VA_ARGS__); \
ret = -1; \
goto cleanup; \
} while (0)
logtype_afpd,
logtype_dsi,
logtype_uams,
+ logtype_fce,
+ logtype_ad,
+ logtype_sl,
logtype_end_of_list_marker /* don't put any logtypes after this */
};
*****************************************************************/
extern bstring rel_path_in_vol(const char *path, const char *volpath);
+extern cnid_t cnid_for_path(struct _cnid_db *cdb, const char *volpath, const char *path, cnid_t *did);
+ /******************************************************************
+ * cnid.c
+ *****************************************************************/
+
+ extern void initline (int, char *);
+ extern int parseline (int, char *);
+
#endif /* _ATALK_UTIL_H */
# 3.0.0-beta2 1:0:0
# 3.0 1:0:0
# 3.0.1 2:0:0
+ # 3.0.2 3:0:1
-SUBDIRS = acl adouble bstring compat cnid dsi iniparser tdb util unicode vfs
+SUBDIRS = acl adouble bstring compat cnid dsi iniparser talloc tdb util unicode vfs
lib_LTLIBRARIES = libatalk.la
"AFPDaemon", \
"DSI", \
"UAMS", \
- "end_of_list_marker"} \
+ "FCE", \
+ "ad", \
+ "Spotlight", \
+ "end_of_list_marker"}
/* =========================================================================
Config
DEFAULT_LOG_CONFIG, /* logtype_afpd */
DEFAULT_LOG_CONFIG, /* logtype_dsi */
DEFAULT_LOG_CONFIG, /* logtype_uams */
- DEFAULT_LOG_CONFIG, /* logtype_fce */
- DEFAULT_LOG_CONFIG /* logtype_ad */
++ DEFAULT_LOG_CONFIG, /* logtype_fce */
++ DEFAULT_LOG_CONFIG, /* logtype_ad */
+ DEFAULT_LOG_CONFIG /* logtype_sl */
};
static void syslog_setup(int loglevel, enum logtypes logtype, int display_options, int facility);
AM_CONDITIONAL(DEVELOPER, test x"$enable_dev" = x"yes")
])
+dnl Tracker, for Spotlight
+AC_DEFUN([AC_NETATALK_SPOTLIGHT], [
+ ac_cv_tracker_pkg_default=tracker-sparql-0.12
+ AC_ARG_WITH([tracker-pkg-config],
+ [AS_HELP_STRING([--with-tracker-pkg-config],[name of the Tracker SPARQL pkg in pkg-config])],
+ [ac_cv_tracker_pkg=$withval],
+ [ac_cv_tracker_pkg=$ac_cv_tracker_pkg_default])
+
+ AC_MSG_NOTICE([searching for $ac_cv_tracker_pkg])
+
+ PKG_CHECK_MODULES([TRACKER], [$ac_cv_tracker_pkg >= 0.12], [ac_cv_have_tracker=yes], [ac_cv_have_tracker=no])
+
+ if test x"$ac_cv_have_tracker" = x"no" ; then
+ if test x"$need_tracker" = x"yes" ; then
+ AC_MSG_ERROR([$ac_cv_tracker_pkg not found])
+ fi
+ else
+ AC_DEFINE(HAVE_TRACKER, 1, [Define if Tracker library is available])
+ ac_cv_tracker_prefix=`pkg-config --variable=prefix $ac_cv_tracker_pkg`
+ AC_DEFINE_UNQUOTED(TRACKER_PREFIX, ["$ac_cv_tracker_prefix"], [Path to Tracker])
+ fi
+
+ AC_SUBST(TRACKER_CFLAGS)
+ AC_SUBST(TRACKER_LIBS)
+ AM_CONDITIONAL(HAVE_TRACKER, [test x"$ac_cv_have_tracker" = x"yes"])
+
+ ac_cv_tracker_miner_pkg_default=tracker-miner-0.12
+ AC_ARG_WITH([tracker-miner-pkg-config],
+ [AS_HELP_STRING([--with-tracker-miner-pkg-config],[name of the Tracker miner pkg in pkg-config])],
+ [ac_cv_tracker_miner_pkg=$withval],
+ [ac_cv_tracker_miner_pkg=$ac_cv_tracker_miner_pkg_default])
+
+ AC_MSG_NOTICE([searching for $ac_cv_tracker_miner_pkg])
+
+ PKG_CHECK_MODULES([TRACKER_MINER], [$ac_cv_tracker_miner_pkg >= 0.12], [ac_cv_have_tracker_miner=yes], [ac_cv_have_tracker_miner=no])
+
+ if test x"$ac_cv_have_tracker_miner" = x"yes" ; then
+ AC_DEFINE(HAVE_TRACKER_MINER, 1, [Define if Tracker miner library is available])
+ AC_SUBST(TRACKER_MINER_CFLAGS)
+ AC_SUBST(TRACKER_MINER_LIBS)
+ fi
+])
+
dnl Whether to disable bundled libevent
AC_DEFUN([AC_NETATALK_LIBEVENT], [
- AC_MSG_CHECKING([whether to disable bundled libevent (define CPPFLAGS and LDFLAGS otherwise appropiately to pick up installed version)])
- AC_ARG_ENABLE(
- bundled-libevent,
- [AS_HELP_STRING([--disable-bundled-libevent],[whether the bundled version of libevent shall not be used (define CPPFLAGS and LDFLAGS otherwise appropiately to pick up installed version)
- ])],
- use_bundled_libevent=$enableval,
+ AC_MSG_CHECKING([whether to use bundled libevent])
+ AC_ARG_WITH(
+ libevent,
+ [AS_HELP_STRING([--with-libevent],[whether to use the bundled libevent (default: yes)])],
+ use_bundled_libevent=$withval,
use_bundled_libevent=yes
)
-
- if test x"$use_bundled_libevent" = x"yes" ; then
- AC_MSG_RESULT([no])
- AC_CONFIG_SUBDIRS([libevent])
- else
- AC_MSG_RESULT([yes])
+ AC_ARG_WITH(
+ libevent-header,
+ [AS_HELP_STRING([--with-libevent-header],[path to libevent header files])],
+ [use_bundled_libevent=no; LIBEVENT_CFLAGS=-I$withval]
+ )
+ AC_ARG_WITH(
+ libevent-lib,
+ [AS_HELP_STRING([--with-libevent-lib],[path to libevent library])],
+ [use_bundled_libevent=no; LIBEVENT_LDFLAGS=-L$withval]
+ )
+ if test x"$LIBEVENT_CFLAGS" = x"-Iyes" -o x"$LIBEVENT_LDFLAGS" = x"-Lyes" ; then
+ AC_MSG_ERROR([--with-libevent requires a path])
fi
+ AC_MSG_RESULT([$use_bundled_libevent])
+ AC_CONFIG_SUBDIRS([libevent])
+ AC_SUBST(LIBEVENT_CFLAGS)
+ AC_SUBST(LIBEVENT_LDFLAGS)
AM_CONDITIONAL(USE_BUILTIN_LIBEVENT, test x"$use_bundled_libevent" = x"yes")
])