backport stable
authorSylvain Thénault <sylvain.thenault@logilab.fr>
Wed, 01 Dec 2010 17:09:19 +0100
changeset 6723 a2ccbcbb08a6
parent 6712 3e6cd6048be8 (current diff)
parent 6722 3341521d857b (diff)
child 6724 24bf6f181d0e
backport stable
--- a/.hgtags	Tue Nov 30 15:05:07 2010 +0100
+++ b/.hgtags	Wed Dec 01 17:09:19 2010 +0100
@@ -175,3 +175,5 @@
 7b41930e1d32fea3989a85f6ea7281983300adb1 cubicweb-debian-version-3.10.4-1
 159d0dbe07d9eb1c6ace4c5e160d1ec6e6762086 cubicweb-version-3.10.5
 e2e7410e994777589aec218d31eef9ff8d893f92 cubicweb-debian-version-3.10.5-1
+3c81dbb58ac4d4a6f61b74eef4b943a8316c2f42 cubicweb-version-3.10.6
+1484257fe9aeb29d0210e635c12ae5b3d6118cfb cubicweb-debian-version-3.10.6-1
--- a/__pkginfo__.py	Tue Nov 30 15:05:07 2010 +0100
+++ b/__pkginfo__.py	Wed Dec 01 17:09:19 2010 +0100
@@ -22,7 +22,7 @@
 
 modname = distname = "cubicweb"
 
-numversion = (3, 10, 5)
+numversion = (3, 10, 6)
 version = '.'.join(str(num) for num in numversion)
 
 description = "a repository of entities / relations for knowledge management"
--- a/debian/changelog	Tue Nov 30 15:05:07 2010 +0100
+++ b/debian/changelog	Wed Dec 01 17:09:19 2010 +0100
@@ -1,3 +1,9 @@
+cubicweb (3.10.6-1) unstable; urgency=low
+
+  * new upstream release
+
+ -- Nicolas Chauvat <nicolas.chauvat@logilab.fr>  Tue, 30 Nov 2010 22:25:41 +0100
+
 cubicweb (3.10.5-1) unstable; urgency=low
 
   * new upstream release
--- a/devtools/testlib.py	Tue Nov 30 15:05:07 2010 +0100
+++ b/devtools/testlib.py	Wed Dec 01 17:09:19 2010 +0100
@@ -39,6 +39,7 @@
 from logilab.common.umessage import message_from_string
 from logilab.common.decorators import cached, classproperty, clear_cache
 from logilab.common.deprecation import deprecated, class_deprecated
+from logilab.common.shellutils import getlogin
 
 from cubicweb import ValidationError, NoSelectableObject, AuthenticationError
 from cubicweb import cwconfig, devtools, web, server
@@ -223,13 +224,7 @@
         # set default-dest-addrs to a dumb email address to avoid mailbox or
         # mail queue pollution
         config.global_set_option('default-dest-addrs', ['whatever'])
-        try:
-            send_to =  '%s@logilab.fr' % os.getlogin()
-            # AttributeError since getlogin not available under all platforms
-        except (OSError, AttributeError):
-            send_to =  '%s@logilab.fr' % (os.environ.get('USER')
-                                          or os.environ.get('USERNAME')
-                                          or os.environ.get('LOGNAME'))
+        send_to =  '%s@logilab.fr' % getlogin()
         config.global_set_option('sender-addr', send_to)
         config.global_set_option('default-dest-addrs', send_to)
         config.global_set_option('sender-name', 'cubicweb-test')
--- a/doc/book/en/admin/setup.rst	Tue Nov 30 15:05:07 2010 +0100
+++ b/doc/book/en/admin/setup.rst	Wed Dec 01 17:09:19 2010 +0100
@@ -8,9 +8,25 @@
 Installation of `Cubicweb` and its dependencies
 -----------------------------------------------
 
-|cubicweb| is packaged for Debian and Ubuntu, but can be installed from source
-using a tarball or the Mercurial version control system.
+|cubicweb| is packaged for `Debian and Ubuntu`_, is `pip installable`_ and
+`easy_install installable`_. It can be installed from source using a tarball_
+or the `Mercurial version control system`_ . Windows user may want to check the
+`Windows Installation`_ section.
+
+Also, since version 3.9, can be safely installed, used and contained inside a
+`virtualenv`_.
+
 
+.. _`Debian and Ubuntu` : DebianInstallation_
+.. _`pip installable`: PipInstallation_
+.. _`easy_install installable`: EasyInstallInstallation_
+.. _tarball: TarballInstallation_
+.. _`Mercurial version control system`: MercurialInstallation_
+.. _`Windows Installation`: WindowsInstallation_
+.. _`virtualenv`: http://pypi.python.org/pypi/virtualenv
+
+
+.. file:///home/pyves/tmp/cwdoc/html/admin/setup.html#pipinstallation
 
 .. _DebianInstallation:
 
@@ -44,7 +60,15 @@
 `cubicweb-dev` installs the development environment allowing you to develop new
 cubes.
 
-There is also a wide variety of cubes listed on the `CubicWeb.org Forge`_
+.. note::
+
+   `cubicweb-dev` will install basic sqlite support. You can easily setup
+   `cubicweb with other database`_ using the following virtual packages :
+   `cubicweb-postgresql-support` contains necessary dependency for using
+   `cubicweb with postgresql datatabase`_ and `cubicweb-mysql-support` contains
+   necessary dependency for using `cubicweb with mysql database`_ .
+
+There is also a wide variety of :ref:`cubes <Cubes>` listed on the `CubicWeb.org Forge`_
 available as debian packages and tarball.
 
 The repositories are signed with `Logilab's gnupg key`_. To avoid warning on
