prepend 'application-version' with the name of this particular application #556
Labels
No Label
0.2.0
0.3.0
0.4.0
0.5.0
0.5.1
0.6.0
0.6.1
0.7.0
0.8.0
0.9.0
1.0.0
1.1.0
1.10.0
1.10.1
1.10.2
1.10a2
1.11.0
1.12.0
1.12.1
1.13.0
1.14.0
1.15.0
1.15.1
1.2.0
1.3.0
1.4.1
1.5.0
1.6.0
1.6.1
1.7.0
1.7.1
1.7β
1.8.0
1.8.1
1.8.2
1.8.3
1.8β
1.9.0
1.9.0-s3branch
1.9.0a1
1.9.0a2
1.9.0b1
1.9.1
1.9.2
1.9.2a1
LeastAuthority.com automation
blocker
cannot reproduce
cloud-branch
code
code-dirnodes
code-encoding
code-frontend
code-frontend-cli
code-frontend-ftp-sftp
code-frontend-magic-folder
code-frontend-web
code-mutable
code-network
code-nodeadmin
code-peerselection
code-storage
contrib
critical
defect
dev-infrastructure
documentation
duplicate
enhancement
fixed
invalid
major
minor
n/a
normal
operational
packaging
somebody else's problem
supercritical
task
trivial
unknown
was already fixed
website
wontfix
worksforme
No Milestone
No Assignees
3 Participants
Notifications
Due Date
No due date set.
Reference: tahoe-lafs/trac-2024-07-25#556
Loading…
Reference in New Issue
No description provided.
Delete Branch "%!s(<nil>)"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
The 'application-version' string which is sent during version negotiation ought to start with some unique name for each application. So far we have two applications:
tahoe-lafs
and allmydata.com'stahoe-w32-client
. The right way to fix this is probably to edit source:setup.py to use the idiom of having aPKG
variable, the way that zfec's setup.py and pycryptopp's setup.py do, and make tahoe's source:setup.py accept an optional--application-name=
argument, which if present will over-ride thePKG
variable. Then have source:setup.py write the value of thePKG
variable into the_version.py
file, then, prepend that name to the 'application-version' string which is used for negotiation.This needs to happen before the 1.3.0 release so that all LAFS implementors don't have to remember for the rest of their days that nodes which just called themselves "1.3.0" were actually
tahoe-lafs
nodes and ones that called themselves "3.3.0", or something were actuallyallmydata.com-tahoe-w32-client
nodes.Hopefully assigning to cgalvan.
prepend 'application-version' with the name of thsi particular applicationto prepend 'application-version' with the name of this particular applicationI haven't heard from Chris in a while and he is in school now, so I'll probably take this ticket over from him for 1.3.0 if he doesn't speak up in the next day or two.
Should this variable (as passed into setup.py) get recorded in the same file as the one created by 'darcsver'? Maybe yes, I just want to make sure we don't wind up having one tool clobber the output of a different tool.
I agree with your description above, that the "application name" should be kept in a different variable than the computed version number: the two can be concatenated elsewhere.
Good question. Yes, let's keep it in a separate file, named
src/allmydata/_appname.py
.i'd suggest a naming convention for both these variables (appname and version), since they'll be concatenated (with a hyphen?).
is there a standing convention for the concatenation? does it matter at all? if it's only for 'printing' out, it probably doesn't matter - each of the initial variable values would still be available independently.
How about if the convention is that everything up to the first hyphen is the application name and everything after is the application version string.
changeset:7eb260a9cf6010a7 fixes this. That patch doesn't actually make the appname configurable by a run-time option to
setup.py
, but instead hardcodes it insidesetup.py
as the value of theAPPNAME
variable in module scope ofsetup.py
. I'm going to close this ticket anyway, as this patch is sufficient to enable future backwards-compatibility, and the other issue about how to change the appname in your custom branch/fork/toothpick/variant/derived-product of Tahoe is a larger and separable issue about "branding".