]> arthur.barton.de Git - netatalk.git/blobdiff - config/Makefile.am
Private Webmin installation with our netatalk.wbm module
[netatalk.git] / config / Makefile.am
index 1a4334694fbac2e1554f36d8d7892fe7dcbdba1b..8679c206cb0acd8c083dcc4d96d6fd60401cc22b 100644 (file)
@@ -2,18 +2,23 @@
 
 SUFFIXES = .tmpl .
 
-GENFILES = afpd.conf
-TMPLFILES = $(foreach file,$(GENFILES),$(file).tmpl)
-CONFFILES = AppleVolumes.default AppleVolumes.system \
-       atalkd.conf netatalk.conf netatalk.pamd papd.conf
+GENFILES = afpd.conf AppleVolumes.default
+TMPLFILES = afpd.conf.tmpl AppleVolumes.default.tmpl
+CONFFILES = AppleVolumes.system \
+       atalkd.conf netatalk.conf papd.conf
 PAMFILES = netatalk.pamd
+OVERWRITE_CONFIG = @OVERWRITE_CONFIG@
 
 EXTRA_DIST = $(CONFFILES) $(TMPLFILES) $(PAMFILES)
 
-CLEANFILES += $(GENFILES)
+CLEANFILES = $(GENFILES)
 
-pkgconf_DATA= @OVERWRITE@
 pkgconfdir = @PKGCONFDIR@
+webminpath = @WEBMIN_PATH@
+webminuser = @WEBMIN_USER@
+webminversion = @WEBMIN_VERSION@
+webminpass = @WEBMIN_PASS@
+webminport = @WEBMIN_PORT@
 
 #
 # rule to parse template files
@@ -21,20 +26,115 @@ pkgconfdir = @PKGCONFDIR@
 
 .tmpl:
        sed -e s@:UAMS_PATH:@${UAMS_PATH}@ \
-           -e s@:NLS_PATH:@${pkgconfdir}/nls@ \
            -e s@:ETCDIR:@${pkgconfdir}@ \
+           -e s@:COMPILED_BACKENDS:@"$(compiled_backends)"@ \
+           -e s@:DEFAULT_CNID_SCHEME:@$(DEFAULT_CNID_SCHEME)@ \
            <$< >$@
 
