Changements au déploiement pour le dev
authorEric Mc Sween <eric.mcsween@auf.org>
Mon, 8 Dec 2014 21:30:38 +0000 (16:30 -0500)
committerEric Mc Sween <eric.mcsween@auf.org>
Mon, 8 Dec 2014 21:30:38 +0000 (16:30 -0500)
.gitignore
README [new file with mode: 0644]
README.txt [deleted file]
bootstrap.py
requirements.wheezy [new file with mode: 0644]
versions.cfg

index ebaeda0..e70a441 100644 (file)
@@ -1,39 +1,16 @@
-# binaires
-*.pyc
-*.pyo
-
-# Fichier temporaires:
-.*.swp
-.*.swo
-*~
-\#*#
-
-# DB de dev
-*.db
-
-# restants de merge
-*.orig
-*.rej
-
-# Configuration du projet - par environnement
-conf.py
-django.wsgi
-
-# buildout
-.installed.cfg
-bin
-develop-eggs
-downloads
-eggs
-log
-parts
-tmp
-
-# developpement
-src
-
-# Fichiers écrits par le serveur
-
+/.installed.cfg
+/auf_savoirs_en_partage/conf.py
 /auf_savoirs_en_partage/data
 /auf_savoirs_en_partage/media
+/bin
+/develop-eggs
+/downloads
+/eggs
+/env
+/log
+/parts
 /sitestatic
+/tmp
+
+*.pyc
+*.pyo
diff --git a/README b/README
new file mode 100644 (file)
index 0000000..bc35e0e
--- /dev/null
+++ b/README
@@ -0,0 +1,30 @@
+Mise en place de l'environnement de développement
+=================================================
+
+1.  Créer un environnement virtuel
+
+    virtualenv env
+    . env/bin/activate
+
+2.  Installer les paquets qui seront installés en production
+
+    pip install -r requirements.wheezy
+
+3.  Lancer le buildout:
+
+    python bootstrap.py
+    bin/buildout -c devel.cfg
+
+4.  Éditer le fichier datamaster/conf.py
+
+5.  Installer la base de données:
+
+    bin/django syncdb --migrate
+
+Tests
+=====
+
+Pour tester cette application, mieux vaut choisir un sous-ensemble des
+applications:
+
+    bin/django test datamaster_modeles chercheurs savoirs sitotheque
diff --git a/README.txt b/README.txt
deleted file mode 100644 (file)
index 1724d74..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-Tester Savoirs en partage
-=========================
-
-Pour tester cette application, mieux vaut choisir un sous-ensemble des
-applications:
-
-    # bin/django test datamaster_modeles chercheurs savoirs sitotheque
-
index 1b28969..ed57894 100644 (file)
@@ -56,6 +56,9 @@ parser.add_option("-c", "--config-file",
                         "file to be used."))
 parser.add_option("-f", "--find-links",
                   help=("Specify a URL to search for buildout releases"))
+parser.add_option("--allow-site-packages",
+                  action="store_true", default=False,
+                  help=("Let bootstrap.py use existing site packages"))
 
 
 options, args = parser.parse_args()
@@ -63,32 +66,38 @@ options, args = parser.parse_args()
 ######################################################################
 # load/install setuptools
 
-to_reload = False
 try:
-    import pkg_resources
-    import setuptools
+    if options.allow_site_packages:
+        import setuptools
+        import pkg_resources
+    from urllib.request import urlopen
 except ImportError:
-    ez = {}
-
-    try:
-        from urllib.request import urlopen
-    except ImportError:
-        from urllib2 import urlopen
-
-    # XXX use a more permanent ez_setup.py URL when available.
-    exec(urlopen('https://bitbucket.org/pypa/setuptools/raw/0.7.2/ez_setup.py'
-                ).read(), ez)
-    setup_args = dict(to_dir=tmpeggs, download_delay=0)
-    ez['use_setuptools'](**setup_args)
-
-    if to_reload:
-        reload(pkg_resources)
-    import pkg_resources
-    # This does not (always?) update the default working set.  We will
-    # do it.
-    for path in sys.path:
-        if path not in pkg_resources.working_set.entries:
-            pkg_resources.working_set.add_entry(path)
+    from urllib2 import urlopen
+
+ez = {}
+exec(urlopen('https://bootstrap.pypa.io/ez_setup.py').read(), ez)
+
+if not options.allow_site_packages:
+    # ez_setup imports site, which adds site packages
+    # this will remove them from the path to ensure that incompatible versions 
+    # of setuptools are not in the path
+    import site
+    # inside a virtualenv, there is no 'getsitepackages'. 
+    # We can't remove these reliably
+    if hasattr(site, 'getsitepackages'):
+        for sitepackage_path in site.getsitepackages():
+            sys.path[:] = [x for x in sys.path if sitepackage_path not in x]
+
+setup_args = dict(to_dir=tmpeggs, download_delay=0)
+ez['use_setuptools'](**setup_args)
+import setuptools
+import pkg_resources
+
+# This does not (always?) update the default working set.  We will
+# do it.
+for path in sys.path:
+    if path not in pkg_resources.working_set.entries:
+        pkg_resources.working_set.add_entry(path)
 
 ######################################################################
 # Install buildout
@@ -149,8 +158,7 @@ cmd.append(requirement)
 import subprocess
 if subprocess.call(cmd, env=dict(os.environ, PYTHONPATH=setuptools_path)) != 0:
     raise Exception(
-        "Failed to execute command:\n%s",
-        repr(cmd)[1:-1])
+        "Failed to execute command:\n%s" % repr(cmd)[1:-1])
 
 ######################################################################
 # Import and run buildout
diff --git a/requirements.wheezy b/requirements.wheezy
new file mode 100644 (file)
index 0000000..2dd67b6
--- /dev/null
@@ -0,0 +1 @@
+MySQL-python==1.2.3
index 18df027..f280750 100644 (file)
@@ -55,7 +55,7 @@ nose = 1.1.2
 
 # Required by:
 # django-exportateur==1.0
-odfpy = 0.9.4
+odfpy = 0.9.6
 
 # Required by:
 # auf-references-client==0.4.9
@@ -75,7 +75,6 @@ auf.django.piwik = 1.8
 auf.recipe.django = 2.3
 buildout-script = 0.2a1
 raven = 3.4.1
-zc.buildout = 2.2.0
 zc.recipe.egg = 2.0.0
 
 # Added by buildout at 2013-08-16 16:00:28.590050
@@ -86,3 +85,9 @@ django-admin-tools = 0.5.1
 
 # Added by buildout at 2013-11-13 09:22:47.109063
 feedparser = 5.1.3
+
+# Added by buildout at 2014-12-08 14:18:55.311306
+setuptools = 7.0
+
+# Added by buildout at 2014-12-08 14:49:59.448562
+zc.buildout = 2.2.5