Makefile 34.7 KB
Newer Older
1 2
#!/usr/bin/make

3 4 5
# Prefix for packaging
DESTDIR=

6 7 8 9 10 11 12
# Flag for optimizations
PROD=no

# Compression
JSCOMPRESS=$(PROD)
CSSCOMPRESS=$(PROD)

13
PERL=$$(which perl)
14
PERLVERSION=`perl -e '$$version = $$^V; $$version =~ s/v//; print $$version'`
Yadd's avatar
Yadd committed
15 16 17
SU=su -c
COMPRESS=tar czf
UNCOMPRESS=tar xzf
Clément OUDOT's avatar
Clément OUDOT committed
18
LISTCOMPRESSED=tar tzf
Yadd's avatar
Yadd committed
19
COMPRESSSUFFIX=tar.gz
20 21 22 23 24
# Perl options
#PERLOPTIONS="INSTALLDIRS=vendor"
PERLOPTIONS=

# Default directories install
Yadd's avatar
Yadd committed
25 26 27
PREFIX=/usr/local
LMPREFIX=$(PREFIX)/lemonldap-ng
RLMPREFIX=$(DESTDIR)/$(LMPREFIX)
28
# BIN dirs
Yadd's avatar
Yadd committed
29 30 31 32
BINDIR=$(LMPREFIX)/bin
RBINDIR=$(DESTDIR)/$(BINDIR)
DATADIR=$(LMPREFIX)/data
RDATADIR=$(DESTDIR)/$(DATADIR)
33

Yadd's avatar
Yadd committed
34
EXAMPLEROOT=`pwd`/example
35 36

# Document roots for Apache VirtualHosts
Yadd's avatar
Yadd committed
37 38 39 40 41 42 43
DOCUMENTROOT=$(LMPREFIX)/htdocs
PORTALDIR=$(DOCUMENTROOT)/portal
RPORTALDIR=$(DESTDIR)/$(PORTALDIR)
PORTALSKINSDIR=$(PORTALDIR)/skins
RPORTALSKINSDIR=$(DESTDIR)/$(PORTALSKINSDIR)
MANAGERDIR=$(DOCUMENTROOT)/manager
RMANAGERDIR=$(DESTDIR)/$(MANAGERDIR)
Yadd's avatar
Yadd committed
44
MANAGERSITEDIR=$(MANAGERDIR)
Yadd's avatar
Yadd committed
45
RMANAGERSITEDIR=$(DESTDIR)/$(MANAGERSITEDIR)
Yadd's avatar
Yadd committed
46 47
MANAGERSTATICDIR=$(MANAGERSITEDIR)/static
RMANAGERSTATICDIR=$(DESTDIR)/$(MANAGERSTATICDIR)
Yadd's avatar
Yadd committed
48
MANAGERRELATIVESTATICDIR=/static
Yadd's avatar
Yadd committed
49 50 51 52
MANAGERPSGIDIR=$(MANAGERSITEDIR)/psgi
RMANAGERPSGIDIR=$(DESTDIR)/$(MANAGERPSGIDIR)
MANAGERTEMPLATESDIR=$(MANAGERSITEDIR)/templates
RMANAGERTEMPLATESDIR=$(DESTDIR)/$(MANAGERTEMPLATESDIR)
53
DOCDIR=$(DOCUMENTROOT)
Yadd's avatar
Yadd committed
54
RDOCDIR=$(DESTDIR)/$(DOCDIR)
55 56 57
DEFDOCDIR=$(DOCUMENTROOT)/doc
RDEFDOCDIR=$(DESTDIR)/$(DEFDOCDIR)
FRDOCDIR=$(DOCUMENTROOT)/fr-doc
Yadd's avatar
Yadd committed
58 59 60 61 62 63
TESTDIR=$(DOCUMENTROOT)/test
RTESTDIR=$(DESTDIR)/$(TESTDIR)
EXAMPLESDIR=$(LMPREFIX)/examples
REXAMPLESDIR=$(DESTDIR)/$(EXAMPLESDIR)
TOOLSDIR=$(LMPREFIX)/tools
RTOOLSDIR=$(DESTDIR)/$(TOOLSDIR)
64 65

# Handler dir
Yadd's avatar
Yadd committed
66 67
HANDLERDIR=$(LMPREFIX)/handler
RHANDLERDIR=$(DESTDIR)/$(HANDLERDIR)
68 69

# Configuration dir
Yadd's avatar
Yadd committed
70 71 72 73
CONFDIR=$(LMPREFIX)/etc
RCONFDIR=$(DESTDIR)/$(CONFDIR)
CRONDIR=$(LMPREFIX)/etc/cron.d
RCRONDIR=$(DESTDIR)/$(CRONDIR)
74 75
CONFFILENAME=lemonldap-ng.ini
STORAGECONFFILE=$(CONFDIR)/$(CONFFILENAME)
76

77
# LL::NG configuration storage dir
Yadd's avatar
Yadd committed
78 79
FILECONFIGDIR=$(DATADIR)/conf
RFILECONFIGDIR=$(DESTDIR)/$(FILECONFIGDIR)
80

81
# LL::NG sessions storage dir
Yadd's avatar
Yadd committed
82 83 84
APACHESESSIONFILEDIR=$(DATADIR)/sessions
RAPACHESESSIONFILEDIR=$(DESTDIR)/$(APACHESESSIONFILEDIR)
APACHESESSIONFILELOCKDIR=$(APACHESESSIONFILEDIR)/lock
85
RAPACHESESSIONFILELOCKDIR=$(DESTDIR)/$(APACHESESSIONFILELOCKDIR)
86

87 88 89 90 91 92 93
# LL::NG persistent sessions storage dir
APACHEPSESSIONFILEDIR=$(DATADIR)/psessions
RAPACHEPSESSIONFILEDIR=$(DESTDIR)/$(APACHEPSESSIONFILEDIR)
APACHEPSESSIONFILELOCKDIR=$(APACHEPSESSIONFILEDIR)/lock
RAPACHEPSESSIONFILELOCKDIR=$(DESTDIR)/$(APACHEPSESSIONFILELOCKDIR)

# LL::NG notifications storage dir
94 95
APACHEFILENOTIFDIR=$(DATADIR)/notifications
RFILENOTIFDIR=$(DESTDIR)/$(APACHEFILENOTIFDIR)
96

97 98
# LL::NG captcha dir
CAPTCHADIR=$(DATADIR)/captcha
99 100
RCAPTCHADIR=$(DESTDIR)/$(CAPTCHADIR)

101
# Apache user/group
102 103 104
APACHEUSER=
APACHEGROUP=

105
# Apache version
Yadd's avatar
Yadd committed
106
APACHEVERSION=2.X
107

108
# DNS Domain for cookie and virtual hosts
109 110
DNSDOMAIN=example.com

111 112
# Virtual Host Listen IP and Port (*, *:80, ...)
VHOSTLISTEN=*:80
113
WEBSERVERPORT=19876
114

