Opened at 2013-07-04T16:41:51Z
Closed at 2016-03-25T19:40:36Z
#2011 closed defect (fixed)
Make the PyPI distribution name consistent with the domain name and debian packages.
Reported by: | nejucomo | Owned by: | warner |
---|---|---|---|
Priority: | normal | Milestone: | 1.11.0 |
Component: | packaging | Version: | 1.10.0 |
Keywords: | packaging pypi backward-compatibility | Cc: | |
Launchpad Bug: |
Description (last modified by zooko)
Criteria:
This ticket is closed when the PyPI package name is tahoe-lafs, otherwise this ticket is set to a different unopen status.
Synopsis:
The distribution names are inconsistent, as seen in: https://tahoe-lafs.org/trac/tahoe-lafs/ticket/1950#comment:6
- PyPI package name is allmydata-tahoe
- The debian name is tahoe-lafs
- The domain name is tahoe-lafs.org: https://tahoe-lafs.org
- The github name is tahoe-lafs: https://github.com/tahoe-lafs/
- Anecdotally the common "spoken name" is either "tahoe" or "tahoe lafs".
I propose we alter the PyPI package to match the others: tahoe-lafs
Related:
- #1950 is about a larger, more time consuming project which involves changing the python module names as well.
Change History (16)
comment:1 Changed at 2013-07-07T13:05:32Z by zooko
- Description modified (diff)
comment:2 Changed at 2013-07-14T00:45:29Z by daira
- Component changed from unknown to packaging
- Keywords packaging pypi added
comment:3 Changed at 2013-11-17T21:30:54Z by daira
- Milestone changed from undecided to soon
comment:4 follow-up: ↓ 13 Changed at 2014-10-27T01:41:28Z by daira
- Keywords backward-compatibility added
- Milestone changed from soon to 1.12.0
comment:5 Changed at 2014-12-04T13:58:57Z by daira
This ticket also implies changing the name we use for git tags, currently patterned as allmydata-tahoe-1.11, to e.g. tahoe-lafs-1.12. (setup.py already makes this naming assumption as of e1a3a2001f37ce4225fb0f600c7eb30d9a061e06/trunk.)
comment:6 Changed at 2014-12-05T12:55:21Z by daira
As part of fixing this we should check there are no more references to "allmydata-tahoe" in code or comments.
comment:7 Changed at 2014-12-07T18:12:40Z by daira
https://github.com/tahoe-lafs/tahoe-lafs/commits/2011-allmydataectomy-1 (the last two commits).
This is not a pull request yet because it is scheduled for after v1.10.1.
comment:8 Changed at 2014-12-07T18:19:37Z by daira
Also note that builds of the above branch will fail unless there is a tag in the history with name starting "tahoe-lafs-" (e.g. see https://travis-ci.org/tahoe-lafs/tahoe-lafs/jobs/43273843#L436). This is intentional.
comment:9 Changed at 2015-04-12T22:49:00Z by daira
- Milestone changed from 1.12.0 to 1.11.0
comment:10 Changed at 2016-03-22T05:02:52Z by warner
- Milestone changed from 1.11.0 to 1.12.0
Milestone renamed
comment:11 Changed at 2016-03-25T16:46:30Z by warner
- Milestone changed from 1.12.0 to 1.11.0
- Owner changed from daira to warner
- Status changed from new to assigned
I want this in 1.11, so that we can recommend pip install tahoe-lafs right off the bat, rather than having an intermediate period where the instructions say pip install allmydata-tahoe.
comment:12 Changed at 2016-03-25T17:58:14Z by warner
When this lands, we should add a Obsoletes-Dist field to our setup.py metadata, to point at the old allmydata-tahoe name.
comment:13 in reply to: ↑ 4 Changed at 2016-03-25T18:01:12Z by warner
Replying to daira:
If we changed the package name for 1.11, that would mean nodes created by 1.11 could not be run by versions earlier than 1.10.1, but that's probably fine.
I need to test it, but we stopped using the contents of the .tac files back in 1.9.2 (commit [87a6894e62] on 23-May-2012). So I think the lingering pkg_resources.require('allmydata-tahoe') in them won't affect our backwards-compatibility story very much.
comment:14 Changed at 2016-03-25T18:13:03Z by warner
Oops, I'm wrong, 1.10.0 *does* use the contents of the tac file (it runs twistd -y $TAC), but 1.10.1 does not. Same argument applies: building a node with the new name=tahoe-lafs 1.11.0 release, then rolling back to 1.10.0 (released in may of 2013), would break.
comment:15 Changed at 2016-03-25T18:17:59Z by warner
Daira had a great idea: we could help old tahoe versions produce a better error message by writing out .tac files that throw an error if they're imported.
Newer Tahoes don't use the contents of the .tac file at all: they just look at the file name to decide what type of node it is, then instantiate the appropriate class (client, introducer, stats-gatherer, etc). Older Tahoes use twistd -y tac, which imports the .tac file.
So we can raise RuntimeError in the new .tac files, and then older tahoes will print the exception when they attempt to run twistd on it.
comment:16 Changed at 2016-03-25T19:40:36Z by Daira Hopwood <daira@…>
- Resolution set to fixed
- Status changed from assigned to closed
In 0598c83/trunk:
This was blocked on #1159 which is now fixed.
If we changed the package name for 1.11, that would mean nodes created by 1.11 could not be run by versions earlier than 1.10.1, but that's probably fine.