--- 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"""