115
# Other
Yadd's avatar
Yadd committed
116 117 118 119
SRCCOMMONDIR=lemonldap-ng-common
SRCHANDLERDIR=lemonldap-ng-handler
SRCPORTALDIR=lemonldap-ng-portal
SRCMANAGERDIR=lemonldap-ng-manager
120 121 122 123 124

VERSION=`head -n1 changelog |sed -e 's/lemonldap-ng (//' -e 's/).*$$//'`
PORTALSKINS=`ls $(SRCPORTALDIR)/example/skins/`
DIFF=diff -aurN -x '*.bak' -x .svn -x '*.swp' --ignore-matching-lines='.*jquery.*' --ignore-matching-lines='.*lemonldap-ng\.ini.*'

125
EXAMPLELANG=en # For static Manager example only
Clément OUDOT's avatar
Clément OUDOT committed
126
ERASECONFIG=1 # Set to 0 if you do not want to replace your configuration
127

128
# GENERATED SRC FILESlemonldap-ng-common/lib/Lemonldap/NG/Common/Conf/DefaultValues.pm
129
MANAGERJSONSRC= scripts/jsongenerator.pl \
Yadd's avatar
Yadd committed
130
		$(SRCMANAGERDIR)/lib/Lemonldap/NG/Manager/Build.pm \
131
		$(SRCMANAGERDIR)/lib/Lemonldap/NG/Manager/Build/Attributes.pm \
132 133
		$(SRCMANAGERDIR)/lib/Lemonldap/NG/Manager/Build/Tree.pm \
		$(SRCMANAGERDIR)/lib/Lemonldap/NG/Manager/Conf/Zero.pm
134 135
MANAGERJSONDST=$(SRCMANAGERDIR)/site/static/struct.json \
		$(SRCMANAGERDIR)/site/static/js/conftree.js \
Yadd's avatar
Yadd committed
136
		$(SRCMANAGERDIR)/lib/Lemonldap/NG/Manager/Attributes.pm \
137
		$(SRCMANAGERDIR)/lib/Lemonldap/NG/Manager/Constants.pm \
138
		$(SRCCOMMONDIR)/lib/Lemonldap/NG/Common/Conf/DefaultValues.pm \
139
		$(SRCCOMMONDIR)/lib/Lemonldap/NG/Common/Conf/Constants.pm \
140
		_example/conf/lmConf-1.js
141 142 143 144 145 146 147 148 149
PERLCOMMONSRC:=$(shell find $(SRCCOMMONDIR)/lib -name '*.pm')
PERLCOMMONDST=$(SRCCOMMONDIR)/blib/lib/Lemonldap/NG/Common.pm
PERLHANDLERSRC:=$(shell find $(SRCHANDLERDIR)/lib -name '*.pm')
PERLHANDLERDST=$(SRCHANDLERDIR)/blib/lib/Lemonldap/NG/Handler.pm
PERLPORTALSRC:=$(shell find $(SRCPORTALDIR)/lib -name '*.pm')
PERLPORTALDST=$(SRCPORTALDIR)/blib/lib/Lemonldap/NG/Portal.pm
PERLMANAGERSRC:=$(shell find $(SRCMANAGERDIR)/lib -name '*.pm')
PERLMANAGERDST=$(SRCMANAGERDIR)/blib/lib/Lemonldap/NG/Manager.pm

Yadd's avatar
Yadd committed
150 151
DIFFPREFIX=

152
all:	configure common handler manager portal
Yadd's avatar
Yadd committed
153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177
	@echo
	@echo "Building succeed. Now run :"
	@echo " - make test to verify your installation"
	@echo " - make install to install all"
	@echo
	@echo 'Other targets :'
	@echo " * Partial build :"
	@echo "   - portal, manager, handler"
	@echo " * Doxygen documentation"
	@echo "   - doxygen (to build Doxygen documentation in doc/devel/)"
	@echo
	@echo 'Other targets launched by "make install" :'
	@echo " * Perl libraries install :"
	@echo "   - install_libs          (all Perl libraries)"
	@echo "   - install_portal_libs"
	@echo "   - install_manager_libs"
	@echo "   - install_handler_libs"
	@echo " * Binaries install :"
	@echo "   - install_bin           ($(BINDIR))"
	@echo " * Web sites install :"
	@echo "   - install_site          (all sites including install_doc_site)"
	@echo "   - install_portal_site   ($(PORTALDIR))"
	@echo "   - install_manager_site  ($(MANAGERDIR))"
	@echo "   - install_handler_site  ($(HANDLERDIR))"
	@echo " * Documentation install :"
178
	@echo "   - install_doc_site      ($(DEFDOCDIR))"
Yadd's avatar
Yadd committed
179 180
	@echo "   - install_examples_site ($(EXAMPLESDIR))"
	@echo
Yadd's avatar
Yadd committed
181
	@echo "Other languages documentation (fr only for now)"
182 183
	@echo " - fr-doc                  (needs OmegaT)"
	@echo " - install_fr_doc_site"
Yadd's avatar
Yadd committed
184
	@echo
185

186 187 188
#
# Perl libraries configuration
#
Yadd's avatar
Yadd committed
189

190
json:	$(MANAGERJSONDST)
Yadd's avatar
Yadd committed
191

192
$(MANAGERJSONDST):	$(MANAGERJSONSRC)
193
	./scripts/jsongenerator.pl
Yadd's avatar
Yadd committed
194

Yadd's avatar
Yadd committed
195
configure:	json common_conf handler_conf portal_conf manager_conf
196

197 198 199 200 201 202 203 204 205
common_conf:	${SRCCOMMONDIR}/Makefile

handler_conf:	${SRCHANDLERDIR}/Makefile

portal_conf:	${SRCPORTALDIR}/Makefile

manager_conf:	${SRCMANAGERDIR}/Makefile

${SRCCOMMONDIR}/Makefile:
Yadd's avatar
Yadd committed
206
	@cd ${SRCCOMMONDIR}; LMNGCONFFILE=$(STORAGECONFFILE) $(PERL) Makefile.PL $(PERLOPTIONS)
207

208
${SRCHANDLERDIR}/Makefile:
Yadd's avatar
Yadd committed
209
	@cd ${SRCHANDLERDIR}; $(PERL) Makefile.PL $(PERLOPTIONS)
210

211
${SRCPORTALDIR}/Makefile:
Yadd's avatar
Yadd committed
212
	@cd ${SRCPORTALDIR}; $(PERL) Makefile.PL $(PERLOPTIONS)
213

214
${SRCMANAGERDIR}/Makefile:
Yadd's avatar
Yadd committed
215
	@cd ${SRCMANAGERDIR}; $(PERL) Makefile.PL $(PERLOPTIONS)
216

217 218 219
#
# Perl libraries make
#
220 221 222 223 224 225 226 227 228
common:		$(PERLCOMMONDST)

handler:	$(PERLHANDLERDST)

portal:		$(PERLPORTALDST)

manager:	$(PERLMANAGERDST)

$(PERLCOMMONDST):	common_conf $(PERLCOMMONSRC)
229
	@$(MAKE) -C ${SRCCOMMONDIR}
230

