]> arthur.barton.de Git - netatalk.git/blobdiff - distrib/initscripts/Makefile.am
Merge master
[netatalk.git] / distrib / initscripts / Makefile.am
index 6cedeb5099e2e43d74611f6ebd11521cebfb8e0e..becfbbd3a7ab58c51c0a49c5622edd3e93c987dc 100644 (file)
@@ -12,63 +12,111 @@ pkgconfdir = @PKGCONFDIR@
        sed -e s@:BINDIR:@${bindir}@ \
            -e s@:SBINDIR:@${sbindir}@ \
            -e s@:ETCDIR:@${pkgconfdir}@ \
+           -e s@:NETATALK_VERSION:@${NETATALK_VERSION}@ \
            <$< >$@
 
 GENERATED_FILES = \
-       rc.atalk.redhat.tmpl            \
+       rc.afpd.netbsd          \
+       rc.atalk.redhat-sysv    \
+       rc.atalk.tru64          \
+       rc.atalk.bsd            \
+       rc.atalk.suse-sysv      \
+       rc.cnid_metad.netbsd    \
+       rc.atalk.sysv           \
+       rc.atalk.gentoo         \
+       rc.atalk.debian         \
+       service.atalk.systemd   \
+       service.atalk-cnid.systemd
+
+TEMPLATES = \
+       rc.afpd.netbsd.tmpl             \
+       rc.atalk.redhat-sysv.tmpl       \
        rc.atalk.tru64.tmpl             \
        rc.atalk.bsd.tmpl               \
-       rc.atalk.suse.tmpl
-TEMPLATES = $(foreach f,$(GENERATED_FILES),$(f).tmpl)
+       rc.atalk.suse-sysv.tmpl         \
+       rc.cnid_metad.netbsd.tmpl       \
+       rc.atalk.sysv.tmpl              \
+       rc.atalk.gentoo.tmpl            \
+       rc.atalk.debian.tmpl            \
+       service.atalk.systemd.tmpl      \
+       service.atalk-cnid.systemd.tmpl
 
-CLEANFILES = rc.atalk.bsd rc.atalk.redhat rc.atalk.suse rc.atalk.tru64 atalk
-EXTRA_DIST = $(TEMPLATES) rc.atalk.cobalt rc.atalk.sysv
+CLEANFILES = $(GENERATED_FILES) $(sysv_SCRIPTS) $(service_DATA) afpd cnid_metad
+EXTRA_DIST = $(TEMPLATES)
 
-install-data-hook: $(TEMPLATES)
+# 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:
 #
 
-if USE_REDHAT
+if USE_REDHAT_SYSV
 
 sysvdir        = /etc/rc.d/init.d
-sysv_SCRIPTS = atalk
+sysv_SCRIPTS = netatalk
+
+$(sysv_SCRIPTS): rc.atalk.redhat-sysv
+       cp -f rc.atalk.redhat-sysv $(sysv_SCRIPTS)
+       chmod a+x $(sysv_SCRIPTS)
+
+install-data-hook:
+       -chkconfig --add $(sysv_SCRIPTS)
 
-atalk: rc.atalk.redhat
-       cp -f rc.atalk.redhat atalk
-       chmod a+x atalk
+uninstall-startup:
+       -chkconfig --del $(sysv_SCRIPTS)
+       rm -f $(DESTDIR)$(sysvdir)/$(sysv_SCRIPTS)
 
 endif
 
 #
-# checking for "SuSE" style sysv scripts:
+# checking for general systemd scripts:
 #
 
-if USE_SUSE
+if USE_SYSTEMD
+
+servicedir     = /lib/systemd/system
+service_DATA   = netatalk.service netatalk-cnid.service 
 
-sysvdir        = /sbin/init.d
-sysv_SCRIPTS = atalk
+netatalk.service: service.atalk.systemd
+       cp -f service.atalk.systemd netatalk.service
 
