]> git.sur5r.net Git - bacula/bacula/blobdiff - gui/baculum/Makefile
baculum: Fix add to translation static texts on the api default page
[bacula/bacula] / gui / baculum / Makefile
index 5ce11debbe059cbf4f03c66dacff41346b3a6802..a6b7837ae0c0632c4fa796b996be31f30a7c588b 100644 (file)
+# Makefile to prepare runtime files (for rpm-based and deb-based distributions)
+#
+# usage: make DESTDIR=/some/runtime_dir
 
-prefix = .
-builddir = $(prefix)/build
+NAME = baculum
+VERSION = 7.5.0
+DEFTEMPLATE = rpm-template
+DEFHTTPDNAME = httpd
+DEFHTTPDSITECONF = conf.d
+SAMPLETYPE ?= $(DEFTEMPLATE)
+HTTPDNAME ?= $(DEFHTTPDNAME)
+HTTPDSITECONF ?= $(DEFHTTPDSITECONF)
+SYSUSRDIR = /usr
+SYSCONFDIR = /etc
+SYSVARDIR = /var
+CONFDIR = $(SYSCONFDIR)/$(NAME)
+HTTPDCONFDIR = $(SYSCONFDIR)/$(HTTPDNAME)/$(HTTPDSITECONF)
+UNITDIR = $(SYSUSRDIR)/lib/systemd/system
+LOCALEDIR = $(SYSUSRDIR)/share/locale
+WWWDIR = $(SYSUSRDIR)/share/$(NAME)/htdocs
+CACHEDIR = $(SYSVARDIR)/cache/$(NAME)
+LOGDIR = $(SYSVARDIR)/log
+HTTPDLOGS = $(LOGDIR)/$(HTTPDNAME)
+LIGHTTPDLOGS = $(LOGDIR)/lighttpd
+
+# Internal application directories
 datadir = protected
+apidir = API
+webdir = Web
+commondir = Common
 frameworkdir = framework
 themesdir = themes
+cachedir = assets
+configdir = Config
+configcachedir = $(datadir)/runtime
+samplesdir = examples/$(SAMPLETYPE)
+
+webdatadirsrc = $(datadir)/$(webdir)/Class \
+       $(datadir)/$(webdir)/Config \
+       $(datadir)/$(webdir)/JavaScript \
+       $(datadir)/$(webdir)/Data \
+       $(datadir)/$(webdir)/Layouts \
+       $(datadir)/$(webdir)/Logs \
+       $(datadir)/$(webdir)/Pages \
+       $(datadir)/$(webdir)/Portlets
+
+apidatadirsrc = $(datadir)/$(apidir)/Class \
+       $(datadir)/$(apidir)/Config \
+       $(datadir)/$(apidir)/JavaScript \
+       $(datadir)/$(apidir)/Layouts \
+       $(datadir)/$(apidir)/Logs \
+       $(datadir)/$(apidir)/Pages
+
+commondatadirsrc = $(datadir)/$(commondir)/Class \
+       $(datadir)/$(commondir)/Portlets
 
-datadirsrc = $(datadir)/Class \
-    $(datadir)/Data \
-    $(datadir)/JavaScript \
-    $(datadir)/Lang \
-    $(datadir)/Layouts \
-    $(datadir)/Pages \
-    $(datadir)/Portlets
+datafilesrc = $(datadir)/application.xml
 
-datafilesrc = $(datadir)/.htaccess \
-    $(datadir)/application.xml
+webdatafilesrc = $(datadir)/$(webdir)/endpoints.xml \
+       $(datadir)/$(webdir)/Init.php
 
-miscfilesrc = .htaccess \
-    index.php \
-    AUTHORS \
-    INSTALL \
-    LICENSE \
-    README
+apidatafilesrc = $(datadir)/$(apidir)/endpoints.xml
 
-all: build
+miscfilesrc = index.php \
+       AUTHORS \
+       INSTALL \
+       LICENSE \
+       README
 
-build: prepare_build prepare_data prepare_externals prepare_themes
+localeweblang = en pl pt ja
+localeapilang = en pl
+localewebdirsrc = $(datadir)/$(webdir)/Lang
+localeapidirsrc = $(datadir)/$(apidir)/Lang
+localefile = messages.mo
 