231
$(PERLHANDLERDST):	handler_conf common $(PERLHANDLERSRC)
232
	@$(MAKE) -C ${SRCHANDLERDIR}
233

234
$(PERLPORTALDST):	portal_conf common $(PERLPORTALSRC)
235
	@$(MAKE) -C ${SRCPORTALDIR}
236

237 238
$(PERLMANAGERDST):	manager_conf handler $(PERLMANAGERSRC)
	$(MAKE) -C ${SRCMANAGERDIR}
239

Yadd's avatar
Yadd committed
240
test:		all common_test handler_test portal_test manager_test extra_test
241 242 243 244

common_test:	common
	@$(MAKE) -C ${SRCCOMMONDIR} test

Yadd's avatar
Yadd committed
245
handler_test:	handler
246
	@$(MAKE) -C ${SRCHANDLERDIR} test FULLPERL="$(PERL) -I../${SRCCOMMONDIR}/blib/lib/"
247

Yadd's avatar
Yadd committed
248
portal_test:	portal
249
	@$(MAKE) -C ${SRCPORTALDIR} test FULLPERL="$(PERL) -I../${SRCCOMMONDIR}/blib/lib/ -I../${SRCHANDLERDIR}/blib/lib/"
250

Yadd's avatar
Yadd committed
251
manager_test:	manager
252
	@$(MAKE) -C ${SRCMANAGERDIR} test FULLPERL="$(PERL) -I../${SRCCOMMONDIR}/blib/lib/ -I../${SRCHANDLERDIR}/blib/lib/"
253

Yadd's avatar
Yadd committed
254
extra_test:	all
255
	cd ${SRCPORTALDIR} && prove -b -I ../$(SRCCOMMONDIR)/blib/lib -I ../$(SRCHANDLERDIR)/blib/lib -I../${SRCPORTALDIR}/blib/lib/ xt
256
#	PERL_DL_NONLAZY=1 $(PERL) "-MExtUtils::Command::MM" "-e" "test_harness(0, 'lemonldap-ng-common/blib/lib', 'lemonldap-ng-handler/blib/lib', 'lemonldap-ng-manager/blib/lib', 'lemonldap-ng-portal/blib/lib')" extra-tests/*.t
Yadd's avatar
Yadd committed
257

258 259 260
e2e_test:	all prepare_test_server start_web_server launch_protractor stop_web_server

prepare_test_server:
261
	@mkdir -p e2e-tests/conf/lock e2e-tests/conf/persistents/lock
Yadd's avatar
Yadd committed
262
	@$(MAKE) install_webserver_conf \
263 264
		RCONFDIR=e2e-tests/conf \
		ERASECONFIG=1 \
265
		VHOSTLISTEN='*:$(WEBSERVERPORT)' \
266 267
		PORTALDIR=`pwd`/$(SRCPORTALDIR)/example \
		MANAGERDIR=`pwd`/$(SRCMANAGERDIR)/site \
268 269 270
		MANAGERPSGIDIR=`pwd`/e2e-tests \
		DEFDOCDIR=`pwd`/doc \
		FRDOCDIR=`pwd`/po-doc/fr
Yadd's avatar
Yadd committed
271 272
	@cp e2e-tests/lmConf-1.js e2e-tests/lemonldap-ng.ini e2e-tests/env.conf e2e-tests/conf/
	@perl -i -pe 'BEGIN{$$p=`pwd`;chomp $$p}s#__pwd__#$$p#;s/__port__/$(WEBSERVERPORT)/' e2e-tests/conf/lemonldap-ng.ini e2e-tests/conf/lmConf-1.js e2e-tests/conf/env.conf
273

Yadd's avatar
Yadd committed
274 275 276
e2e-tests/conf/apache2.pid: start_web_server

start_web_server:	all prepare_test_server
Yadd's avatar
Yadd committed
277
	# Clean old server if launched
278
	-@[ -e e2e-tests/conf/apache2.pid ] && kill `cat e2e-tests/conf/apache2.pid` && sleep 1
279
	# Start web server (designed for Debian, path may be broken else)
280 281
	@LLNG_DEFAULTCONFFILE=`pwd`/e2e-tests/conf/lemonldap-ng.ini /usr/sbin/apache2 -d `pwd`/e2e-tests -f apache2.conf -k start

Yadd's avatar
Yadd committed
282
reload_web_server:
Yadd's avatar
Yadd committed
283 284 285 286 287 288
	@if [ -e e2e-tests/conf/apache2.pid ]; then \
		LLNG_DEFAULTCONFFILE=`pwd`/e2e-tests/conf/lemonldap-ng.ini /usr/sbin/apache2 -d `pwd`/e2e-tests -f apache2.conf -k graceful; \
	else \
		$(MAKE) start_web_server; \
	fi

Yadd's avatar
Yadd committed
289
launch_protractor:	all e2e-tests/conf/apache2.pid
290
	# Start e2e tests
Yadd's avatar
Yadd committed
291
	# NB: you must have protractor installed (using npm install -g protractor)
Yadd's avatar
Yadd committed
292
	# and have run update-webdriver at least once and have a node.js > 4.0
293
	@WEBSERVERPORT=$(WEBSERVERPORT) protractor e2e-tests/protractor-conf.js
294 295 296

stop_web_server:
	# Stop web server
Yadd's avatar
Yadd committed
297
	-@ [ -e e2e-tests/conf/apache2.pid ] && kill `cat e2e-tests/conf/apache2.pid`
298
	# Clean
299
	@rm -rf e2e-tests/conf
Yadd's avatar
Yadd committed
300

301 302
restart_web_server: start_web_server

303 304 305 306
#
# INSTALL
#
install:	install_libs install_bin install_site
307

308 309 310
#
# Perl libraires install
#
Yadd's avatar
Yadd committed
311
install_libs:	common_install_libs install_handler_libs install_portal_libs install_manager_libs
312 313

common_install_libs:		common
314
	@$(MAKE) -C ${SRCCOMMONDIR} install
315

Yadd's avatar
Yadd committed
316
install_handler_libs:	handler
317
	@$(MAKE) -C ${SRCHANDLERDIR} install
318

Yadd's avatar
Yadd committed
319
install_portal_libs:		portal
320
	@$(MAKE) -C ${SRCPORTALDIR} install
321

Yadd's avatar
Yadd committed
322
install_manager_libs:	manager
323
	@$(MAKE) -C ${SRCMANAGERDIR} install
324

325
example:
Yadd's avatar
Yadd committed
326
	$(MAKE) install_site install_bin LMPREFIX=$(EXAMPLEROOT)
327

Yadd's avatar
Yadd committed
328
install_bin:	install_conf_dir
329 330
	# Binary install
	@install -v -d $(RBINDIR)
Yadd's avatar
Yadd committed
331
	@cp -f\
332
		${SRCHANDLERDIR}/example/scripts/purgeLocalCache \
Yadd's avatar
Yadd committed
333
		${SRCPORTALDIR}/example/scripts/purgeCentralCache \
334
		${SRCPORTALDIR}/example/scripts/buildPortalWSDL \
