]> arthur.barton.de Git - netatalk.git/blobdiff - distrib/initscripts/Makefile.am
initscripts: describe netatalk version
[netatalk.git] / distrib / initscripts / Makefile.am
index a3f4b0855836222ab3c3c26130509bf60df5014b..5d73af0b2f24059c9ec348c3c79c85140d6cf482 100644 (file)
 
 SUFFIXES = .tmpl .
 
+pkgconfdir = @PKGCONFDIR@
+
+#
+# Template Generation
+#
+
 .tmpl:
        sed -e s@:BINDIR:@${bindir}@ \
            -e s@:SBINDIR:@${sbindir}@ \
            -e s@:ETCDIR:@${pkgconfdir}@ \
+           -e s@:PKGLIBEXECDIR:@${pkglibexecdir}@ \
+           -e s@:NETATALK_VERSION:@${NETATALK_VERSION}@ \
            <$< >$@
 
-CLEANFILES = rc.atalk.redhat rc.atalk.suse rc.atalk.tru64 atalk
+GENERATED_FILES = \
+       rc.afpd.netbsd          \
+       rc.atalk.redhat-sysv    \
+       rc.atalk.redhat-systemd \
+       rc.atalk.tru64          \
+       rc.atalk.bsd            \
+       rc.atalkd.netbsd        \
+       rc.atalk.suse           \
+       rc.cnid_metad.netbsd    \
+       rc.papd.netbsd          \
+       rc.timelord.netbsd      \
+       rc.atalk.sysv           \
+       rc.atalk.gentoo         \
+       rc.atalk.debian         \
+       service.atalk.redhat-systemd
 
-pkgconfdir = @PKGCONFDIR@
+TEMPLATES = \
+       rc.afpd.netbsd.tmpl             \
+       rc.atalk.redhat-sysv.tmpl       \
+       rc.atalk.redhat-systemd.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            \
+       service.atalk.redhat-systemd.tmpl
+
+CLEANFILES = $(GENERATED_FILES) $(sysv_SCRIPTS) $(service_DATA) afpd atalkd cnid_metad papd timelord
+EXTRA_DIST = $(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)
+
+uninstall-startup:
+       -chkconfig --del $(sysv_SCRIPTS)
+       rm -f $(DESTDIR)$(sysvdir)/$(sysv_SCRIPTS)
+
+endif
+
+#
+# checking for "redhat" style systemd scripts:
+#
+
+if USE_REDHAT_SYSTEMD
+
+sysvdir        = $(pkglibexecdir)
+sysv_SCRIPTS = netatalk.sh
+
+servicedir     = /lib/systemd/system
+service_DATA   = netatalk.service
 
-atalk: rc.atalk.redhat
-       cp -f rc.atalk.redhat atalk
-       chmod a+x atalk
+$(sysv_SCRIPTS): rc.atalk.redhat-systemd
+       cp -f rc.atalk.redhat-systemd $(sysv_SCRIPTS)
+       chmod a+x $(sysv_SCRIPTS)
+
+$(service_DATA): service.atalk.redhat-systemd
+       cp -f service.atalk.redhat-systemd $(service_DATA)
+
+install-data-hook:
+       -systemctl daemon-reload
+
+uninstall-startup:
+       -systemctl disable $(service_DATA)
+       rm -f $(DESTDIR)$(sysvdir)/$(sysv_SCRIPTS)      \
+               $(DESTDIR)$(servicedir)/$(service_DATA)
+       -systemctl daemon-reload
 
 endif
 
@@ -33,42 +115,162 @@ endif
 
 if USE_SUSE
 
-sysvdir        = /sbin/init.d
-sysv_SCRIPTS = atalk
+sysvdir        = /etc/init.d
+sysv_SCRIPTS = netatalk
+
+$(sysv_SCRIPTS): rc.atalk.suse
+       cp -f rc.atalk.suse $(sysv_SCRIPTS)
+       chmod a+x $(sysv_SCRIPTS)
+
+install-data-hook:
+       -insserv $(sysv_SCRIPTS)
 
-atalk: rc.atalk.suse
-       cp -f rc.atalk.suse atalk
-       chmod a+x atalk
+uninstall-startup:
+       -insserv -d $(sysv_SCRIPTS)
+       rm -f $(DESTDIR)$(sysvdir)/$(sysv_SCRIPTS)
 
 endif
 
 #
+# checking for "tru64" style sysv scripts:
+#
+
+if USE_TRU64
+
+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 "cobalt" style sysv scripts:
+# checking for NetBSD init scripts
 #
 
-if USE_COBALT
+if USE_NETBSD
 
-sysvdir        = /etc/rc.d/init.d
-sysv_SCRIPTS = atalk
+sysvdir = /etc/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 $@
 
-atalk: rc.atalk.cobalt
-       cp -f rc.atalk.cobalt atalk
-       chmod a+x atalk
+cnid_metad: rc.cnid_metad.netbsd
+       cp -f $< $@
+       chmod a+x $@
+
+papd: rc.papd.netbsd
+       cp -f $< $@
+       chmod a+x $@
+
+timelord: rc.timelord.netbsd
+       cp -f $< $@
+       chmod a+x $@
+
+install-data-hook:
+
+uninstall-hook:
+
+uninstall-startup: uninstall-am
 
 endif
 
 #
-# checking for "tru64" style sysv scripts:
+# checking for Solaris init scripts
 #
 
-if USE_TRU64
+if USE_SOLARIS
+
+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
 
-sysvdir        = /sbin/init.d
-sysv_SCRIPTS = atalk
+uninstall-startup:
+#      -rc-update del $(sysv_SCRIPTS) default
+#      rm -f $(DESTDIR)$(sysvdir)/$(sysv_SCRIPTS)
 
-atalk: rc.atalk.tru64
-       cp -f rc.atalk.tru64 atalk
-       chmod a+x atalk
+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
+