@@ -57,6 +81,9 @@
 
 .. _`Logilab's gnupg key`: http://ftp.logilab.org/dists/logilab-dists-key.asc
 .. _`CubicWeb.org Forge`: http://www.cubicweb.org/project/
+.. _`cubicweb with other database`: DatabaseInstallation_
+.. _`cubicweb with postgresql datatabase` : PostgresqlConfiguration_
+.. _`cubicweb with mysql database` : MySqlConfiguration_
 
 
 .. _PipInstallation:
@@ -64,25 +91,84 @@
 Installation with pip
 `````````````````````
 
-|cubicweb| and its cubes have been pip_ installable since version 3.8. Search
+pip_ is a smart python utility that lets you automatically download, build,
+install, and manage python packages and their dependencies.
+
+|cubicweb| and its cubes have been pip_ installable since version 3.9. Search
 for them on pypi_::
 
   pip install cubicweb
+  pip install cubicweb-blog
+
+.. note::
+
+    Pip is the recommended way to install |cubicweb| if there is no binary
+    package available on your system or you want to install it inside a
+    `virtualenv`_. However pip doesn't install binary package and may require
+    several compilation steps while installing |cubicweb| dependencies. If you
+    don't have a compilation environment you should use  `easy_install
+    installation`_ to install |cubicweb|.
+
+    Once, |cubicweb| is installed, this limitation doesn't apply when installing
+    cubes.
+
 
 .. _pip: http://pypi.python.org/pypi/pip
 .. _pypi: http://pypi.python.org/pypi?%3Aaction=search&term=cubicweb
+.. _`easy_install installation`: EasyInstallInstallation_
 
-.. _SourceInstallation:
 
 .. warning::
 
-  This method may still have hiccups. If it does not work for you,
-  please consider installing from version control system
-  (:ref:`MercurialInstallation`).
+  |cubicweb| depends upon the `lxml` python module. This module contains ``C``
+  code that must be compiled.  To successfully install |cubicweb| with pip, you
+  must either have an environment ables to compile Python ``C`` extensions or
+  preinstall lxml from a binary package.
+
+.. note::
+
+  For better performance the setup processor will compile a ``C`` extension for
+  the :ref:`RQL <RQL>` language if you have an environment ables to compile
+  Python ``C`` extensions and the `gecode library`_.  Otherwise, a pure python
+  alternative will be used for degraded performance.
+
+.. _`gecode library`: http://www.gecode.org/
+.. _`easy_install`:   http://packages.python.org/distribute/easy_install.html
+
+
+.. _EasyInstallInstallation:
+
+Installation with EasyInstall
+``````````````````````````````
+
+.. note::
+
+    We don't recommend the use of `easy_install` and setuptools in the generic
+    case. However as easy_install is currently the sole pure python package
+    system that support binary installation. Using `easy_install` is currently
+    the easiest way to install |cubicweb| when you don't have a compilation
+    environment set-up or Debian based distribution.
+
+
+|cubicweb| is easy_install_ installable for version 3.9::
+
+  easy_install cubicweb
+
+.. warning::
+
+    Cubes are **not** is easy_install_ installable. But they are
+    `pip installable`_
+
+
+
+
+.. _SourceInstallation:
 
 Install from source
 ```````````````````
 
+.. _TarballInstallation:
+
 You can download the archive containing the sources from our `ftp site`_ at::
 
   http://ftp.logilab.org/pub/cubicweb/
@@ -98,7 +184,7 @@
 
 You can keep up to date with on-going development by using Mercurial::
 
-  hg clone http://www.logilab.org/hg/forests/cubicweb
+  hg clone http://hg.logilab.org/cubicweb
 
 See :ref:`MercurialPresentation` for more details about Mercurial.
 
@@ -417,7 +503,7 @@
 
 MySql configuration
 ```````````````````
-Yout must add the following lines in ``/etc/mysql/my.cnf`` file::
+You must add the following lines in ``/etc/mysql/my.cnf`` file::
 
     transaction-isolation=READ-COMMITTED
     default-storage-engine=INNODB
@@ -471,7 +557,7 @@
 Pyro configuration
 ------------------
 
-If you want to use Pyro to access your instance remotly, or to have multi-source
+If you want to use Pyro to access your instance remotely, or to have multi-source
 or distributed configuration, it is required to have a Pyro name server running
 on your network. By default it is detected by a broadcast request, but you can
 specify a location in the instance's configuration file.
--- a/doc/book/en/annexes/rql/index.rst	Tue Nov 30 15:05:07 2010 +0100
+++ b/doc/book/en/annexes/rql/index.rst	Wed Dec 01 17:09:19 2010 +0100
@@ -1,3 +1,5 @@
+.. _RQLChapter
+
 Relation Query Language (RQL)
 =============================
 
--- a/server/repository.py	Tue Nov 30 15:05:07 2010 +0100
+++ b/server/repository.py	Wed Dec 01 17:09:19 2010 +0100
@@ -590,7 +590,7 @@
         sources = {}
         # remove sensitive information
         for uri, source in self.sources_by_uri.iteritems():
-            sources[uri] = source.cfg
+            sources[uri] = source.public_config
         return sources
 
     def properties(self):
--- a/server/sources/__init__.py	Tue Nov 30 15:05:07 2010 +0100
+++ b/server/sources/__init__.py	Wed Dec 01 17:09:19 2010 +0100
@@ -109,8 +109,8 @@
         self.set_schema(repo.schema)
         self.support_relations['identity'] = False
         self.eid = None
-        self.cfg = source_config.copy()
-        self.remove_sensitive_information(self.cfg)
+        self.public_config = source_config.copy()
+        self.remove_sensitive_information(self.public_config)
 
     def init_creating(self):
         """method called by the repository once ready to create a new instance"""