Yadd's avatar
Yadd committed
335
		${SRCCOMMONDIR}/scripts/convertConfig \
Yadd's avatar
Bugs :  
Yadd committed
336
		${SRCCOMMONDIR}/scripts/lmMigrateConfFiles2ini \
337
		${SRCCOMMONDIR}/scripts/rotateOidcKeys \
Yadd's avatar
Yadd committed
338 339
		${SRCMANAGERDIR}/scripts/lmConfigEditor \
		${SRCMANAGERDIR}/scripts/lemonldap-ng-cli \
Yadd's avatar
Yadd committed
340
			$(RBINDIR)
341 342
	@if [ ! "$(APACHEUSER)" ]; then \
		$(PERL) -i -pe 's#__APACHEUSER__#nobody#g;' $(RBINDIR)/lmConfigEditor; \
343
		$(PERL) -i -pe 's#__APACHEUSER__#nobody#g;' $(RBINDIR)/lemonldap-ng-cli; \
344 345
	else \
		$(PERL) -i -pe 's#__APACHEUSER__#$(APACHEUSER)#g;' $(RBINDIR)/lmConfigEditor; \
346
		$(PERL) -i -pe 's#__APACHEUSER__#$(APACHEUSER)#g;' $(RBINDIR)/lemonldap-ng-cli; \
347 348 349
	fi
	@if [ ! "$(APACHEGROUP)" ]; then \
		$(PERL) -i -pe 's#__APACHEGROUP__#nobody#g;' $(RBINDIR)/lmConfigEditor; \
350
		$(PERL) -i -pe 's#__APACHEGROUP__#nobody#g;' $(RBINDIR)/lemonldap-ng-cli; \
351 352
	else \
		$(PERL) -i -pe 's#__APACHEGROUP__#$(APACHEGROUP)#g;' $(RBINDIR)/lmConfigEditor; \
353
		$(PERL) -i -pe 's#__APACHEGROUP__#$(APACHEGROUP)#g;' $(RBINDIR)/lemonldap-ng-cli; \
354
	fi
