2007-04-19 20:47:59 +00:00
|
|
|
"""
|
2007-04-30 20:06:09 +00:00
|
|
|
Decentralized storage grid.
|
2007-04-19 20:47:59 +00:00
|
|
|
|
2012-03-08 23:17:19 +00:00
|
|
|
community web site: U{https://tahoe-lafs.org/}
|
2007-04-19 20:47:59 +00:00
|
|
|
"""
|
2019-03-30 15:58:02 +00:00
|
|
|
|
2019-08-13 19:11:01 +00:00
|
|
|
__all__ = [
|
|
|
|
"__version__",
|
|
|
|
"full_version",
|
|
|
|
"branch",
|
|
|
|
"__appname__",
|
|
|
|
"__full_version__",
|
|
|
|
]
|
2010-05-23 22:11:57 +00:00
|
|
|
|
2007-05-04 03:14:07 +00:00
|
|
|
__version__ = "unknown"
|
|
|
|
try:
|
2010-02-26 08:14:33 +00:00
|
|
|
from allmydata._version import __version__
|
2007-05-04 03:14:07 +00:00
|
|
|
except ImportError:
|
2013-04-25 01:14:50 +00:00
|
|
|
# We're running in a tree that hasn't run update_version, and didn't
|
|
|
|
# come with a _version.py, so we don't know what our version is.
|
|
|
|
# This should not happen very often.
|
|
|
|
pass
|
|
|
|
|
|
|
|
full_version = "unknown"
|
|
|
|
branch = "unknown"
|
|
|
|
try:
|
|
|
|
from allmydata._version import full_version, branch
|
|
|
|
except ImportError:
|
|
|
|
# We're running in a tree that hasn't run update_version, and didn't
|
|
|
|
# come with a _version.py, so we don't know what our full version or
|
|
|
|
# branch is. This should not happen very often.
|
2007-05-04 03:14:07 +00:00
|
|
|
pass
|
2007-04-19 20:47:59 +00:00
|
|
|
|
2016-08-08 01:46:59 +00:00
|
|
|
__appname__ = "tahoe-lafs"
|
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.
2009-02-12 00:18:16 +00:00
|
|
|
|
2016-08-08 01:46:59 +00:00
|
|
|
# __full_version__ is the one that you ought to use when identifying yourself
|
|
|
|
# in the "application" part of the Tahoe versioning scheme:
|
2012-03-08 23:17:19 +00:00
|
|
|
# https://tahoe-lafs.org/trac/tahoe-lafs/wiki/Versioning
|
2009-02-13 05:37:38 +00:00
|
|
|
__full_version__ = __appname__ + '/' + str(__version__)
|