+excluded_dirs = '.*/\(3rdParty\|tinymce-405\).*'
+excluded_files = '.*\(\.htaccess\)$$'
+
+
+build: prepare_build prepare_data prepare_externals prepare_themes prepare_locale setup
 
 prepare_build:
-       [ -d $(builddir) ] || mkdir -p $(builddir)
+       if [ -z "$(DESTDIR)" ]; then @echo "No DESTDIR given"; exit 1; fi
+       mkdir -p $(DESTDIR)$(SYSCONFDIR) \
+       $(DESTDIR)$(CONFDIR) \
+       $(DESTDIR)$(HTTPDCONFDIR) \
+       $(DESTDIR)$(UNITDIR) \
+       $(DESTDIR)$(WWWDIR) \
+       $(DESTDIR)$(CACHEDIR) \
+       $(DESTDIR)$(LOCALEDIR) \
+       $(DESTDIR)$(WWWDIR)/$(cachedir) \
+       $(DESTDIR)$(WWWDIR)/$(configcachedir)
+       mkdir -m 700 -p $(DESTDIR)$(CONFDIR)/$(configdir)-api-apache \
+       $(DESTDIR)$(CONFDIR)/$(configdir)-api-lighttpd \
+       $(DESTDIR)$(CONFDIR)/$(configdir)-web-apache \
+       $(DESTDIR)$(CONFDIR)/$(configdir)-web-lighttpd
 
 prepare_data: prepare_build
-       [ -d "$(builddir)/$(datadir)" ] || mkdir -p $(builddir)/$(datadir)
-       cp -ra $(datadirsrc) $(builddir)/$(datadir)
-       cp -a $(datafilesrc) $(builddir)/$(datadir)
-       cp -a $(miscfilesrc) $(builddir)
+       mkdir -p $(DESTDIR)$(WWWDIR)/$(datadir) \
+       $(DESTDIR)$(WWWDIR)/$(datadir)/$(webdir) \
+       $(DESTDIR)$(WWWDIR)/$(datadir)/$(apidir) \
+       $(DESTDIR)$(WWWDIR)/$(datadir)/$(commondir)
+       cp -ra $(webdatadirsrc) $(DESTDIR)$(WWWDIR)/$(datadir)/$(webdir)
+       cp -a $(webdatafilesrc) $(DESTDIR)$(WWWDIR)/$(datadir)/$(webdir)
+       cp -ra $(apidatadirsrc) $(DESTDIR)$(WWWDIR)/$(datadir)/$(apidir)
+       cp -a $(apidatafilesrc) $(DESTDIR)$(WWWDIR)/$(datadir)/$(apidir)
+       cp -ra $(commondatadirsrc) $(DESTDIR)$(WWWDIR)/$(datadir)/$(commondir)
+       cp -a $(datafilesrc) $(DESTDIR)$(WWWDIR)/$(datadir)
+       cp -a $(miscfilesrc) $(DESTDIR)$(WWWDIR)/
 
 prepare_externals: prepare_build
-       cp -ra $(frameworkdir) $(builddir)
+       find $(frameworkdir) -type d ! -regex $(excluded_dirs) -exec mkdir -p $(DESTDIR)$(WWWDIR)/{} \;
+       find $(frameworkdir) -type f ! -regex $(excluded_files) -a ! -regex $(excluded_dirs) -exec cp -a {} $(DESTDIR)$(WWWDIR)/{} \;
 
 prepare_themes: prepare_build