355
	@chmod +x $(RBINDIR)/*
356 357 358 359

#
# SITE INSTALL
#
360
install_site:	install_manager_site install_portal_site install_handler_site install_test_site install_examples_site install_doc_site install_webserver_conf
361
	# Site install
362
	@install -v -d $(RCONFDIR)
Clément OUDOT's avatar
Clément OUDOT committed
363 364
	# Check if erase is wanted
	@if [ "$(ERASECONFIG)" -eq "1" ]; then \
Yadd's avatar
Yadd committed
365
		cp -f _example/etc/for_etc_hosts $(RCONFDIR); \
366
	fi
Yadd's avatar
Yadd committed
367
	@$(PERL) -i -pe 's/__DNSDOMAIN__/$(DNSDOMAIN)/g' $(RCONFDIR)/for_etc_hosts
368
	# Fix a lost of rights on the main directory
Yadd's avatar
Yadd committed
369
	@chmod 755 $(RBINDIR) $(RDOCUMENTROOT) $(REXAMPLESDIR) $(RHANDLERDIR) $(RPORTALSKINSDIR) $(RMANAGERSITEDIR) $(RTOOLSDIR) $(RCONFDIR) $(RDATADIR)
370
	@echo
371
	@echo "LemonLDAP::NG v${VERSION} is installed with these parameters:"
372 373 374 375 376
	@echo "  - System configuration: ${CONFDIR}"
	@echo "  - DNS domain (for cookies and virtual hosts): ${DNSDOMAIN}"
	@echo
	@echo "To finish configuration:"
	@echo
377 378 379 380
	@echo "1 - Add this in your Apache $(APACHEVERSION) configuration file:"
	@echo "      include ${CONFDIR}/portal-apache$(APACHEVERSION).conf"
	@echo "      include ${CONFDIR}/handler-apache$(APACHEVERSION).conf"
	@echo "      include ${CONFDIR}/manager-apache$(APACHEVERSION).conf"
381
	@echo "      include ${CONFDIR}/test-apache$(APACHEVERSION).conf"
382
	@echo
383 384
	@echo "2 - Restart Apache:"
	@echo "      apache$(APACHEVERSION)ctl restart"
385
	@echo
386
	@echo "3 - Run 'make postconf' as root to update /etc/hosts if your DNS service does not known auth.$(DNSDOMAIN) and manager.$(DNSDOMAIN)"
387
	@echo
388 389 390 391 392 393
	@echo "4 - Try to connect to http://test1.${DNSDOMAIN}/ or http://test2.${DNSDOMAIN}/ with demonstration accounts:"
	@echo "    - rtyler/rtyler"
	@echo "    - msmith/msmith"
	@echo "    - dwho/dwho"
	@echo
	@echo "5 - Connect to Manager at http://manager.${DNSDOMAIN}/ to edit configuration"
394
	@echo
395
	@if [ ! "$(APACHEUSER)" ]; then \
396
		echo;echo "    Warning, since APACHEUSER was not set, $(APACHESESSIONFILEDIR), $(APACHEPSESSIONFILEDIR), $(CAPTCHADIR) and $(CONFDIR) have permissive permissions."; \
397 398 399
		echo "    Fix them by yourself to restrict their view to apache process only"; \
	fi
	@echo
400

401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423
install_webserver_conf:
	@install -m 755 -v -d $(RCONFDIR)
	@if [ "$(ERASECONFIG)" -eq "1" ]; then \
		cp -f _example/etc/portal-apache$(APACHEVERSION).conf $(RCONFDIR); \
		cp -f _example/etc/handler-apache$(APACHEVERSION).conf $(RCONFDIR); \
		cp -f _example/etc/manager-apache$(APACHEVERSION).conf $(RCONFDIR); \
		cp -f _example/etc/test-apache$(APACHEVERSION).conf $(RCONFDIR); \
		cp -f _example/etc/handler-nginx.conf $(RCONFDIR); \
		cp -f _example/etc/test-nginx.conf $(RCONFDIR); \
		cp -f _example/etc/nginx-access-control $(RCONFDIR); \
		cp -f _example/etc/nginx-http-accounting $(RCONFDIR); \
		cp -f _example/etc/nginx-fcgi-accounting $(RCONFDIR); \
	fi
	@$(PERL) -i -pe 's/__DNSDOMAIN__/$(DNSDOMAIN)/g; \
			s#__PORTALDIR__#$(PORTALDIR)/#g; \
			s#__MANAGERDIR__#$(MANAGERDIR)/#g; \
			s#__MANAGERSTATICDIR__#$(MANAGERSTATICDIR)/#g; \
			s#__MANAGERPSGIDIR__#$(MANAGERPSGIDIR)/#g; \
			s#__TESTDIR__#$(TESTDIR)/#g; \
			s#__VHOSTLISTEN__#$(VHOSTLISTEN)#g; \
			s#__DEFDOCDIR__#$(DEFDOCDIR)/#g; \
			s#__FRDOCDIR__#$(FRDOCDIR)/#g;' $(RCONFDIR)/*apache*.conf $(RCONFDIR)/*nginx*.conf

424 425
install_manager_site:	install_conf_dir
	# Manager install
Yadd's avatar
Yadd committed
426 427 428
	@install -v -d ${RMANAGERDIR} $(RMANAGERSTATICDIR) $(RMANAGERPSGIDIR) \
		$(RMANAGERTEMPLATESDIR)
	@cp -pR $(SRCMANAGERDIR)/site/static/* $(RMANAGERSTATICDIR)
429 430 431 432
	@for f in $(SRCMANAGERDIR)/site/templates/*.tpl; do \
		./scripts/transform-templates jsminified $(JSCOMPRESS) cssminified $(CSSCOMPRESS) <$$f \
			> $(RMANAGERTEMPLATESDIR)/`basename $$f`; \
	done
Yadd's avatar
Yadd committed
433 434 435 436
	@cp -pR $(SRCMANAGERDIR)/eg/* $(RMANAGERPSGIDIR)
	# Clean svn files
	@rm -rf $$(find ${RMANAGERDIR} ${RMANAGERSTATICDIR} $(RMANAGERPSGIDIR) \
		$(RMANAGERTEMPLATESDIR) $(RCONFDIR) -type d -name .svn)
Yadd's avatar
Yadd committed
437
	$(PERL) -i -pe 's#__MANAGERSTATICDIR__#$(MANAGERRELATIVESTATICDIR)#g' $(RCONFDIR)/$(CONFFILENAME)
438
	$(PERL) -i -pe 's#__MANAGERTEMPLATESDIR__#$(MANAGERTEMPLATESDIR)#g' $(RCONFDIR)/$(CONFFILENAME)
439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454
	@if test "$(CSSCOMPRESS)" = "yes"; then \
		for f in $(RMANAGERSTATICDIR)/css/*; do \
			if test "$${f%%.min.css}" = "$$f"; then \
				echo "Compressing $$f"; \
				yui-compressor $$f >$${f%%.css}.min.css; \
			fi; \
		done; \
	fi
	@if test "$(JSCOMPRESS)" = "yes"; then \
		for f in $(RMANAGERSTATICDIR)/js/*; do \
			if test "$${f%%.min.js}" = "$$f"; then \
				echo "Compressing $$f"; \
				yui-compressor $$f >$${f%%.js}.min.js; \
			fi; \
		done; \
	fi
455 456 457 458

install_portal_site:	install_conf_dir
	# Portal install
	@install -v -d $(RPORTALDIR) $(RPORTALSKINSDIR) \
459
		$(RPORTALDIR)/skins/ \
460
		$(RCRONDIR) $(RCONFDIR)
461
	@for skin in $$(ls $(SRCPORTALDIR)/example/skins/); do \
Yadd's avatar
Yadd committed
462 463
		[ -h $(RPORTALDIR)/skins/$$skin ] && rm -f $(RPORTALDIR)/skins/$$skin; \
		install -v -d $(RPORTALSKINSDIR)/$$skin; \
464
	done
Yadd's avatar
Yadd committed
465 466 467
	@cp -pR -f ${SRCPORTALDIR}/example/index_skin.pl ${RPORTALDIR}/index.pl
	@cp -pR -f ${SRCPORTALDIR}/example/mail.pl ${RPORTALDIR}
	@cp -pR -f ${SRCPORTALDIR}/example/metadata.pl ${RPORTALDIR}
Clément OUDOT's avatar
Clément OUDOT committed
468
	@cp -pR -f ${SRCPORTALDIR}/example/openid-configuration.pl ${RPORTALDIR}
Yadd's avatar
Yadd committed
469 470
	@cp -pR -f ${SRCPORTALDIR}/example/cdc.pl ${RPORTALDIR}
	@cp -pR -f ${SRCPORTALDIR}/example/register.pl ${RPORTALDIR}
471
	@tar -cf - -C ${SRCPORTALDIR}/example/skins/ $$(ls ${SRCPORTALDIR}/example/skins/) |tar -xf - -C $(RPORTALSKINSDIR)
Yadd's avatar
Yadd committed
472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491
	@for f in `find $(RPORTALSKINSDIR) -type f -name '*.tpl'`; do \
		./scripts/transform-templates jsminified $(JSCOMPRESS) cssminified $(CSSCOMPRESS) <$$f >$$f.tmp; \
		mv -f $$f.tmp $$f; \
	done
	@if test "$(CSSCOMPRESS)" = "yes"; then \
		for f in `find $(RPORTALSKINSDIR) -type f -name '*.css'`; do \
			if test "$${f%%.min.css}" = "$$f"; then \
				echo "Compressing $$f"; \
				yui-compressor $$f >$${f%%.css}.min.css; \
			fi; \
		done; \
	fi
	@if test "$(JSCOMPRESS)" = "yes"; then \
		for f in `find $(RPORTALSKINSDIR) -type f -name '*.js'`; do \
			if test "$${f%%.min.js}" = "$$f"; then \
				echo "Compressing $$f"; \
				yui-compressor $$f >$${f%%.js}.min.js; \
			fi; \
		done; \
	fi
Yadd's avatar
Yadd committed
492
	@if [ "$(PORTALDIR)/skins/" != "$(PORTALSKINSDIR)/" ]; then \
493
		for skin in $$(ls $(SRCPORTALDIR)/example/skins/); do \
Yadd's avatar
Yadd committed
494 495
			rm -rf $(RPORTALDIR)/skins/$$skin/; \
			ln -s $(PORTALSKINSDIR)/$$skin $(RPORTALDIR)/skins/$$skin; \
496 497 498
		done; \
	fi
	# Cron files
499
	@cp -f $(SRCPORTALDIR)/example/scripts/purgeCentralCache.cron.d $(RCRONDIR)/lemonldap-ng-portal
500
	@if [ ! "$(APACHEUSER)" ]; then \
501
		$(PERL) -i -pe 's#__APACHEUSER__#nobody#g;' $(RCRONDIR)/lemonldap-ng-portal; \
502
	else \
503
		$(PERL) -i -pe 's#__APACHEUSER__#$(APACHEUSER)#g;' $(RCRONDIR)/lemonldap-ng-portal; \
504
	fi
505
	@$(PERL) -i -pe 's#__BINDIR__#$(BINDIR)#g;' $(RCRONDIR)/lemonldap-ng-portal
506
	# Clean SVN files
Clément OUDOT's avatar
 
Clément OUDOT committed
507
	@rm -rf $$(find ${RPORTALDIR} $(RPORTALSKINSDIR) $(RCRONDIR) $(RCONFDIR) -type d -name .svn)
508 509

install_handler_site:	install_conf_dir
510
	# Handler install
511
	@install -v -d ${RHANDLERDIR}
512
	@cp -f $(SRCHANDLERDIR)/example/scripts/purgeLocalCache.cron.d $(RCRONDIR)/lemonldap-ng-handler
513
	@if [ ! "$(APACHEUSER)" ]; then \
514
		$(PERL) -i -pe 's#__APACHEUSER__#nobody#g;' $(RCRONDIR)/lemonldap-ng-handler; \
515 516 517 518
	else \
		$(PERL) -i -pe 's#__APACHEUSER__#$(APACHEUSER)#g;' $(RCRONDIR)/lemonldap-ng-handler; \
	fi
	@$(PERL) -i -pe 's#__BINDIR__#$(BINDIR)#g;' $(RCRONDIR)/lemonldap-ng-handler
519
	@rm -rf $$(find $(RHANDLERDIR) -type d -name .svn)
520 521

install_test_site:
522
	# Test site install
523
	@install -v -d $(RTESTDIR)
Yadd's avatar
Yadd committed
524
	@cp -pR -f _example/test/* $(RTESTDIR)
525
	@rm -rf $$(find $(RTESTDIR) -type d -name .svn)
Yadd's avatar
Yadd committed
526
	@$(PERL) -i -pe 's/__DNSDOMAIN__/$(DNSDOMAIN)/g' $(RTESTDIR)/index.pl
527
	@rm -rf $$(find $(RTESTDIR) -type d -name .svn)
528 529

install_examples_site:
530
	# Examples install
531
	@install -v -d $(REXAMPLESDIR)
532
	@for i in manager portal handler; do \
Yadd's avatar
Yadd committed
533
		cp -a -f lemonldap-ng-$$i/example $(REXAMPLESDIR)/$$i; \
534
	done
Yadd's avatar
Yadd committed
535
	@rm -rf $(REXAMPLESDIR)/portal/skins \
Yadd's avatar
Yadd committed
536
		$(REXAMPLESDIR)/manager/skins \
537
	@rm -rf $$(find $(REXAMPLESDIR) -type d -name .svn)
538
	@$(PERL) -i -pe 's#__SESSIONDIR__#$(APACHESESSIONFILEDIR)/#g;' $(REXAMPLESDIR)/portal/*.pl
539
	@$(PERL) -i -pe 's#__PSESSIONDIR__#$(APACHEPSESSIONFILEDIR)/#g;' $(REXAMPLESDIR)/portal/*.pl
540

541
install_doc_site:
542
	# Offline documentation install
543 544
	@rm -rf $(RDEFDOCDIR)
	@install -v -d $(RDEFDOCDIR)
Yadd's avatar
Yadd committed
545
	@cp -a -f doc/* $(RDEFDOCDIR)
546

547
install_conf_dir:	install_sessions_dir install_notif_dir install_captcha_dir
548
	# Configuration files install
549
	@install -v -d $(RCONFDIR) $(RFILECONFIGDIR) $(RTOOLSDIR)
Clément OUDOT's avatar
Clément OUDOT committed
550
	@if [ "$(ERASECONFIG)" -eq "1" ]; then \
Yadd's avatar
Yadd committed
551
		cp -f $(SRCCOMMONDIR)/$(CONFFILENAME) $(RCONFDIR); \
Yadd's avatar
Yadd committed
552
		$(PERL) -i -pe 's#^dirName\s*=\s*.*#dirName = $(FILECONFIGDIR)#g' $(RCONFDIR)/$(CONFFILENAME); \
Clément OUDOT's avatar
Clément OUDOT committed
553
	fi
554
	@cp _example/conf/lmConf-1.js $(RFILECONFIGDIR)
Yadd's avatar
Yadd committed
555
	@$(PERL) -i -pe 's/__DNSDOMAIN__/$(DNSDOMAIN)/g;\
556
		s#__SESSIONDIR__#$(APACHESESSIONFILEDIR)#g;\
557
		s#__PSESSIONDIR__#$(APACHEPSESSIONFILEDIR)#g;\
558
		s#__NOTIFICATIONDIR__#$(APACHEFILENOTIFDIR)#g;' $(RFILECONFIGDIR)/lmConf-1.js
559 560 561 562 563 564 565 566 567
	@if [ "$(APACHEUSER)" != "" ]; then \
		chown $(APACHEUSER) $(RFILECONFIGDIR) || exit 1; \
		if [ "$(APACHEGROUP)" != "" ]; then \
			chgrp $(APACHEGROUP) $(RFILECONFIGDIR) || exit 1; \
		fi; \
		chmod 770 $(RFILECONFIGDIR); \
	else \
		chmod 777 $(RFILECONFIGDIR); \
	fi
568 569
	@cp $(SRCCOMMONDIR)/tools/lmConfig.* $(SRCCOMMONDIR)/tools/apache-session-mysql.sql $(RTOOLSDIR)
	@cp $(SRCCOMMONDIR)/tools/sso.schema $(RTOOLSDIR)
Yadd's avatar
Yadd committed
570
	$(PERL) -i -pe 's/__DNSDOMAIN__/$(DNSDOMAIN)/g' $(RCONFDIR)/$(CONFFILENAME)
571
	@rm -rf $$(find $(RCONFDIR) $(RFILECONFIGDIR) $(RTOOLSDIR) -type d -name .svn)
572 573

install_sessions_dir:
574
	@install -m 777 -v -d $(RAPACHESESSIONFILEDIR) $(RAPACHESESSIONFILELOCKDIR) $(RAPACHEPSESSIONFILEDIR) $(RAPACHEPSESSIONFILELOCKDIR)
575 576
	# Fix Apache::Session directories permissions
	@if [ "$(APACHEUSER)" != "" ]; then \
577
		chown $(APACHEUSER) $(RAPACHESESSIONFILEDIR) $(RAPACHESESSIONFILELOCKDIR) $(RAPACHEPSESSIONFILEDIR) $(RAPACHEPSESSIONFILELOCKDIR) || exit 1; \
578
		if [ "$(APACHEGROUP)" != "" ]; then \
579
			chgrp $(APACHEGROUP) $(RAPACHESESSIONFILEDIR) $(RAPACHESESSIONFILELOCKDIR) $(RAPACHEPSESSIONFILEDIR) $(RAPACHEPSESSIONFILELOCKDIR) || exit 1; \
580
		fi; \
581
		chmod 770 $(RAPACHESESSIONFILEDIR) $(RAPACHESESSIONFILELOCKDIR) $(RAPACHEPSESSIONFILEDIR) $(RAPACHEPSESSIONFILELOCKDIR); \
582
	else \
583
		chmod 777 $(RAPACHESESSIONFILEDIR) $(RAPACHESESSIONFILELOCKDIR) $(RAPACHEPSESSIONFILEDIR) $(RAPACHEPSESSIONFILELOCKDIR); \
584 585
	fi

586 587 588 589 590 591 592 593 594 595 596 597 598
install_notif_dir:
	@install -m 777 -v -d $(RFILENOTIFDIR)
	# Fix notifications directory permissions
	@if [ "$(APACHEUSER)" != "" ]; then \
		chown $(APACHEUSER) $(RFILENOTIFDIR) || exit 1; \
		if [ "$(APACHEGROUP)" != "" ]; then \
			chgrp $(APACHEGROUP) $(RFILENOTIFDIR) || exit 1; \
		fi; \
		chmod 770 $(RFILENOTIFDIR); \
	else \
		chmod 777 $(RFILENOTIFDIR); \
	fi

599
install_captcha_dir:
600
	@install -m 777 -v -d $(RCAPTCHADIR)
601 602
	# Fix captcha directory permissions
	@if [ "$(APACHEUSER)" != "" ]; then \
603
		chown $(APACHEUSER) $(RCAPTCHADIR) || exit 1; \
604
		if [ "$(APACHEGROUP)" != "" ]; then \
605
			chgrp $(APACHEGROUP) $(RCAPTCHADIR) || exit 1; \
606
		fi; \
607
		chmod 770 $(RCAPTCHADIR); \
608
	else \
609
		chmod 777 $(RCAPTCHADIR); \
610 611
	fi

612
postconf_hosts:
Clément OUDOT's avatar
Clément OUDOT committed
613
	@cat ${CONFDIR}/for_etc_hosts >> /etc/hosts
614 615
	@echo "/etc/hosts was updated"

616
postconf: postconf_hosts
617 618
	@echo "Post configuration done"

619 620
uninstall:	configure handler_uninstall portal_uninstall manager_uninstall

621 622 623 624
common_uninstall:	common
	@$(MAKE) -C ${SRCCOMMONDIR} uninstall
	@rm -vf common_uninstall

625
handler_uninstall:	handler
626
	@$(MAKE) -C ${SRCHANDLERDIR} uninstall
627
	@rm -vf handler_uninstall
628 629

portal_uninstall:		portal
630
	@$(MAKE) -C ${SRCPORTALDIR} uninstall
631
	@rm -vf portal_uninstall
632 633

manager_uninstall:	manager
634
	@$(MAKE) -C ${SRCMANAGERDIR} uninstall
635
	@rm -vf manager_uninstall
636

637
dist:	clean
638 639 640 641 642 643 644 645 646 647
	@mkdir -p lemonldap-ng-$(VERSION)
	@cp -pRH $$(find * -maxdepth 0|grep -v -e "\(lemonldap-ng-$(VERSION)\|debian\|rpm\)") lemonldap-ng-$(VERSION)
	@rm -rf $$(find lemonldap-ng-$(VERSION) -name .svn -print)
	@rm -rf lemonldap-ng-$(VERSION)/po-doc/fr/*
	@find $$dir -name '*.bak' -delete
	@rm -rf lemonldap-ng-$(VERSION)/lemonldap-ng-$(VERSION)
	@$(COMPRESS) lemonldap-ng-$(VERSION).$(COMPRESSSUFFIX) lemonldap-ng-$(VERSION)
	@rm -rf lemonldap-ng-$(VERSION)

rpm-dist:	clean
648
	@mkdir -p lemonldap-ng-$(VERSION)
Yadd's avatar
Yadd committed
649
	@cp -pRH $$(find * -maxdepth 0|grep -v -e "\(lemonldap-ng-$(VERSION)\|debian\)") lemonldap-ng-$(VERSION)
650 651
	@rm -rf $$(find lemonldap-ng-$(VERSION) -name .svn -print)
	@find $$dir -name '*.bak' -delete
652
	@rm -rf lemonldap-ng-$(VERSION)/lemonldap-ng-$(VERSION)
Yadd's avatar
Yadd committed
653
	@$(COMPRESS) lemonldap-ng-$(VERSION).$(COMPRESSSUFFIX) lemonldap-ng-$(VERSION)
654
	@rm -rf lemonldap-ng-$(VERSION)
655

656

657 658
debian-dist:	clean
	@mkdir -p lemonldap-ng-$(VERSION)
659
	@cp -pRH $$(find * -maxdepth 0|grep -v -e "\(lemonldap-ng-$(VERSION)\|rpm\)") lemonldap-ng-$(VERSION)
660 661
	@rm -rf $$(find lemonldap-ng-$(VERSION) -name .svn -print)
	@find $$dir -name '*.bak' -delete
662 663 664 665
	@cp lemonldap-ng-$(VERSION)/_example/etc/handler-apache2.X.conf lemonldap-ng-$(VERSION)/_example/etc/handler-apache2.conf
	@cp lemonldap-ng-$(VERSION)/_example/etc/manager-apache2.X.conf lemonldap-ng-$(VERSION)/_example/etc/manager-apache2.conf
	@cp lemonldap-ng-$(VERSION)/_example/etc/portal-apache2.X.conf lemonldap-ng-$(VERSION)/_example/etc/portal-apache2.conf
	@cp lemonldap-ng-$(VERSION)/_example/etc/test-apache2.X.conf lemonldap-ng-$(VERSION)/_example/etc/test-apache2.conf
666 667 668
	@rm -rf lemonldap-ng-$(VERSION)/lemonldap-ng-$(VERSION)
	@$(COMPRESS) lemonldap-ng_$(VERSION).orig.$(COMPRESSSUFFIX) lemonldap-ng-$(VERSION)
	@rm -rf lemonldap-ng-$(VERSION)
Yadd's avatar
Yadd committed
669 670 671

zip-dist:
	$(MAKE) dist "COMPRESS=zip -r" COMPRESSSUFFIX=zip
672

Yadd's avatar
Yadd committed
673 674 675 676 677 678 679 680
manifest:   configure
	@for i in ${SRCCOMMONDIR} ${SRCHANDLERDIR} ${SRCPORTALDIR} ${SRCMANAGERDIR}; do \
		cd $$i; \
		make manifest; \
		rm -vf MANIFEST.*; \
		cd -; \
	done

681
cpan:	clean configure common_cpan handler_cpan portal_cpan manager_cpan
Clément OUDOT's avatar
Clément OUDOT committed
682
	for i in Common Portal Handler Manager; do \
Yadd's avatar
Yadd committed
683
		$(UNCOMPRESS) Lemonldap-NG-$$i-*.$(COMPRESSSUFFIX) \
Clément OUDOT's avatar
Clément OUDOT committed
684
			$$($(LISTCOMPRESSED) Lemonldap-NG-$$i-*.$(COMPRESSSUFFIX) |grep META.yml); \
Yadd's avatar
Yadd committed
685
		mv Lemonldap-NG-$$i-*/META.yml lemonldap-ng-$$($(PERL) -e "print lc('$$i')")/; \
