+#WWW_UPLOAD_URI = neurodebian@neurodebian.ovgu.de:/home/neurodebian/www
+WWW_UPLOAD_URI = ../../www
+WWW_DIR = build/html/
-WWW_UPLOAD_URI = elrond:/home/hanke/public_html/archive
-WWW_DIR = build/_build/html
+WWW_UPLOAD_URI_STATIC=$(WWW_UPLOAD_URI)/_static
+BIGMESS_OPTS = -c neurodebian.cfg
+BIGMESS_CMD = PYTHONPATH=.:3rd/bigmess:$(PYTHONPATH) 3rd/bigmess/bin/bigmess
+BIGMESS = $(BIGMESS_CMD) $(BIGMESS_OPTS)
-prep:
- mkdir -p build/src
- cp -r sphinx/* build/src
+# Lentghy one due to updatedb
+all: updatedb upload-website mirmon
+# Quick one -- just rebuilds html if new changes and adjusts the status of the mirrors
+refresh: upload-website-stamp mirmon
+website-build-depends:
+ : # Python modules
+ sudo apt-get install python-sphinx python-argparse python-xdg python-debian python-html5lib
+ : # JavaScripts
+ sudo apt-get install libjs-jquery-easing libjs-jquery-mousewheel libjs-jquery-fancybox
-html: prep update-db
- cd build/src && $(MAKE) html BUILDDIR=$(CURDIR)/build
+pics:
+ $(MAKE) -C artwork
+
+
+html: pics source
+ rsync -rvlhpt sphinx/ build/src
+ cd artwork; cp button_w200.png logo_tuned/fmri_w200.png *-logo_h50.png ../build/src/_static; cd ..
+ cp 3rd/jquery.livetwitter/jquery.livetwitter.min.js build/src/_static
+ cp neurodebian.cfg build/src/_static
+ cd build/src && $(MAKE) html BUILDDIR=$(CURDIR)/build 2>&1
+ ln -fs /usr/share/javascript build/html/
+ mv $(WWW_DIR)/_static/robots.txt $(WWW_DIR)/
+ cp -r build/src/lists $(WWW_DIR)/
+ cp -r sphinx/survey/2011/figures/* $(WWW_DIR)/_images/
+ @echo "I: extracting header/trailer to be reused in non-sphinx pages"
+ sed -ne '1,/<!-- HEADNOTES -->/p' $(WWW_DIR)/index.html >| $(WWW_DIR)/_static/index-header.ihtml
+ sed -ne '/<h2>Comments<\/h2>/,$$p' $(WWW_DIR)/index.html >| $(WWW_DIR)/_static/index-trailer.ihtml
clean:
+ -rm html-stamp source-stamp upload-website-stamp
+ $(MAKE) -C artwork clean
+
+
+distclean: clean
-rm -rf build
-update-db:
-# -r http://apsy.gse.uni-magdeburg.de/debian/dists/lenny/Release \
- -r http://apsy.gse.uni-magdeburg.de/debian/dists/squeeze/Release \
-# rm -f build/db.db
- ./reblender \
- --db build/db.db \
- --outdir build/src \
- --pkgaddenum pkgs \
- -r http://apsy.gse.uni-magdeburg.de/debian/dists/dapper/Release \
- -r http://apsy.gse.uni-magdeburg.de/debian/dists/gutsy/Release \
- -r http://apsy.gse.uni-magdeburg.de/debian/dists/hardy/Release \
- -r http://apsy.gse.uni-magdeburg.de/debian/dists/intrepid/Release \
- -r http://apsy.gse.uni-magdeburg.de/debian/dists/etch/Release \
- -r http://apsy.gse.uni-magdeburg.de/debian/dists/sid/Release \
- -t svn://svn.debian.org/blends/projects/med/trunk/debian-med/tasks/imaging \
- -t svn://svn.debian.org/blends/projects/med/trunk/debian-med/tasks/imaging-dev \
- -t svn://svn.debian.org/blends/projects/science/trunk/debian-science/tasks/neuroscience-cognitive \
- -f fsl-doc -f fslview-doc -f fsl-atlases -f fsl-possum-data \
- -f fsl-first-data -f fsl-feeds \
- -p svn://svn.debian.org/blends/projects/science/trunk/debian-science/tasks/neuroscience-cognitive
+source: source-stamp
+source-stamp:
+ mkdir -p build/src/pkgs/
+ mkdir -p build/src/lists/
+ mkdir -p build/src/_static/
+ mkdir -p build/src/pkglists/
+ $(BIGMESS) mkpkgs -d build/src/pkgs/
+ $(BIGMESS) mkaptcfgs -d build/src/lists/
+ $(BIGMESS) mkmirrorsstat -d build/src
+ $(BIGMESS) mkrepocfg > build/src/sources_lists
+ $(BIGMESS) mkpkgtocs -d build/src/pkglists > build/src/pkgs.rst
+ cp 3rd/nvd3/*.min.js build/src/_static/
+ cp 3rd/nvd3/lib/d3*.min.js build/src/_static/
+ cp 3rd/nvd3/src/nv*.css build/src/_static/
+ touch $@
+
+cachefiles:
+ $(BIGMESS) cachefiles -f
+updatedb: cachefiles
+ $(BIGMESS) updatedb
+ -rm source-stamp
upload-website: html
- rsync -rvzlhp --delete --chmod=Dg+s,g+rw $(WWW_DIR) $(WWW_UPLOAD_URI)
+ rsync -rvzlhp --delete \
+ --exclude=debian --exclude=debian-local --exclude=debian-devel --exclude=debian-custom --exclude=_files \
+ --chmod=Dg+s,g+rw $(WWW_DIR) $(WWW_UPLOAD_URI)
+ rsync -rvzlhp --chmod=Dg+s,g+rw tools/neurodebian-travis.sh $(WWW_UPLOAD_URI)/_files/
+ : # Touch stamp here so we get it updated on every upload
+ touch $@-stamp
+
+# call upload iff .git/index was modified, i.e. new changes got pulled in
+upload-website-stamp: .git/index
+ $(MAKE) upload-website
+
+mirmon:
+ # update and generate mirrors report
+ [ -x /usr/bin/mirmon ] && mirmon -q -get update -c mirmon-neurodebian.conf 2>&1 \
+ | grep -v 'date: invalid date.*DOCTYPE' || :
+ # [ -x $(WWW_UPLOAD_URI_STATIC)/mirrors-check.ihtml ] &&
+ # everything must be in place!
+ cat $(WWW_UPLOAD_URI_STATIC)/{index-header,mirrors-status,index-trailer}.ihtml \
+ >| $(WWW_UPLOAD_URI)/mirrors-status.html
+
+.PHONY: removedb removecache cachefiles updatedb upload-website clean distclean pics html mirmon
+