1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
#!/usr/bin/env python
import sys
import re
from lpltk import LaunchpadService
lp = LaunchpadService()
if len(sys.argv) < 2:
print "Usage: ppa-create <ppa-name>"
sys.exit(0)
ppa_name = sys.argv[1]
re_lp = re.compile("lp(\d+)")
displayname = ppa_name
description = ppa_name
m = re_lp.match(ppa_name)
if m:
bug_id = m.group(1)
bug = lp.get_bug(bug_id)
desc_summary = bug.description.split("\n\n")[0]
if desc_summary[:20] == "Binary package hint:":
desc_summary = bug.description.split("\n\n")[1]
displayname = "Fix for bug %s - %s" %(bug_id, bug.title)
# BUG: Can't embed newlines (see LP: #868047)
description = "This PPA contains a possible fix for the following issue: "
description += bug.title + " "
description += desc_summary
description += " (LP: #%s)""" %(bug_id)
print displayname
print description
print
me = lp.launchpad.me
team = lp.launchpad.people[me.name]
results = team.createPPA(
name=ppa_name,
displayname=displayname,
description=description)
team.lp_save()
ppa = team.getPPAByName(name=ppa_name)
print ppa.web_link
print
print "You can upload packages to this PPA using:"
print "ppa-put <source.changes>"
print " - or -"
print "dput ppa:%s/%s <source.changes>" %(team.name, ppa_name)
|