X-Git-Url: http://git.onelab.eu/?p=myslice.git;a=blobdiff_plain;f=Makefile;h=ad27d39514fd754ea4b4ed4dd43172ac2ea1ef5d;hp=2752c9b3e48bf50453f9b14c53598ec174fdb6ea;hb=f0f76a08ca9dc5d208e1521a73ba1ba60a3c0065;hpb=868cc75405250d79bdb91d30ee0e1038059180cd diff --git a/Makefile b/Makefile index 2752c9b3..ad27d395 100644 --- a/Makefile +++ b/Makefile @@ -28,7 +28,7 @@ install: --install-scripts=$(DESTDIR)/$(datadir)/unfold \ --install-data=$(DESTDIR)/$(datadir)/unfold -#################### third-party layout is managed as art of collectstatic +#################### third-party layout is managed as part of collectstatic static: force ./manage.py collectstatic --noinput @@ -59,7 +59,7 @@ debian.source: force rsync -a $(RPMTARBALL) $(DEBTARBALL) debian.package: - debuild -uc -us -b + debuild --set-envvar PREFIX=/usr -uc -us -b debian.clean: $(MAKE) -f debian/rules clean @@ -91,7 +91,7 @@ redo-templates: clean-templates templates #################### compute emacs tags # list files under git but exclude third-party stuff like bootstrap and jquery myfiles: force - @git ls-files | egrep -v 'insert(_|-)above|third-party/|play/' + @git ls-files | egrep -v 'insert(_|-)above|third-party/|to-be-integrated/' # in general it's right to rely on the contents as reported by git tags: force @@ -101,14 +101,22 @@ tags: force ftags: force find . -type f | fgrep -v '/.git/' | xargs etags -#################### sync : push current code on a (devel) box running myslice +######################################## +### devel-oriented +######################################## + +#################### sync : push current code on a box running myslice +# this for now targets deployments based on the debian packaging SSHURL:=root@$(MYSLICEBOX):/ SSHCOMMAND:=ssh root@$(MYSLICEBOX) ### rsync options # the config file should probably not be overridden ?? # --exclude settings.py -LOCAL_RSYNC_EXCLUDES := --exclude '*.pyc' --exclude config.py --exclude static --exclude templates --exclude '*.sqlite3' --exclude play/ +LOCAL_RSYNC_EXCLUDES := --exclude '*.pyc' +LOCAL_RSYNC_EXCLUDES += --exclude '*.sqlite3' --exclude myslice.ini +LOCAL_RSYNC_EXCLUDES += --exclude static --exclude templates --exclude build +LOCAL_RSYNC_EXCLUDES += --exclude to-be-integrated --exclude third-party # usual excludes RSYNC_EXCLUDES := --exclude .git --exclude '*~' --exclude TAGS --exclude .DS_Store $(LOCAL_RSYNC_EXCLUDES) # make -n will propagate as rsync -n @@ -116,27 +124,39 @@ RSYNC_COND_DRY_RUN := $(if $(findstring n,$(MAKEFLAGS)),--dry-run,) # putting it together RSYNC := rsync -a -v $(RSYNC_COND_DRY_RUN) $(RSYNC_EXCLUDES) -##### convenience for development only, push code on a specific test box +#################### minimal convenience for pushing work-in-progress in an apache-based depl. # xxx until we come up with a packaging this is going to be a wild guess # on debian04 I have stuff in /usr/share/myslice and a symlink in /root/myslice -#INSTALLED=/usr/share/myslice -INSTALLED=/root/myslice +INSTALLED_MAIN =/usr/share/pyshared +# this is for a debian box +INSTALLED_APACHE =/etc/apache2/sites-available/ + +sync: sync-main sync-apache + +sync-main: +ifeq (,$(MYSLICEBOX)) + @echo "you need to set MYSLICEBOX, like in e.g." + @echo " $(MAKE) MYSLICEBOX=debian04.pl.sophia.inria.fr "$@"" + @exit 1 +else + +$(RSYNC) ./ $(SSHURL)/$(INSTALLED_MAIN)/ +endif -sync: +sync-apache: ifeq (,$(MYSLICEBOX)) @echo "you need to set MYSLICEBOX, like in e.g." @echo " $(MAKE) MYSLICEBOX=debian04.pl.sophia.inria.fr "$@"" @exit 1 else - +$(RSYNC) ./ $(SSHURL)/$(INSTALLED)/ + +$(RSYNC) ./apache/unfold.conf $(SSHURL)/$(INSTALLED_APACHE)/ + +$(RSYNC) ./apache/unfold-init-ssl.sh $(SSHURL)/$(bindir)/ endif -# xxx likewise until we run this under apache it's probably hard to restart from here restart: ifeq (,$(MYSLICEBOX)) @echo "you need to set MYSLICEBOX, like in e.g." @echo " $(MAKE) MYSLICEBOX=debian04.pl.sophia.inria.fr "$@"" @exit 1 else - @echo "$@" target not yet implemented - for an apache based depl it would read ...; exit; @$(SSHCOMMAND) /etc/init.d/apache2 restart + +$(SSHCOMMAND) apachectl restart endif