Yadd's avatar
Yadd committed
686
		rm -rf Lemonldap-NG-$$i*/; \
Yadd's avatar
Yadd committed
687
		done
688 689 690 691

common_cpan:	common_conf
	@$(MAKE) -C ${SRCCOMMONDIR} dist
	@mv ${SRCCOMMONDIR}/Lemonldap*.gz .
692 693

handler_cpan:	handler_conf
694 695
	@$(MAKE) -C ${SRCHANDLERDIR} dist
	@mv ${SRCHANDLERDIR}/Lemonldap*.gz .
696 697

portal_cpan:		portal_conf
698 699
	@$(MAKE) -C ${SRCPORTALDIR} dist
	@mv ${SRCPORTALDIR}/Lemonldap*.gz .
700 701

manager_cpan:	manager_conf
702 703
	@$(MAKE) -C ${SRCMANAGERDIR} dist
	@mv ${SRCMANAGERDIR}/Lemonldap*.gz .
704

705
documentation:
706
	@cd doc/ && ../scripts/doc.pl
707

708
doxygen:	clean
Yadd's avatar
Yadd committed
709
	$(PERL) -i -pe 's/^(PROJECT_NUMBER\s*=\s*)\d.*$$/$${1}'$(VERSION)'/' Doxyfile
710 711 712 713 714 715
	COLLABORATIVE_GRAPH=1 doxygen Doxyfile
	mkdir doc/devel/tmp
	mv doc/devel/html/inherit* doc/devel/tmp/
	COLLABORATIVE_GRAPH=0 doxygen Doxyfile
	mv -f doc/devel/tmp/* doc/devel/html/
	rm -rf doc/devel/tmp
Yadd's avatar
Yadd committed
716
	$(PERL) -i -pe 's/Graphical Class Hierarchy/Class Collaboration Graph/' doc/devel/html/inherits.html doc/devel/html/tree.html
717 718
	# Some files are not generated
	for i in doc/devel/html/*dot; do dot -T png -o $${i/.dot/.png} $$i; rm -f $$i; done
719

720 721
distclean:	clean

Yadd's avatar
Yadd committed
722
clean:		common_clean handler_clean portal_clean manager_clean omegat-clean omegat-fr-clean stop_web_server
Yadd's avatar
Yadd committed
723
	@rm -f $$(find */ -name '*bak' -delete)
