]> arthur.barton.de Git - netatalk.git/blobdiff - distrib/initscripts/Makefile.am
Include NetBSD downstream patches. From HAT.
[netatalk.git] / distrib / initscripts / Makefile.am
index 2d744a58deb87c7dc3d6de865e09bd5a70650e39..9f8a68dc8c268bf7b5c4468a03950ddb1b794013 100644 (file)
@@ -21,14 +21,35 @@ GENERATED_FILES = \
        rc.atalk.bsd            \
        rc.atalkd.netbsd        \
        rc.atalk.suse           \
+       rc.cnid_metad.netbsd    \
        rc.papd.netbsd          \
-       rc.timelord.netbsd
-TEMPLATES = $(foreach f,$(GENERATED_FILES),$(f).tmpl)
-
-CLEANFILES = $(GENERATED_FILES)
-EXTRA_DIST = $(TEMPLATES) rc.atalk.cobalt rc.atalk.sysv
-
-install-data-hook: $(GENERATED_FILES)
+       rc.timelord.netbsd      \
+       rc.atalk.sysv           \
+       rc.atalk.gentoo         \
+       rc.atalk.debian
+
+TEMPLATES = \
+       rc.afpd.netbsd.tmpl             \
+       rc.atalk.redhat.tmpl            \
+       rc.atalk.tru64.tmpl             \
+       rc.atalk.bsd.tmpl               \
+       rc.atalkd.netbsd.tmpl           \
+       rc.atalk.suse.tmpl              \
+       rc.cnid_metad.netbsd.tmpl       \
+       rc.papd.netbsd.tmpl             \
+       rc.timelord.netbsd.tmpl         \
+       rc.atalk.sysv.tmpl              \
+       rc.atalk.gentoo.tmpl            \
+       rc.atalk.debian.tmpl
+
+CLEANFILES = $(GENERATED_FILES) $(sysv_SCRIPTS) afpd atalkd cnid_metad papd timelord
+EXTRA_DIST = $(TEMPLATES) rc.atalk.cobalt
+
+# overwrite automake uninstall
+# not beautiful, but this way we can call the OS specific init script
+# tools, like chkconfig, insserv or rc-update
+
+uninstall: uninstall-startup
 
 #
 # checking for "redhat" style sysv scripts:
@@ -36,12 +57,19 @@ install-data-hook: $(GENERATED_FILES)
 
 if USE_REDHAT
 
-sysvdir        = /etc/rc.d/init.d
+sysvdir        = $(sysconfdir)/rc.d/init.d
 sysv_SCRIPTS = atalk
 
-atalk: rc.atalk.redhat
-       cp -f rc.atalk.redhat atalk
-       chmod a+x atalk
+$(sysv_SCRIPTS): rc.atalk.redhat
+       cp -f rc.atalk.redhat $(sysv_SCRIPTS)
+       chmod a+x $(sysv_SCRIPTS)
+
+install-data-hook:
+       -chkconfig --add $(sysv_SCRIPTS)
+
+uninstall-startup:
+       -chkconfig --del $(sysv_SCRIPTS)
+       rm -f $(sysvdir)/$(sysv_SCRIPTS)
 
 endif
 
@@ -51,28 +79,40 @@ endif
 
 if USE_SUSE
 
-sysvdir        = /etc/init.d
+sysvdir        = $(sysconfdir)/init.d
 sysv_SCRIPTS = atalk
 
-atalk: rc.atalk.suse
-       cp -f rc.atalk.suse atalk
-       chmod a+x atalk
+$(sysv_SCRIPTS): rc.atalk.suse
+       cp -f rc.atalk.suse $(sysv_SCRIPTS)
+       chmod a+x $(sysv_SCRIPTS)
+
+install-data-hook:
+       -insserv $(sysv_SCRIPTS)
+
+uninstall-startup:
+       -insserv -d $(sysv_SCRIPTS)
+       rm -f $(sysvdir)/$(sysv_SCRIPTS)
 
 endif
 
-#
 #
 # checking for "cobalt" style sysv scripts:
 #
 
 if USE_COBALT
 
-sysvdir        = /etc/rc.d/init.d
+sysvdir        = $(sysconfdir)/rc.d/init.d
 sysv_SCRIPTS = atalk
 
-atalk: rc.atalk.cobalt
-       cp -f rc.atalk.cobalt atalk
-       chmod a+x atalk
+$(sysv_SCRIPTS): rc.atalk.cobalt
+       cp -f rc.atalk.cobalt $(sysv_SCRIPTS)
+       chmod a+x $(sysv_SCRIPTS)
+
+install-data-hook:
+
+uninstall-hook:
+
+uninstall-startup: uninstall-am
 
 endif
 
