Makefile.am 5.35 KB
Newer Older
1
# Makefile.am - Top-level Makefile.am for Sympa
2
3
4
# RCS Identication ; $Revision$ ; $Date$ 
#
# Sympa - SYsteme de Multi-Postage Automatique
5
6
7
8
9
#
# Copyright (c) 1997, 1998, 1999 Institut Pasteur & Christophe Wolfhugel
# Copyright (c) 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
# 2006, 2007, 2008, 2009, 2010, 2011 Comite Reseau des Universites
# Copyright (c) 2011, 2012, 2013, 2014 GIP RENATER
10
11
12
13
14
15
16
17
18
19
20
21
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
22
# along with this program.  If not, see <http://www.gnu.org/licenses/>.
23

24
SUBDIRS = src wwsympa soap web_tt2 mail_tt2 doc po po-wwsympa
25

26
27
28
check_SCRIPTS = t/LockedFile.t \
		t/compile_modules.t \
		t/compile_executables.t
29

30
31
32
EXTRA_DIST = important_changes.pl \
	     sympa.spec.in \
	     sympa.spec \
33
	     README.charset \
34
35
	     etc_README \
	     $(check_SCRIPTS)
36
CLEANFILES = previous_sympa_version
37

38
39
check-local:
	@PERL5LIB=src/lib:wwsympa:soap; export PERL5LIB; \
40
	$(PERL) -MTest::Harness -e 'runtests @ARGV' $(check_SCRIPTS)
41

42
install-data-hook: installdir installconfig nextstep importantchanges
root's avatar
root committed
43

44
installdir:
45
46
47
48
49
50
51
	@echo "Creating plugin directory"
	@for dir in $(modulesdir)/Sympa/Template/Plugin; do \
		if [ ! -d $(DESTDIR)$$dir ] ; then \
			echo "Creating $(DESTDIR)$$dir"; \
			install -d -m 755 $(DESTDIR)$$dir; \
		fi; \
	done
52
53
54
55
	@echo "Creating writable directories"
	@for dir in $(expldir) $(spooldir) $(spooldir)/msg $(spooldir)/digest \
		$(spooldir)/moderation $(spooldir)/expire $(spooldir)/auth \
		$(spooldir)/outgoing $(spooldir)/tmp $(spooldir)/task \
56
		$(bouncedir) $(arcdir) $(piddir) $(staticdir) $(staticdir)/js $(sysconfdir); do \
57
58
59
		if [ ! -d $(DESTDIR)$$dir ] ; then \
			echo "Creating $(DESTDIR)$$dir"; \
			install -d -m 755 $(DESTDIR)$$dir; \
60
61
62
		fi; \
		chown $(USER) $(DESTDIR)$$dir || /bin/true; \
		chgrp $(GROUP) $(DESTDIR)$$dir || /bin/true; \
63
	done
64

65
installconfig: installdir
66
67
	@echo "Installing basic configuration ..."
	export PERL5LIB=$(DESTDIR)$(modulesdir); \
68
	if [ ! -f  $(DESTDIR)$(confdir)/sympa.conf ]; then \
olivier.salaun's avatar
olivier.salaun committed
69
		echo "This looks like your first Sympa installation. The following wizard will assist you to create your first Sympa configuration.";\
70
71
72
		if [ ! -d $(DESTDIR)$(confdir) ]; then \
			$(INSTALL) -d -m 755 $(DESTDIR)$(confdir); \
		fi; \
73
		$(SED) \
74
75
76
77
78
79
			-e 's|--PERL--|$(PERL)|' \
			-e 's|--modulesdir--|$(top_srcdir)/src/lib|' \
			< $(top_srcdir)/src/sympa_wizard.pl.in > \
			$(top_srcdir)/src/sympa_wizard.pl.install; \
		chmod +x $(top_srcdir)/src/sympa_wizard.pl.install; \
		$(top_srcdir)/src/sympa_wizard.pl.install \
80
			--create sympa.conf \
81
			--target $(DESTDIR)$(confdir)/sympa.conf \
82
			|| /bin/true; \
83
		rm -f $(top_srcdir)/src/sympa_wizard.pl.install; \
84
	fi; \
85
86
	if [ ! -f $(DESTDIR)$(sysconfdir)/data_structure.version ]; then \
		cd $(DESTDIR)$(sysconfdir); \
87
88
89
		echo "# automatically created file" >> data_structure.version; \
		echo "# you should not modify it" >> data_structure.version; \
		echo $(VERSION) >> data_structure.version; \
90
91
		chown $(USER) data_structure.version || /bin/true; \
		chgrp $(GROUP) data_structure.version || /bin/true; \
sympa-authors's avatar
sympa-authors committed
92
	fi
93
	@for dir in create_list_templates custom_actions families \
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
		global_task_models list_task_models scenari search_filters \
		mail_tt2 web_tt2; do \
		if [ ! -d $(DESTDIR)$(sysconfdir)/$$dir ] ; then \
			echo "Creating $(DESTDIR)$(sysconfdir)/$$dir"; \
			install -d -m 755 $(DESTDIR)$(sysconfdir)/$$dir; \
		fi; \
		chown $(USER) $(DESTDIR)$(sysconfdir)/$$dir || /bin/true; \
		chgrp $(GROUP) $(DESTDIR)$(sysconfdir)/$$dir || /bin/true; \
	done
	@if [ ! -e $(DESTDIR)$(sysconfdir)/README ]; then \
		echo "Creating $(DESTDIR)$(sysconfdir)/README"; \
		$(SED) \
			-e 's|--sysconfdir--|$(sysconfdir)|' \
			-e 's|--defaultdir--|$(defaultdir)|' \
			etc_README > $(DESTDIR)$(sysconfdir)/README; \
		chmod 444 $(DESTDIR)$(sysconfdir)/README; \
	fi
sympa-authors's avatar
sympa-authors committed
111

olivier.salaun's avatar
olivier.salaun committed
112
nextstep: 
113
114
	@echo ""
	@echo "** You can find documentation at:"
115
	@echo "** http://www.sympa.org/documentation/manual/sympa-$(VERSION).pdf"
olivier.salaun's avatar
olivier.salaun committed
116
117
	@echo ""
	@echo "#########################################################"
118
119
120
121
	@echo "# CHECK YOU HAVE ALL THE NEEDED MODULES:"
	@echo "#    * Check the required perl modules are installed:"
	@echo "#        $(sbindir)/sympa_wizard.pl --check"
	@echo "#"
122
123
124
125
	@echo "# FIRST INSTALLATION:"
	@echo "#    * Check the INSTALL file."
	@echo "#    * Run the wizard to define some required parameters that can't be guessed."
	@echo "#        $(sbindir)/sympa_wizard.pl"
126
	@echo "#"
127
128
129
	@echo "# UPGRADING"
	@echo "#    * Run this script to upgrade your data structures:"
	@echo "#        $(sbindir)/sympa.pl --upgrade"
olivier.salaun's avatar
olivier.salaun committed
130
	@echo "#######################################################"
131
132

importantchanges:
133
134
	if test -f $(top_srcdir)/previous_sympa_version; then \
		export PREVIOUS=`$(CAT) $(top_srcdir)/previous_sympa_version`; \
135
	fi; \
136
137
138
		$(PERL) $(top_srcdir)/important_changes.pl \
			--current=$(VERSION) \
			--previous=$${PREVIOUS};
139
140

uninstall-hook:
141
142
	rm -f $(DESTDIR)$(confdir)/sympa.conf
	rm -f $(DESTDIR)$(confdir)/wwsympa.conf