#2131 new task

Create Launchpad PPAs for stable and daily builds

Reported by: amontero Owned by:
Priority: normal Milestone: soon
Component: packaging Version: 1.10.0
Keywords: packaging buildbot dev-infrastructure ubuntu debian Cc:
Launchpad Bug:

Description (last modified by amontero)

Having a daily built development PPA on Launchpad would ease testing of latest code. Adding a PPA is one of the easiest ways for users to access packages outside their distros and lowering this barrier as much as possible can help attract more testers. Read more on why at https://help.launchpad.net/Packaging/SourceBuilds.

The way to accomplish this is using Launchpad's "packaging recipes" and code imports from the appropiate branches at Github. LP provides a buildbot facility to ease and even automate this.

This could also be used to create derivate or experimental builds such as I2P packages, for instance.

"Taho-LAFS Team" at Launchpad page is already set up at: https://launchpad.net/~tahoe-lafs

Change History (10)

comment:1 Changed at 2013-12-06T14:27:05Z by amontero

  • Keywords packaging buildbot ubuntu debian added

comment:2 Changed at 2013-12-06T14:31:57Z by amontero

  • Component changed from unknown to packaging
  • Description modified (diff)
  • Keywords dev-infrastructure added

comment:3 Changed at 2013-12-06T15:03:14Z by daira

  • Owner daira deleted

+1

comment:4 Changed at 2013-12-06T15:03:54Z by daira

  • Milestone changed from undecided to soon

comment:5 follow-up: Changed at 2013-12-06T16:46:48Z by amontero

Applied as Tahoe-LAFS LP team member. Someone there with admin access should add a link in the LP team page description to this ticket to keep everyone on the same page.

comment:6 in reply to: ↑ 5 Changed at 2013-12-07T15:27:16Z by zooko

Replying to amontero:

Applied as Tahoe-LAFS LP team member. Someone there with admin access should add a link in the LP team page description to this ticket to keep everyone on the same page.

Done: https://launchpad.net/~tahoe-lafs

comment:7 follow-up: Changed at 2013-12-11T16:41:13Z by amontero

When asking on IRC for how to differentiate builds from the WebUIs using specific version strings, Zooko pointed to related Versioneer issue: https://github.com/warner/python-versioneer/issues/6 Also, Zooko's solution (copied verbatim):

echo "__appname__ = 'amonteros-experiment'" >> src/allmydata/_appname.py

Daira suggested to append .dev0 to the version string instead of doing it with __appname__ to avoid incompatibilities in the files created in node directories. Daira's solution is editing/creating src/allmydata/_version.py . If it is not present, a build from a git checkout will generate it.

Alternatively, have the bzr import run 'python setup.py verinfo' (iirc) on the git tree before doing the incremental import.

comment:8 in reply to: ↑ 7 ; follow-up: Changed at 2013-12-12T04:56:51Z by zooko

Replying to amontero:

Also, Zooko's solution (copied verbatim):

echo "__appname__ = 'amonteros-experiment'" >> src/allmydata/_appname.py

Daira suggested to append .dev0 to the version string instead of doing it with __appname__ to avoid incompatibilities in the files created in node directories.

You might want files created in node directories (i.e. tahoe-client.tac) to be incompatible! Maybe you want node directories created with your amonteros-experiment branch to fail if you try to start that node using the mainline. Or maybe not! But I also don't think it is that big of a deal either way. By the way, #1159 would make it so that the node directories can be started by tahoe code regardless of its appname.

comment:9 in reply to: ↑ 8 ; follow-up: Changed at 2013-12-12T15:54:19Z by daira

Replying to zooko:

You might want files created in node directories (i.e. tahoe-client.tac) to be incompatible!

Why? Then your node directories would fail even if your branch were merged into the mainline. I do think this is a big deal, because it's an unnecessary support hassle.

comment:10 in reply to: ↑ 9 Changed at 2013-12-17T21:28:35Z by zooko

Replying to daira:

Replying to zooko:

You might want files created in node directories (i.e. tahoe-client.tac) to be incompatible!

Why? Then your node directories would fail even if your branch were merged into the mainline. I do think this is a big deal, because it's an unnecessary support hassle.

You might want a guarantee that nodes created with your branch will never get run by trunk. So that you could experiment with incompatible changes. Or maybe not. I don't think it is a big deal, but obviously I should go fix #1159 so that we can stop talking about this and get onto bigger things!

Note: See TracTickets for help on using tickets.