-       cp -ra $(themesdir) $(builddir)
+       cp -ra $(themesdir) $(DESTDIR)$(WWWDIR)
+
+prepare_locale: prepare_build
+       for lang in $(localeweblang) ; do \
+               mkdir -p $(DESTDIR)$(LOCALEDIR)/$$lang/LC_MESSAGES ; \
+               mkdir -p $(DESTDIR)$(WWWDIR)/$(localewebdirsrc)/$$lang ; \
+               install -m 644 $(localewebdirsrc)/$$lang/$(localefile) $(DESTDIR)$(LOCALEDIR)/$$lang/LC_MESSAGES/$(NAME)-web.mo ; \
+               ln -s $(DESTDIR)$(LOCALEDIR)/$$lang/LC_MESSAGES/$(NAME)-web.mo $(DESTDIR)$(WWWDIR)/$(localewebdirsrc)/$$lang/$(localefile) ; \
+       done
+       for lang in $(localeapilang) ; do \
+               mkdir -p $(DESTDIR)$(LOCALEDIR)/$$lang/LC_MESSAGES ; \
+               mkdir -p $(DESTDIR)$(WWWDIR)/$(localeapidirsrc)/$$lang ; \
+               install -m 644 $(localeapidirsrc)/$$lang/$(localefile) $(DESTDIR)$(LOCALEDIR)/$$lang/LC_MESSAGES/$(NAME)-api.mo ; \
+               ln -s $(DESTDIR)$(LOCALEDIR)/$$lang/LC_MESSAGES/$(NAME)-api.mo $(DESTDIR)$(WWWDIR)/$(localeapidirsrc)/$$lang/$(localefile) ; \
+       done
+
+prepare_samples:
+       install -m 640 $(samplesdir)/$(NAME)-api-lighttpd.conf $(DESTDIR)$(CONFDIR)
+       install -m 640 $(samplesdir)/$(NAME)-web-lighttpd.conf $(DESTDIR)$(CONFDIR)
+       install -m 644 $(samplesdir)/$(NAME)-api-lighttpd.service $(DESTDIR)$(UNITDIR)
+       install -m 644 $(samplesdir)/$(NAME)-web-lighttpd.service $(DESTDIR)$(UNITDIR)
+       install -m 640 $(samplesdir)/$(NAME)-api-apache.conf $(DESTDIR)$(HTTPDCONFDIR)/$(NAME)-api.conf
+       install -m 640 $(samplesdir)/$(NAME)-web-apache.conf $(DESTDIR)$(HTTPDCONFDIR)/$(NAME)-web.conf
+       install -m 600 $(samplesdir)/$(NAME).users $(DESTDIR)$(CONFDIR)/$(configdir)-api-lighttpd
+       install -m 600 $(samplesdir)/$(NAME).users $(DESTDIR)$(CONFDIR)/$(configdir)-api-apache
+       install -m 600 $(samplesdir)/$(NAME).users $(DESTDIR)$(CONFDIR)/$(configdir)-web-lighttpd
+       install -m 600 $(samplesdir)/$(NAME).users $(DESTDIR)$(CONFDIR)/$(configdir)-web-apache
+       # Default link apache config file
+       #ln -s $(DESTDIR)$(CONFDIR)/$(configdir)-api-apache $(DESTDIR)$(WWWDIR)/$(datadir)/$(configdir)
 
-install: build
-       [ -d $(INSTALL_ROOT) ] || mkdir -p $(INSTALL_ROOT)
-       cp -ra $(builddir) $(INSTALL_ROOT)/
+setup: prepare_samples
+       sed -i -e "s#%DOCUMENTROOT#$(WWWDIR)#g" -e "s#%LOGDIR#$(HTTPDLOGS)#g" $(DESTDIR)$(HTTPDCONFDIR)/$(NAME)-api.conf
+       sed -i -e "s#%DOCUMENTROOT#$(WWWDIR)#g" -e "s#%LOGDIR#$(HTTPDLOGS)#g" $(DESTDIR)$(HTTPDCONFDIR)/$(NAME)-web.conf
+       sed -i -e "s#%DOCUMENTROOT#$(WWWDIR)#g" -e "s#%LOGDIR#$(LIGHTTPDLOGS)#g" $(DESTDIR)$(CONFDIR)/$(NAME)-api-lighttpd.conf
+       sed -i -e "s#%DOCUMENTROOT#$(WWWDIR)#g" -e "s#%LOGDIR#$(LIGHTTPDLOGS)#g" $(DESTDIR)$(CONFDIR)/$(NAME)-web-lighttpd.conf
+       sed -i -e "s#%CONFDIR#$(CONFDIR)#g" $(DESTDIR)$(UNITDIR)/$(NAME)-api-lighttpd.service
+       sed -i -e "s#%CONFDIR#$(CONFDIR)#g" $(DESTDIR)$(UNITDIR)/$(NAME)-web-lighttpd.service
+       find $(DESTDIR)/ -type f -name .gitignore -exec rm -f {} \;