Yadd's avatar
Yadd committed
724
	@rm -rf $(EXAMPLEROOT) example/ doc/devel
Yadd's avatar
Yadd committed
725
	@rm -vf *gz *zip
Yadd's avatar
Yadd committed
726
	@rm -rf lemonldap-ng-$(VERSION)
Yadd's avatar
Yadd committed
727
	@echo "Cleaned"
728 729

common_clean:
Yadd's avatar
Yadd committed
730
	@if test -e ${SRCCOMMONDIR}/Makefile;then $(MAKE) -C ${SRCCOMMONDIR} distclean;fi
731 732 733
	@rm -vf common*

handler_clean:
Yadd's avatar
Yadd committed
734
	@if test -e ${SRCHANDLERDIR}/Makefile;then $(MAKE) -C ${SRCHANDLERDIR} distclean;fi
735 736 737
	@rm -vf handler*

portal_clean:
Yadd's avatar
Yadd committed
738
	@if test -e ${SRCPORTALDIR}/Makefile;then $(MAKE) -C ${SRCPORTALDIR} distclean;fi
739 740 741
	@rm -vf portal*

manager_clean:
Yadd's avatar
Yadd committed
742
	@if test -e ${SRCMANAGERDIR}/Makefile;then $(MAKE) -C ${SRCMANAGERDIR} distclean;fi
