diff --git a/netatalk/netatalk.patch b/netatalk/netatalk.patch index f3111a80b7..a925b46b01 100644 --- a/netatalk/netatalk.patch +++ b/netatalk/netatalk.patch @@ -49,3 +49,62 @@ Index: include/atalk/util.h #ifdef HAVE_UNISTD_H #include #endif /* HAVE_UNISTD_H */ +Index: include/atalk/paths.h +--- include/atalk/paths.h.orig 2010-09-20 10:32:14.000000000 +0200 ++++ include/atalk/paths.h 2011-02-18 23:49:08.000000000 +0100 +@@ -16,19 +16,7 @@ + + /* lock file path. this should be re-organized a bit. */ + #if ! defined (_PATH_LOCKDIR) +-# if defined (FHS_COMPATIBILITY) || defined (__NetBSD__) + # 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 + + /* +@@ -51,7 +39,7 @@ + */ + #define _PATH_ATALKDEBUG "/tmp/atalkd.debug" + #define _PATH_ATALKDTMP "atalkd.tmp" +-#if defined (FHS_COMPATIBILITY) || defined (__NetBSD__) ++#if defined (FHS_COMPATIBILITY) || defined (__NetBSD__) || 1 + # define _PATH_ATALKDLOCK ATALKPATHCAT(_PATH_LOCKDIR,"atalkd.pid") + #else + # define _PATH_ATALKDLOCK ATALKPATHCAT(_PATH_LOCKDIR,"atalkd") +@@ -61,7 +49,7 @@ + * psorder paths + */ + #define _PATH_TMPPAGEORDER "/tmp/psorderXXXXXX" +-#if defined (FHS_COMPATIBILITY) || defined (__NetBSD__) ++#if defined (FHS_COMPATIBILITY) || defined (__NetBSD__) || 1 + # define _PATH_PAPDLOCK ATALKPATHCAT(_PATH_LOCKDIR,"papd.pid") + #else + # define _PATH_PAPDLOCK ATALKPATHCAT(_PATH_LOCKDIR,"papd") +@@ -71,7 +59,7 @@ + * afpd paths + */ + #define _PATH_AFPTKT "/tmp/AFPtktXXXXXX" +-#if defined (FHS_COMPATIBILITY) || defined (__NetBSD__) ++#if defined (FHS_COMPATIBILITY) || defined (__NetBSD__) || 1 + # define _PATH_AFPDLOCK ATALKPATHCAT(_PATH_LOCKDIR,"afpd.pid") + #else + # define _PATH_AFPDLOCK ATALKPATHCAT(_PATH_LOCKDIR,"afpd") +@@ -80,7 +68,7 @@ + /* + * cnid_metad paths + */ +-#if defined (FHS_COMPATIBILITY) || defined (__NetBSD__) ++#if defined (FHS_COMPATIBILITY) || defined (__NetBSD__) || 1 + # define _PATH_CNID_METAD_LOCK ATALKPATHCAT(_PATH_LOCKDIR,"cnid_metad.pid") + #else + # define _PATH_CNID_METAD_LOCK ATALKPATHCAT(_PATH_LOCKDIR,"cnid_metad") diff --git a/netatalk/netatalk.spec b/netatalk/netatalk.spec index 438d4680ba..2f43ca9d50 100644 --- a/netatalk/netatalk.spec +++ b/netatalk/netatalk.spec @@ -36,7 +36,7 @@ Class: EVAL Group: Filesystem License: GPL Version: %{V_opkg} -Release: 20110210 +Release: 20110218 # list of sources Source0: http://switch.dl.sourceforge.net/netatalk/netatalk-%{V_dist}.tar.bz2 @@ -69,6 +69,9 @@ PreReq: openssl, gcrypt, db, libiconv %build # configure program + %{l_shtool} subst \ + -e 's;/var/run;%{l_prefix}/var/netatalk/run;' \ + include/atalk/paths.h CC="%{l_cc}" \ CFLAGS="%{l_cflags -O}" \ CPPFLAGS="%{l_cppflags}" \ @@ -106,6 +109,7 @@ PreReq: openssl, gcrypt, db, libiconv strip $RPM_BUILD_ROOT%{l_prefix}/bin/* >/dev/null 2>&1 || true strip $RPM_BUILD_ROOT%{l_prefix}/sbin/* >/dev/null 2>&1 || true rm -f $RPM_BUILD_ROOT%{l_prefix}/lib/netatalk/*.a + rm -f $RPM_BUILD_ROOT%{l_prefix}/etc/netatalk/netatalk.conf # install run-command script %{l_shtool} mkdir -f -p -m 755 \ diff --git a/netatalk/rc.netatalk b/netatalk/rc.netatalk index 3b9dcaab4e..645f093a28 100644 --- a/netatalk/rc.netatalk +++ b/netatalk/rc.netatalk @@ -5,10 +5,11 @@ %config netatalk_enable="$openpkg_rc_def" - netatalk_daemons="afpd" # atalkd cnid_dbd cnid_metad papd - netatalk_flags_aftpd="-c 50" + netatalk_name="" + netatalk_zone="" + netatalk_daemons="afpd cnid_metad" netatalk_flags_atalkd="" - netatalk_flags_cnid_dbd="" + netatalk_flags_aftpd="-c 50" netatalk_flags_cnid_metad="" netatalk_flags_papd="" netatalk_log_prolog="true" @@ -22,11 +23,11 @@ netatalk_vardir="@l_prefix@/var/netatalk" netatalk_signal () { local retcode=0 - local daemons= + local daemon for daemon in $netatalk_daemons; do [ -f $netatalk_vardir/run/$daemon.pid ] \ && kill -$1 `cat $netatalk_vardir/run/$daemon.pid` - retcode=$(($retcode+$?)) + retcode=$(($retcode + $?)) done return $retcode } @@ -40,42 +41,35 @@ echo "netatalk_usable=\"$netatalk_usable\"" echo "netatalk_active=\"$netatalk_active\"" -%start -u @l_rusr@ +%start -u @l_susr@ rcService netatalk enable yes || exit 0 rcService netatalk active yes && exit 0 for daemon in $netatalk_daemons; do - cmd=""; pid=""; log="" + cmd=""; log="" case $daemon in - afpd ) - eval "cmd=\"@l_prefix@/sbin/$daemon -P $netatalk_vardir/run/$daemon.pid \$netatalk_flags_$daemon\"" - pid="" - log="$netatalk_vardir/log/$daemon.log" - ;; atalkd ) + if [ ".$netatalk_name" = . ]; then + netatalk_name="`hostname | cut -d. -f1`" + fi eval "cmd=\"@l_prefix@/sbin/$daemon \$netatalk_flags_$daemon\"" - pid="$netatalk_vardir/run/$daemon.pid" + cmd="$cmd; @l_prefix@/bin/nbprgstr -p 4 \"$netatalk_name:Workstation$netatalk_zone\" &" + cmd="$cmd; @l_prefix@/bin/nbprgstr -p 4 \"$netatalk_name:netatalk$netatalk_zone\" &" log="$netatalk_vardir/log/$daemon.log" ;; - cnid_dbd ) + afpd ) eval "cmd=\"@l_prefix@/sbin/$daemon \$netatalk_flags_$daemon\"" - pid="$netatalk_vardir/run/$daemon.pid" log="$netatalk_vardir/log/$daemon.log" ;; cnid_metad ) - eval "cmd=\"@l_prefix@/sbin/$daemon \$netatalk_flags_$daemon\"" - pid="$netatalk_vardir/run/$daemon.pid" - log="$netatalk_vardir/log/$daemon.log" + eval "cmd=\"@l_prefix@/sbin/$daemon -l log_note -f $netatalk_vardir/log/$daemon.log $netatalk_flags_$daemon\"" + log="/dev/null" ;; - cnid_papd ) + papd ) eval "cmd=\"@l_prefix@/sbin/$daemon \$netatalk_flags_$daemon\"" - pid="$netatalk_vardir/run/$daemon.pid" log="$netatalk_vardir/log/$daemon.log" ;; esac ( nohup $cmd $log 2>&1 & - if [ ".$pid" != . ]; then - echo $! >$pid - fi ) >/dev/null 2>&1 done @@ -101,7 +95,7 @@ if [ -f $netatalk_vardir/log/$daemon.log ]; then shtool rotate -f \ -n $netatalk_log_numfiles -s $netatalk_log_minsize -d \ - -z $netatalk_log_complevel -m 664 -o @l_rusr@ -g @l_rgrp@ \ + -z $netatalk_log_complevel -m 664 -o @l_susr@ -g @l_sgrp@ \ -P "$netatalk_log_prolog" \ -E "$netatalk_log_epilog; echo 1 >$hintfile" \ $netatalk_vardir/log/$daemon.log