#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

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: Changed at 2014-10-27T01:41:28Z by daira

  • Keywords backward-compatibility added
  • Milestone changed from soon to 1.12.0

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.

Last edited at 2015-04-12T22:51:20Z by daira (previous) (diff)

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.10.1, to e.g. tahoe-lafs-1.11.0. (setup.py already makes this naming assumption as of e1a3a2001f37ce4225fb0f600c7eb30d9a061e06/trunk.)

Last edited at 2015-04-12T22:50:36Z by daira (previous) (diff)

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

This is not a pull request yet because it is scheduled for after v1.11.

Version 0, edited at 2014-12-07T18:12:40Z by daira (next)

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:

Rename distribution from allmydata-tahoe to tahoe-lafs. fixes ticket:2011

Signed-off-by: Daira Hopwood <daira@…>

Note: See TracTickets for help on using tickets.