Thomas Waldmann avatar Thomas Waldmann committed 9240f52 Draft

automate creation of support directory/archive, document it

Comments (0)

Files changed (2)

 pylint:
 	@pylint --disable-msg=W0142,W0511,W0612,W0613,C0103,C0111,C0302,C0321,C0322 --disable-msg-cat=R MoinMoin
 
+# Automate creation of the GAE support archive from a virtualenv site-packages directory
+gaesupport:
+	@# do NOT name it "site-packages", but "support":
+	@cp -a env/lib/python2.7/site-packages support
+	@# remove compiled code files:
+	@find support -name "*.pyc" -exec rm {} \;
+	@find support -name "*.pyo" -exec rm {} \;
+	@# GAE offers jinja2, see app.yaml:
+	@rm -rf support/jinja2
+	@# documentation generation support not needed on GAE:
+	@rm -rf support/sphinx
+	@# package installers not needed/supported on GAE:
+	@rm -rf support/distribute support/pip
+	@# test support and suites not needed in production:
+	@rm -rf support/_pytest support/pytest*.py support/py.test*
+	@rm -rf support/py support/execnet support/pep8.py support/selenium
+	@rm -rf support/flask/testsuite support/werkzeug/testsuite
+	@# misc. egg and path stuff, not needed:
+	@rm -rf support/*.egg support/*.egg-info support/*.egg-link support/*.pth
+	@# we need to add a __init__.py to the namespace packages:
+	@touch support/flaskext/__init__.py support/xstatic/__init__.py support/xstatic/pkg/__init__.py
+
+gaetgz:
+	@# create the support archive:
+	@tar czf moin2-gae-support.tgz support
+
 clean: clean-devwiki clean-pyc clean-orig clean-rej
 	-rm -rf build
 

docs/admin/install_gae.rst

 
 Usage of dev_appserver and appcfg is documented in the GAE SDK documentation.
 
+
+Notes for creating the support directory / archive
+==================================================
+Usually you can just use the ready-to-use moin2-gae-support.tgz as described
+above.
+
+But just for the case you have to recreate it (e.g. to update it), here are
+some hints:
+
+* make sure you run some POSIX OS (like Linux), Windows is currently not
+  supported. You also need "make", "find", "tar" and "gzip" (but usually you
+  should have them).
+* make sure that you have a virtualenv "env" in the moin workdir (this is
+  the default place and name used by the quickinstall script)
+* make sure you use Python 2.7.x
+* from the repo workdir, run::
+
+    make gaesupport
+
+This will create a "support" directory with all the dependencies needed for
+running moin on GAE. For more infos about how this is done, see the Makefile.
+
+If you want to create the moin2-gae-support.tgz, just run additionally::
+
+    make gaetgz
+
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.