]> git.rkrishnan.org Git - tahoe-lafs/tahoe-lafs.git/commit
versioning: include an "appname" in the application version string in the versioning...
authorZooko O'Whielacronx <zooko@zooko.com>
Thu, 12 Feb 2009 00:18:16 +0000 (17:18 -0700)
committerZooko O'Whielacronx <zooko@zooko.com>
Thu, 12 Feb 2009 00:18:16 +0000 (17:18 -0700)
commit7eb260a9cf6010a74ce8a0f11a19b98d9a95cbb0
treeb80a69eb7d8f009be2408ca4cf9767ec6557fe56
parent5a21cecd671b2666276e11327ba6dcae9b2ad890
versioning: include an "appname" in the application version string in the versioning protocol, and make that appname be controlled by setup.py
It is currently hardcoded in setup.py to be 'allmydata-tahoe'.  Ticket #556 is to make it configurable by a runtime command-line argument to setup.py: "--appname=foo", but I suddenly wondered if we really wanted that and at the same time realized that we don't need that for tahoe-1.3.0 release, so this patch just hardcodes it in setup.py.
setup.py inspects a file named 'src/allmydata/_appname.py' and assert that it contains the string "__appname__ = 'allmydata-tahoe'", and creates it if it isn't already present.  src/allmydata/__init__.py import _appname and reads __appname__ from it.  The rest of the Python code imports allmydata and inspects "allmydata.__appname__", although actually every use it uses "allmydata.__full_version__" instead, where "allmydata.__full_version__" is created in src/allmydata/__init__.py to be:

__full_version__ = __appname + '-' + str(__version__).

All the code that emits an "application version string" when describing what version of a protocol it supports (introducer server, storage server, upload helper), or when describing itself in general (introducer client), usese allmydata.__full_version__.

This fixes ticket #556 at least well enough for tahoe-1.3.0 release.
setup.py
src/allmydata/__init__.py
src/allmydata/client.py
src/allmydata/immutable/offloaded.py
src/allmydata/introducer/server.py
src/allmydata/scripts/common_http.py
src/allmydata/storage.py
src/allmydata/test/test_client.py
src/allmydata/test/test_upload.py