================
* UPD: afpd: Increase default DSI server quantum to 1 MB
* UPD: bundled libevent2 is now static
+* NEW: --with-lockfile=PATH configure option for specifying an
+ alternative path for the netatalk lockfile.
+* UPD: systemd service file use PIDFile and ExecReload.
+ From FR #70.
Changes in 3.0.2
================
dnl Check whether bundled libevent shall not be used
AC_NETATALK_LIBEVENT
+dnl libatalk API checks
+AC_DEVELOPER
+
dnl FHS stuff has to be done last because it overrides other defaults
AC_NETATALK_FHS
-AC_DEVELOPER
+dnl netatalk lockfile path, must come after AC_NETATALK_FHS
+AC_NETATALK_LOCKFILE
CFLAGS="-I\$(top_srcdir)/include -I\$(top_srcdir)/sys $CFLAGS"
UAMS_PATH="${uams_path}"
-e s@:SBINDIR:@${sbindir}@ \
-e s@:ETCDIR:@${pkgconfdir}@ \
-e s@:NETATALK_VERSION:@${NETATALK_VERSION}@ \
+ -e s@:PATH_NETATALK_LOCK:@${PATH_NETATALK_LOCK}@ \
<$< >$@
GENERATED_FILES = \
Type=forking
GuessMainPID=no
ExecStart=:SBINDIR:/netatalk
+PIDFile=:PATH_NETATALK_LOCK:
+ExecReload=/bin/kill -HUP $MAINPID
Restart=always
RestartSec=1
/* this get called when error conditions are met that require us to exit gracefully */
static void netatalk_exit(int ret)
{
- server_unlock(_PATH_NETATALK_LOCK);
+ server_unlock(PATH_NETATALK_LOCK);
exit(ret);
}
}
}
- if (check_lockfile("netatalk", _PATH_NETATALK_LOCK) != 0)
+ if (check_lockfile("netatalk", PATH_NETATALK_LOCK) != 0)
exit(EXITERR_SYS);
if (!debug && daemonize(0, 0) != 0)
exit(EXITERR_SYS);
- if (create_lockfile("netatalk", _PATH_NETATALK_LOCK) != 0)
+ if (create_lockfile("netatalk", PATH_NETATALK_LOCK) != 0)
exit(EXITERR_SYS);
sigfillset(&blocksigs);
#define ATALKPATHCAT(a,b) a/**/b
#endif
-
-/* lock file path. this should be re-organized a bit. */
-#if ! defined (_PATH_LOCKDIR)
-# if defined (FHS_COMPATIBILITY) || defined (__NetBSD__) || defined (__OpenBSD__)
-# define _PATH_LOCKDIR "/var/run/"
-# elif defined (BSD4_4)
-# ifdef MACOSX_SERVER
-# define _PATH_LOCKDIR "/var/run/"
-# else
-# define _PATH_LOCKDIR "/var/spool/lock/"
-# endif
-# elif defined (linux)
-# define _PATH_LOCKDIR "/var/lock/"
-# else
-# define _PATH_LOCKDIR "/var/spool/locks/"
-# endif
-#endif
-
-
-/*
- * netatalk paths
- */
-#define _PATH_AFPTKT "/tmp/AFPtktXXXXXX"
-#if defined (FHS_COMPATIBILITY) || defined (__NetBSD__) || defined (__OpenBSD__)
-# define _PATH_NETATALK_LOCK ATALKPATHCAT(_PATH_LOCKDIR,"netatalk.pid")
-#else
-# define _PATH_NETATALK_LOCK ATALKPATHCAT(_PATH_LOCKDIR,"netatalk")
-#endif
-
#endif /* atalk/paths.h */
use_pam_so=yes
AC_DEFINE(FHS_COMPATIBILITY, 1, [Define if you want compatibily with the FHS])
AC_MSG_RESULT([yes])
+ atalk_cv_fhs_compat=yes
else
AC_MSG_RESULT([no])
+ atalk_cv_fhs_compat=no
fi
],[
AC_MSG_RESULT([no])
- ]
-)])
+ atalk_cv_fhs_compat=no
+])])
+
+dnl netatalk lockfile path
+AC_DEFUN([AC_NETATALK_LOCKFILE], [
+ AC_MSG_CHECKING([netatalk lockfile path])
+ AC_ARG_WITH(
+ lockfile,
+ [AS_HELP_STRING([--with-lockfile=PATH],[Path of netatalk lockfile])],
+ ac_cv_netatalk_lock=$withval,
+ ac_cv_netatalk_lock=""
+ )
+ if test -z "$ac_cv_netatalk_lock" ; then
+ ac_cv_netatalk_lock=/var/spool/locks/netatalk
+ if test x"$atalk_cv_fhs_compat" = x"yes" ; then
+ ac_cv_netatalk_lock=/var/run/netatalk.pid
+ else
+ case "$host_os" in
+ *freebsd*)
+ ac_cv_netatalk_lock=/var/spool/lock/netatalk
+ ;;
+ *netbsd*|*openbsd*)
+ ac_cv_netatalk_lock=/var/run/netatalk.pid
+ ;;
+ *linux*)
+ ac_cv_netatalk_lock=/var/lock/netatalk
+ ;;
+ esac
+ fi
+ fi
+ AC_DEFINE_UNQUOTED(PATH_NETATALK_LOCK, ["$ac_cv_netatalk_lock"], [netatalk lockfile path])
+ AC_SUBST(PATH_NETATALK_LOCK, ["$ac_cv_netatalk_lock"])
+ AC_MSG_RESULT([$ac_cv_netatalk_lock])
+])
dnl 64bit platform check
AC_DEFUN([AC_NETATALK_64BIT_LIBS], [
else
AC_MSG_RESULT([ none])
fi
+ AC_MSG_RESULT([ Netatalk lockfile:])
+ AC_MSG_RESULT([ $ac_cv_netatalk_lock])
AC_MSG_RESULT([ AFP:])
AC_MSG_RESULT([ Extended Attributes: $neta_cv_eas])
AC_MSG_RESULT([ ACL support: $with_acl_support])