+#
+# install configuration files
+#
+
+install-config-files: $(CONFFILES) $(GENFILES)
+       $(mkinstalldirs) $(DESTDIR)$(pkgconfdir)
+       for f in $(CONFFILES) $(GENFILES); do \
+               if test "x$(OVERWRITE_CONFIG)" = "xyes" -o ! -f $(DESTDIR)$(pkgconfdir)/$$f; then \
+                       echo "$(INSTALL_DATA) $$f $(DESTDIR)$(pkgconfdir)"; \
+                       $(INSTALL_DATA) $$f $(DESTDIR)$(pkgconfdir); \
+               else \
+                       echo "not overwriting $$f"; \
+               fi; \
+       done
+
+install-webmin:
+       if test "x$(webminpath)" != "x"; then \
+               if ! test -d "x$(webminpath)"; then \
+                       mkdir -p "$(webminpath)"; \
+               fi; \
+               cd "$(webminpath)"; \
+               wget http://prdownloads.sourceforge.net/webadmin/webmin-$(webminversion).tar.gz ; \
+               tar xzf webmin-$(webminversion).tar.gz; \
+               rm webmin-$(webminversion).tar.gz; \
+               mv webmin-$(webminversion) webmin; \
+               cd webmin; \
+               rm -r adsl-client apache at backup-config bacula-backup bandwidth bind8 bsdexports burner \
+                       cfengine cluster-copy cluster-cron cluster-passwd cluster-shell cluster-software cluster-useradmin \
+                       cluster-usermin cluster-webmin custom \
+                       cron dfsadmin dhcpd dnsadmin dovecot exim exports \
+                       fdisk fetchmail file filter firewall format frox fsdump grub heartbeat hpuxexports \
+                       htaccess-htpasswd idmapd images inetd inittab ipfilter ipfw ipsec jabber \
+                       ldap-server lilo logrotate lpadmin lvm \
+                       mailboxes mailcap majordomo man mon mscstyle3 mysql \
+                       net nis openslp pap phpini postfix postgresql ppp-client pptp-client pptp-server \
+                       procmail proftpd pserver qmailadmin raid rbac \
+                       samba sarg sendmail sentry sgiexports shell \
+                       shorewall smart-status smf software spam squid sshd \
+                       status stunnel tcpwrappers telnet time tunnel \
+                       updown usermin vgetty webalizer wuftpd xinetd zones; \
+               wget https://sourceforge.net/projects/netatalk/files/Netatalk%20Webmin%20Module/0.9-beta2/netatalk.wbm.gz/download ; \
+               tar xzf netatalk.wbm.gz; \
+               rm netatalk.wbm.gz; \
+               cd netatalk; \
+               rm config; \
+               echo "applevolumedefault_c=$(sysconfdir)/netatalk/AppleVolumes.default" >> config; \
+               echo "applevolumesystem_c=$(sysconfdir)/netatalk/AppleVolumes.system" >> config; \
+               echo "afpd_c=$(sysconfdir)/netatalk/afpd.conf" >> config; \
+               echo "atalk_c=$(sysconfdir)/netatalk/atalk.conf" >> config; \
+               echo "papd_c=$(sysconfdir)/netatalk/papd.conf" >> config; \
+               echo "afpd_d=$(sbindir)/afpd" >> config; \
+               echo "atalkd_d=$(sbindir)/atalkd" >> config; \
+               echo "papd_d=$(sbindir)/papd" >> config; \
+               echo "netatalk_c=@PAMDIR@/etc/pam.d" >> config; \
+               echo "atalk_start=$(sysconfdir)/init.d/atalk" >> config; \
+               echo "select_minUsers=" >> config; \
+               echo "select_maxUsers=" >> config; \
+               echo "atalk_nls=" >> config; \
+               cd ..; \
+               config_dir="$(sysconfdir)/netatalk/webmin-config" \
+                       var_dir="$(prefix)/var" \
+                       perl="`which perl`" \
+                       port="$(webminport)" \
+                       login="$(webminuser)" \
+                       password="$(webminpass)" \
+                       ssl=1 \
+                       atboot=1 \
+                       bootscript=netamin \
+                       ./setup.sh > /dev/null; \
+       fi
+
 #
 # pluggable authentication modules support
 #
 
 if USE_PAM
 
-pamdir   = $(sysconfdir)/pam.d
+pamdir = @PAMDIR@/etc/pam.d
 
-install-data-local:
+install-data-local: install-config-files install-webmin $(PAMFILES)
        $(mkinstalldirs) $(DESTDIR)$(pamdir)
-       $(INSTALL_DATA) netatalk.pamd $(DESTDIR)$(pamdir)/netatalk
+       if test "x$(OVERWRITE_CONFIG)" = "xyes" -o ! -f $(DESTDIR)$(pamdir)/netatalk; then \
+           echo "$(INSTALL_DATA) $$f $(DESTDIR)$(pamdir)/netatalk"; \
+           $(INSTALL_DATA) netatalk.pamd $(DESTDIR)$(pamdir)/netatalk || echo "WARNING: Can't install PAM files";              \
+       else \
+           echo "not overwriting $(DESTDIR)$(pamdir)/netatalk"; \
+       fi; 
+
+uninstall-local:
+       echo rm -f $(DESTDIR)$(pamdir)/netatalk; \
+       rm -f $(DESTDIR)$(pamdir)/netatalk; \
+       for f in $(CONFFILES) $(GENFILES); do \
+               echo rm -f $(DESTDIR)$(pkgconfdir)/$$f; \
+               rm -f $(DESTDIR)$(pkgconfdir)/$$f; \
+       done
+
+else
+
+install-data-local: install-config-files install-webmin
+
+uninstall-local:
+       for f in $(CONFFILES) $(GENFILES); do \
+               echo rm -f $(DESTDIR)$(pkgconfdir)/$$f; \
+               rm -f $(DESTDIR)$(pkgconfdir)/$$f; \
+       done
 
 endif