X-Git-Url: https://git.donarmstrong.com/?a=blobdiff_plain;f=Makefile;h=3a97d7c090b26a7c7197ab9055d8ca32cf31f682;hb=HEAD;hp=34adc54d81ca074b34ff39f086714db3522165cf;hpb=5e715bd5d8ccab81684eb14b94df9d45396f63ea;p=neurodebian.git diff --git a/Makefile b/Makefile index 34adc54..3a97d7c 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,23 @@ -#WWW_UPLOAD_URI = neuro.debian.net:/home/www/neuro.debian.net/www -WWW_UPLOAD_URI = ../www +#WWW_UPLOAD_URI = neurodebian@neurodebian.ovgu.de:/home/neurodebian/www +WWW_UPLOAD_URI = ../../www WWW_DIR = build/html/ -all: updatedb upload-website +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) + +# 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 pics: @@ -11,13 +26,17 @@ pics: html: pics source rsync -rvlhpt sphinx/ build/src - cd artwork; cp button_w200.png logo_tuned/fmri_w200.png ../build/src/_static; cd .. + 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,//p' $(WWW_DIR)/index.html >| $(WWW_DIR)/_static/index-header.ihtml + sed -ne '/

Comments<\/h2>/,$$p' $(WWW_DIR)/index.html >| $(WWW_DIR)/_static/index-trailer.ihtml clean: -rm html-stamp source-stamp upload-website-stamp @@ -29,41 +48,33 @@ distclean: clean source: source-stamp -source-stamp: build/db.db - PYTHONPATH=.:$(PYTHONPATH) python neurodebian/dde.py \ - --cfg neurodebian.cfg \ - --db build/db.db \ - --outdir build/src \ - --pkgaddenum pkgs \ - --extracts /home/www/neuro.debian.net/www/debian/extracts \ - commandisirrelevant - rm -f html-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 -removecache: - -rm -rf build/cache - -removedb: - -rm -f build/db.db - - -updatedb: removedb removecache build/db.db - - -build/db.db: - mkdir -p build - PYTHONPATH=.:$(PYTHONPATH) python neurodebian/dde.py \ - --cfg neurodebian.cfg \ - --db build/db.db \ - updatedb - -rm -f source-stamp - +updatedb: cachefiles + $(BIGMESS) updatedb + -rm source-stamp upload-website: html rsync -rvzlhp --delete \ - --exclude=debian --exclude=debian-local --exclude=_files \ + --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 @@ -71,5 +82,14 @@ upload-website: html upload-website-stamp: .git/index $(MAKE) upload-website -.PHONY: removedb removecache updatedb upload-website clean distclean pics html +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