743 744
	@rm -vf manager*

745
debian-local-packages: debian-dist
Yadd's avatar
Yadd committed
746
	mv lemonldap-ng_$(VERSION).orig.$(COMPRESSSUFFIX) /tmp/
747 748
	version=$(VERSION) && \
	cd /tmp/ && \
Yadd's avatar
Yadd committed
749
	rm -rf lemonldap-ng-$$version && \
Yadd's avatar
Yadd committed
750
	$(UNCOMPRESS) lemonldap-ng_$$version.orig.$(COMPRESSSUFFIX) && \
751
	cd lemonldap-ng-$$version && \
Yadd's avatar
Yadd committed
752
	debuild -us -uc -b --lintian-opts -i \
Yadd's avatar
Yadd committed
753 754 755
		--lintian-opts -v --lintian-opts -I --lintian-opts -E \
		--lintian-opts --color --lintian-opts auto --lintian-opts -L \
		--lintian-opts +=pedantic
Yadd's avatar
Yadd committed
756

757 758 759 760 761 762 763 764 765 766 767 768 769
debian-packages: debian-dist
	mv lemonldap-ng_$(VERSION).orig.$(COMPRESSSUFFIX) /tmp/
	version=$(VERSION) && \
	cd /tmp/ && \
	rm -rf lemonldap-ng-$$version && \
	$(UNCOMPRESS) lemonldap-ng_$$version.orig.$(COMPRESSSUFFIX) && \
	cd lemonldap-ng-$$version && \
	debuild -us -uc -b --lintian-opts -i \
		--lintian-opts -v --lintian-opts -I --lintian-opts -E \
		--lintian-opts --color --lintian-opts auto --lintian-opts -L \
		--lintian-opts +=pedantic

debian-install: debian-local-packages
Yadd's avatar
Yadd committed
770
	cd /tmp/lemonldap-ng-$(VERSION) && \
Yadd's avatar
Yadd committed
771 772 773 774 775 776
	$(SU) debi

ubuntu-install:
	$(MAKE) debian-install SU=sudo

diff: debian-diff
Yadd's avatar
Yadd committed
777

Yadd's avatar
Yadd committed
778
debian-diff:
Yadd's avatar
Yadd committed
779
	@# Portal
780 781 782
	@$(DIFF) $(SRCPORTALDIR)/lib/Lemonldap/NG/Portal $(DIFFPREFIX)/usr/share/perl5/Lemonldap/NG/Portal ||true
	@$(DIFF) $(SRCPORTALDIR)/example/scripts/purgeCentralCache $(DIFFPREFIX)/usr/share/lemonldap-ng/bin/purgeCentralCache ||true
	@$(DIFF) $(SRCPORTALDIR)/example/scripts/buildPortalWSDL $(DIFFPREFIX)/usr/share/lemonldap-ng/bin/buildPortalWSDL ||true
Yadd's avatar
Yadd committed
783
	@for i in $(PORTALSKINS); do \
784
		$(DIFF) -x 'jquery*' $(SRCPORTALDIR)/example/skins/$$i $(DIFFPREFIX)/usr/share/lemonldap-ng/portal-skins/$$i; \
Yadd's avatar
Yadd committed
785
	done ||true
786 787 788 789 790 791
	@$(DIFF) $(SRCPORTALDIR)/example/index_skin.pl $(DIFFPREFIX)/var/lib/lemonldap-ng/portal/index.pl ||true
	@$(DIFF) $(SRCPORTALDIR)/example/mail.pl $(DIFFPREFIX)/var/lib/lemonldap-ng/portal/mail.pl ||true
	@$(DIFF) $(SRCPORTALDIR)/example/metadata.pl $(DIFFPREFIX)/var/lib/lemonldap-ng/portal/metadata.pl ||true
	@$(DIFF) $(SRCPORTALDIR)/example/openid-configuration.pl $(DIFFPREFIX)/var/lib/lemonldap-ng/portal/openid-configuration.pl ||true
	@$(DIFF) $(SRCPORTALDIR)/example/cdc.pl $(DIFFPREFIX)/var/lib/lemonldap-ng/portal/cdc.pl ||true
	@$(DIFF) $(SRCPORTALDIR)/example/register.pl $(DIFFPREFIX)/var/lib/lemonldap-ng/portal/register.pl ||true
Yadd's avatar
Yadd committed