@@ -82,12 +122,18 @@ endif
 
 if USE_TRU64
 
-sysvdir        = /sbin/init.d
+sysvdir        = $$(sysconfdir)/init.d
 sysv_SCRIPTS = atalk
 
-atalk: rc.atalk.tru64
-       cp -f rc.atalk.tru64 atalk
-       chmod a+x atalk
+$(sysv_SCRIPTS): rc.atalk.tru64
+       cp -f rc.atalk.tru64 $(sysv_SCRIPTS)
+       chmod a+x $(sysv_SCRIPTS)
+
+install-data-hook:
+
+uninstall-hook:
+
+uninstall-startup: uninstall-am
 
 endif
 
@@ -97,16 +143,21 @@ endif
 
 if USE_NETBSD
 
-sysvdir = /etc/rc.d
-sysv_SCRIPTS = afp atalk pap timelord
+sysvdir = $(sysconfdir)/rc.d
+sysv_SCRIPTS = afpd atalkd cnid_metad papd timelord
 
 afpd: rc.afpd.netbsd
        cp -f $< $@
+       chmod a+x $@
 
 atalkd: rc.atalkd.netbsd
        cp -f $< $@
        chmod a+x $@
 
+cnid_metad: rc.cnid_metad.netbsd
+       cp -f $< $@
+       chmod a+x $@
+
 papd: rc.papd.netbsd
        cp -f $< $@
        chmod a+x $@
@@ -115,5 +166,96 @@ timelord: rc.timelord.netbsd
        cp -f $< $@
        chmod a+x $@
 
+install-data-hook:
+
+uninstall-hook:
+
+uninstall-startup: uninstall-am
+
+endif
+
+#
+# checking for Solaris init scripts
+#
+
+if USE_SOLARIS
+
+sysvdir = $(sysconfdir)/init.d
+sysv_SCRIPTS = atalk
+
+$(sysv_SCRIPTS): rc.atalk.sysv
+       cp -f rc.atalk.sysv $@
+       chmod a+x $@
+
+install-data-hook:
+       rm -f $(sysconfdir)/rc2.d/S90atalk
+       -ln -s ../init.d/$(sysv_SCRIPTS) $(sysconfdir)/rc2.d/S90$(sysv_SCRIPTS)
+       rm -f $(sysconfdir)/rc0.d/K04$(sysv_SCRIPTS)
+       -ln -s ../init.d/atalk $(sysconfdir)/rc0.d/K04$(sysv_SCRIPTS)
+
+uninstall-startup:
+       rm -f $(sysvdir)/$(sysv_SCRIPTS) \
+               $(sysconfdir)/rc2.d/S90$(sysv_SCRIPTS) \
+               $(sysconfdir)/rc0.d/K04$(sysv_SCRIPTS)
+
+endif
+
+#
+# checking for "Gentoo" style sysv scripts:
+#
+
+if USE_GENTOO
+
+sysvdir = $(sysconfdir)/init.d
+sysv_SCRIPTS = atalk
+
+$(sysv_SCRIPTS): rc.atalk.gentoo
+       cp -f rc.atalk.gentoo $(sysv_SCRIPTS)
+       chmod a+x $(sysv_SCRIPTS)
+
+install-data-hook:
+       -rc-update add $(sysv_SCRIPTS) default
+
+uninstall-startup:
+       -rc-update del $(sysv_SCRIPTS) default
+       rm -f $(sysvdir)/$(sysv_SCRIPTS)
+
+endif
+
+#
+# checking for "Debian" style sysv scripts:
+#
+
+if USE_DEBIAN
+
+sysvdir = $(sysconfdir)/init.d
+sysv_SCRIPTS = netatalk
+
+$(sysv_SCRIPTS): rc.atalk.debian
+       cp -f rc.atalk.debian $(sysv_SCRIPTS)
+       chmod a+x $(sysv_SCRIPTS)
+
+install-data-hook:
+       update-rc.d $(sysv_SCRIPTS) defaults 90 10
+
+uninstall-startup:
+       rm -f $(sysvdir)/$(sysv_SCRIPTS)
+       update-rc.d netatalk remove
+
+endif
+
+
+#
+# defaults, no init scripts installed
+#
+
+if USE_UNDEF
+
+install-data-hook:
+
+uninstall-hook:
+
+uninstall-startup: uninstall-am
+
 endif