]> arthur.barton.de Git - netatalk.git/commitdiff
Added m4 and -config files, built rc.atalk.redhat, updated SUBDIRS
authorrufustfirefly <rufustfirefly>
Mon, 7 Aug 2000 19:43:03 +0000 (19:43 +0000)
committerrufustfirefly <rufustfirefly>
Mon, 7 Aug 2000 19:43:03 +0000 (19:43 +0000)
distrib/Makefile.am
distrib/initscripts/Makefile.am [new file with mode: 0644]
distrib/initscripts/rc.atalk.redhat.in [new file with mode: 0755]
distrib/m4/Makefile.am [new file with mode: 0644]
distrib/m4/netatalk.m4 [new file with mode: 0644]

index 80f177889387fcfe0ef53f1bd07914f01ba2ab33..765af279125f6f94cce45f0276e614a7be1bbfe3 100644 (file)
@@ -1,3 +1,3 @@
 # Makefile.am for distrib/
 
-# currently nothing...
+SUBDIRS = config initscripts m4
diff --git a/distrib/initscripts/Makefile.am b/distrib/initscripts/Makefile.am
new file mode 100644 (file)
index 0000000..040c2fb
--- /dev/null
@@ -0,0 +1,4 @@
+# Makefile for distrib/initscripts/
+
+sysvdir        = /etc/rc.d/init.d/
+sysv_SCRIPTS = rc.atalk.redhat
diff --git a/distrib/initscripts/rc.atalk.redhat.in b/distrib/initscripts/rc.atalk.redhat.in
new file mode 100755 (executable)
index 0000000..00a97a4
--- /dev/null
@@ -0,0 +1,139 @@
+#! /bin/sh
+# chkconfig: 345 91 35
+# description: This package enables Linux to talk to Macintosh
+#              computers via the AppleTalk networking protocol and 
+#              provides printer, file sharing, and AppleTalk routing 
+#              services.   
+#
+# AppleTalk daemons. Make sure not to start atalkd in the background:
+# its data structures must have time to stablize before running the
+# other processes.
+
+# Source function library.
+. /etc/rc.d/init.d/functions
+
+# Source networking configuration.
+. /etc/sysconfig/network
+
+test -x @sbindir@/atalkd || exit 0
+
+test -f @CONFIG_DIR@/netatalk.conf || exit 0
+
+# read in netatalk configuration
+. @CONFIG_DIR@/netatalk.conf
+
+# Check that networking is up.
+[ ${NETWORKING} = "no" ] && exit 0
+
+# initialize return values
+RETVAL=1
+RETVAL_ATALKD=0
+RETVAL_PAPD=0
+RETVAL_AFPD=0
+
+# startup code for everything
+atalk_startup() {
+    if [ x"${ATALKD_RUN}" != x"no" ]; then 
+       daemon @sbindir@/atalkd
+       RETVAL_ATALKD=$?
+
+       if [ -x @bindir@/nbprgstr ]; then       
+           @bindir@/nbprgstr -p 4 "${ATALK_NAME}:Workstation${ATALK_ZONE}"
+           @bindir@/nbprgstr -p 4 "${ATALK_NAME}:netatalk${ATALK_ZONE}"
+       fi      
+
+       if [ x"${PAPD_RUN}" = x"yes"  -a -x @sbindir@/papd ]; then
+           daemon @sbindir@/papd
+           RETVAL_PAPD=$?
+       fi
+
+       # check for timelord in bin directory
+       if [ -x @bindir@/timelord ]; then
+           daemon @bindir@/timelord
+       fi
+
+       # check for timelord in sbin directory
+       if [ -x @sbindir@/timelord ]; then
+           daemon @sbindir@/timelord
+       fi
+
+    fi
+
+    if [ x"${AFPD_RUN}" = x"yes" -a -x @sbindir@/afpd ] ; then
+           daemon @sbindir@/afpd ${AFPD_UAMLIST} -g ${AFPD_GUEST} \
+               -c ${AFPD_MAX_CLIENTS} -n "${ATALK_NAME}${ATALK_ZONE}"
+           RETVAL_AFPD=$?
+    fi
+
+    if [ $RETVAL_ATALKD -eq 0 -a $RETVAL_PAPD -eq 0 -a $RETVAL_AFPD -eq 0 ]; then
+        RETVAL=0
+       touch /var/lock/subsys/atalk || RETVAL=1
+    fi
+}
+
+case "$1" in
+'start')
+       echo -n 'Starting AppleTalk services: '
+       if [ x"${ATALK_BGROUND}" = x"yes" ]; then 
+           echo -n "(backgrounded)"
+           atalk_startup >& /dev/null &
+       else
+           atalk_startup
+       fi
+       echo 
+       ;;
+'stop')
+       echo -n 'Shutting down AppleTalk services: '
+       if [ x"${ATALKD_RUN}" != x"no" ]; then
+           if [ x"${PAPD_RUN}" = x"yes" -a -x @sbindir@/papd ]; then
+               killproc papd
+               RETVAL_PAPD=$?
+           fi
+
+            # checking for timelord in bin directory
+           if [ -x @bindir@/timelord ]; then
+               killproc timelord
+           fi
+
+            # checking for timelord in sbin directory
+           if [ -x @sbindir@/timelord ]; then
+               killproc timelord
+           fi
+
+           @bindir@/nbpunrgstr "${ATALK_NAME}:Workstation${ATALK_ZONE}"
+           @bindir@/nbpunrgstr "${ATALK_NAME}:netatalk${ATALK_ZONE}"
+
+           # kill atalkd last, since without it the plumbing goes away.
+           if [ -x @sbindir@/atalkd ]; then
+               killproc atalkd
+               RETVAL_ATALKD=$?
+           fi
+       fi          
+
+       # kill this separately as we also do AFP/tcp
+       if [ x"${AFPD_RUN}" = x"yes" -a -x @sbindir@/afpd ]; then
+           killproc afpd
+           RETVAL_AFPD=$?
+       fi
+
+       if [ $RETVAL_ATALKD -eq 0 -a $RETVAL_PAPD -eq 0 -a $RETVAL_AFPD -eq 0 ] ; then
+           RETVAL=0
+           rm -f /var/lock/subsys/atalk || RETVAL=1
+       fi
+       echo ""
+       ;;
+  'restart'|'reload')
+       $0 stop
+       $0 start
+       RETVAL=$?
+       ;;
+  'status')
+       status atalkd
+       RETVAL=$?
+       ;;
+  *)
+       echo "Usage: atalk {start|stop|restart|status}"
+       exit 1
+esac
+
+exit $RETVAL
diff --git a/distrib/m4/Makefile.am b/distrib/m4/Makefile.am
new file mode 100644 (file)
index 0000000..3d163c2
--- /dev/null
@@ -0,0 +1,4 @@
+# Makefile for distrib/m4/
+
+m4datadir      = $(datadir)/aclocal
+m4data_DATA    = netatalk.m4
diff --git a/distrib/m4/netatalk.m4 b/distrib/m4/netatalk.m4
new file mode 100644 (file)
index 0000000..09c8bbc
--- /dev/null
@@ -0,0 +1,158 @@
+# Configure paths for netatalk
+# Based on libsigc++ script by Karl Nelson
+# Modified by jeff b (jeff@univrel.pr.uconn.edu)
+
+dnl Test for netatalk, and define NETATALK_CFLAGS and NETATALK_LIBS
+dnl   to be used as follows:
+dnl AM_PATH_NETATALK(MINIMUM-VERSION, [ACTION-IF-FOUND [, ACTION-IF-NOT-FOUND]])
+dnl
+AC_DEFUN(AM_PATH_NETATALK,
+[dnl 
+dnl Get the cflags and libraries from the netatalk-config script
+dnl
+
+dnl
+dnl Prefix options
+dnl
+AC_ARG_WITH(netatalk-prefix,
+[  --with-netatalk-prefix=PREFIX
+                          Prefix where netatalk is installed (optional)]
+, netatalk_config_prefix="$withval", netatalk_config_prefix="")
+
+AC_ARG_WITH(netatalk-exec-prefix,
+[  --with-netatalk-exec-prefix=PREFIX 
+                          Exec prefix where netatalk is installed (optional)]
+, netatalk_config_exec_prefix="$withval", netatalk_config_exec_prefix="")
+
+AC_ARG_ENABLE(netatalktest, 
+[  --disable-netatalktest     Do not try to compile and run a test netatalk 
+                          program],
+, enable_netatalktest=yes)
+
+dnl
+dnl Prefix handling
+dnl
+  if test x$netatalk_config_exec_prefix != x ; then
+     netatalk_config_args="$netatalk_config_args --exec-prefix=$netatalk_config_exec_prefix"
+     if test x${NETATALK_CONFIG+set} != xset ; then
+        NETATALK_CONFIG=$netatalk_config_exec_prefix/bin/netatalk-config
+     fi
+  fi
+  if test x$netatalk_config_prefix != x ; then
+     netatalk_config_args="$netatalk_config_args --prefix=$netatalk_config_prefix"
+     if test x${NETATALK_CONFIG+set} != xset ; then
+        NETATALK_CONFIG=$netatalk_config_prefix/bin/netatalk-config
+     fi
+  fi
+
+dnl
+dnl See if netatalk-config is alive
+dnl
+  AC_PATH_PROG(NETATALK_CONFIG, netatalk-config, no)
+  netatalk_version_min=$1
+
+dnl
+dnl  Version check
+dnl
+  AC_MSG_CHECKING(for netatalk - version >= $netatalk_version_min)
+  no_netatalk=""
+  if test "$NETATALK_CONFIG" = "no" ; then
+    no_netatalk=yes
+  else
+    netatalk_version=`$NETATALK_CONFIG --version`
+
+    NETATALK_CFLAGS=`$NETATALK_CONFIG $netatalk_config_args --cflags`
+    NETATALK_LIBS=`$NETATALK_CONFIG $netatalk_config_args --libs`
+
+    netatalk_major_version=`echo $netatalk_version | \
+           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+    netatalk_minor_version=`echo $netatalk_version | \
+           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+    netatalk_micro_version=`echo $netatalk_version | \
+           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+
+    netatalk_major_min=`echo $netatalk_major_version | \
+           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\1/'`
+    netatalk_minor_min=`echo $netatalk_minor_version | \
+           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\2/'`
+    netatalk_micro_min=`echo $netatalk_micro_version | \
+           sed 's/\([[0-9]]*\).\([[0-9]]*\).\([[0-9]]*\)/\3/'`
+
+    netatalk_version_proper=`expr \
+        $netatalk_major_version \> $netatalk_major_min \| \
+        $netatalk_major_version \= $netatalk_major_min \& \
+        $netatalk_minor_version \> $netatalk_minor_min \| \
+        $netatalk_major_version \= $netatalk_major_min \& \
+        $netatalk_minor_version \= $netatalk_minor_min \& \
+        $netatalk_micro_version \>= $netatalk_micro_min `
+
+    if test "$netatalk_version_proper" = "1" ; then
+      AC_MSG_RESULT([$netatalk_major_version.$netatalk_minor_version.$netatalk_micro_version])
+    else
+      AC_MSG_RESULT(no)
+      no_netatalk=yes
+    fi
+
+    if test "X$no_netatalk" = "Xyes" ; then
+      enable_netatalktest=no
+    fi
+
+    AC_LANG_SAVE
+    AC_LANG_CPLUSPLUS
+
+dnl
+dnl
+dnl
+    if test "x$enable_netatalktest" = "xyes" ; then
+      AC_MSG_CHECKING(if netatalk sane)
+      ac_save_CXXFLAGS="$CXXFLAGS"
+      ac_save_LIBS="$LIBS"
+      CXXFLAGS="$CXXFLAGS $NETATALK_CFLAGS"
+      LIBS="$LIBS $NETATALK_LIBS"
+
+      rm -f conf.netatalktest
+
+      AC_TRY_RUN([
+#include <stdio.h>
+#include <libatalk/version.h>
+
+int main(int argc,char **argv)
+  {
+   if (netatalk_major_version!=$netatalk_major_version ||
+       netatalk_minor_version!=$netatalk_minor_version ||
+       netatalk_micro_version!=$netatalk_micro_version)
+     { printf("(%d.%d.%d) ",
+         netatalk_major_version,netatalk_minor_version,netatalk_micro_version);
+       return 1;
+     }
+  }
+
+],[
+  AC_MSG_RESULT(yes)
+],[
+  AC_MSG_RESULT(no)
+  no_netatalk=yes
+]
+,[echo $ac_n "cross compiling; assumed OK... $ac_c"])
+
+       CXXFLAGS="$ac_save_CXXFLAGS"
+       LIBS="$ac_save_LIBS"
+     fi
+  fi
+
+  dnl
+  dnl
+  if test "x$no_netatalk" = x ; then
+     ifelse([$2], , :, [$2])     
+  else
+     NETATALK_CFLAGS=""
+     NETATALK_LIBS=""
+     ifelse([$3], , :, [$3])
+  fi
+
+  AC_LANG_RESTORE
+
+  AC_SUBST(NETATALK_CFLAGS)
+  AC_SUBST(NETATALK_LIBS)
+])
+