-atalk: rc.atalk.suse
-       cp -f rc.atalk.suse atalk
-       chmod a+x atalk
+netatalk-cnid.service: service.atalk-cnid.systemd
+       cp -f service.atalk-cnid.systemd netatalk-cnid.service
+
+install-data-hook:
+       -systemctl daemon-reload
+
+uninstall-startup:
+       -systemctl disable $(service_DATA)
+       rm -f $(DESTDIR)$(servicedir)/netatalk.service
+       rm -f $(DESTDIR)$(servicedir)/netatalk-cnid.service
+       -systemctl daemon-reload
 
 endif
 
 #
-#
-# checking for "cobalt" style sysv scripts:
+# checking for "SuSE" style sysv scripts:
 #
 
-if USE_COBALT
+if USE_SUSE_SYSV
 
-sysvdir        = /etc/rc.d/init.d
-sysv_SCRIPTS = atalk
+sysvdir        = /etc/init.d
+sysv_SCRIPTS = netatalk
+
+$(sysv_SCRIPTS): rc.atalk.suse-sysv
+       cp -f rc.atalk.suse-sysv $(sysv_SCRIPTS)
+       chmod a+x $(sysv_SCRIPTS)
 
-atalk: rc.atalk.cobalt
-       cp -f rc.atalk.cobalt atalk
-       chmod a+x atalk
+install-data-hook:
+       -insserv $(sysv_SCRIPTS)
+
+uninstall-startup:
+       -insserv -d $(sysv_SCRIPTS)
+       rm -f $(DESTDIR)$(sysvdir)/$(sysv_SCRIPTS)
 
 endif
 
@@ -78,11 +126,128 @@ endif
 
 if USE_TRU64
 
-sysvdir        = /sbin/init.d
-sysv_SCRIPTS = atalk
+sysvdir        = /etc/init.d
+sysv_SCRIPTS = netatalk
+
+$(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
+
+#
+# checking for NetBSD init scripts
+#
+
+if USE_NETBSD
+
+sysvdir = /etc/rc.d
+sysv_SCRIPTS = afpd cnid_metad
+
+afpd: rc.afpd.netbsd
+       cp -f $< $@
+       chmod a+x $@
+
+cnid_metad: rc.cnid_metad.netbsd
+       cp -f $< $@
+       chmod a+x $@
+
+install-data-hook:
+
+uninstall-hook:
+
+uninstall-startup: uninstall-am
+
+endif
+
+#
+# checking for Solaris init scripts
+#
+
+if USE_SOLARIS
 
-atalk: rc.atalk.tru64
-       cp -f rc.atalk.tru64 atalk
-       chmod a+x atalk
+sysvdir = /etc/init.d
+sysv_SCRIPTS = netatalk
+
+$(sysv_SCRIPTS): rc.atalk.sysv
+       cp -f rc.atalk.sysv $@
+       chmod a+x $@
+
+install-data-hook:
+       rm -f $(DESTDIR)/etc/rc2.d/S90$(sysv_SCRIPTS)
+       -ln -s ../init.d/$(sysv_SCRIPTS) $(DESTDIR)/etc/rc2.d/S90$(sysv_SCRIPTS)
+       rm -f $(DESTDIR)/etc/rc0.d/K04$(sysv_SCRIPTS)
+       -ln -s ../init.d/$(sysv_SCRIPTS) $(DESTDIR)/etc/rc0.d/K04$(sysv_SCRIPTS)
+
+uninstall-startup:
+       rm -f $(DESTDIR)$(sysvdir)/$(sysv_SCRIPTS) \
+               $(DESTDIR)/etc/rc2.d/S90$(sysv_SCRIPTS) \
+               $(DESTDIR)/etc/rc0.d/K04$(sysv_SCRIPTS)
+
+endif
+
+#
+# checking for "Gentoo" style sysv scripts:
+#
+
+if USE_GENTOO
+
+sysvdir = /etc/init.d
+sysv_SCRIPTS = netatalk
+
+$(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 $(DESTDIR)$(sysvdir)/$(sysv_SCRIPTS)
+
+endif
+
+#
+# checking for "Debian" style sysv scripts:
+#
+
+if USE_DEBIAN
+
+sysvdir = /etc/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 $(DESTDIR)$(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
+