6
from launchpadlib.launchpad import Launchpad
11
SEED_WHITELIST = ["ubuntu-desktop-next"]
12
SEEDED_IN_UBUNTU = "/home/ubuntu-archive/ubuntu-dev-tools/seeded-in-ubuntu"
13
PACKAGE_WHITELIST = ["upstart-app-launch", "click", "click-apparmor",
14
"apparmor-easyprof-ubuntu", "ubuntuone-credentials"]
17
if len(sys.argv) > 1 and sys.argv[1] == "debug":
20
# Connect to Launchpad
21
lp = Launchpad.login_with("auto-accept", "production", version="devel")
22
ubuntu = lp.distributions['ubuntu']
24
# Get the primary archive
25
archive = ubuntu.getArchive(name="primary")
28
series = ubuntu.getSeries(name_or_version=SERIES)
31
# Process the packages
32
for pkg in series.getPackageUploads(status=QUEUE, pocket=POCKET,
35
# Whitelisted packages
36
if pkg.package_name in PACKAGE_WHITELIST:
38
print("%s: Accepting due to whitelist: %s (%s)" %
39
(time.asctime(), pkg.package_name, pkg.package_version))
42
# Extract all the packagesets and skip if in any
44
for pkgset in lp.packagesets.setsIncludingSource(
45
distroseries=series, sourcepackagename=pkg.package_name):
46
package_sets.add(pkgset.name)
50
print("Skipping '%s' because it's in the following packagesets: %s" %
51
(pkg.package_name, ", ".join(package_sets)))
54
# Extract all the seeds and skip if in any
55
seed = subprocess.Popen([SEEDED_IN_UBUNTU, pkg.package_name],
56
universal_newlines=True, stdout=subprocess.PIPE,
57
stderr=subprocess.PIPE)
58
if seed.wait() != 0 or seed.stderr.read():
60
print("Skipping '%s' due to Invalid output from seeded-in-ubuntu: %s" %
61
(pkg.package_name, seed.stderr.read().strip()))
65
for line in seed.stdout:
66
if not line.startswith(" "):
70
seed = line.split(":")[0]
71
if seed in SEED_WHITELIST:
77
print("Skipping '%s' because it's seeded on: %s" %
78
(pkg.package_name, ", ".join(seeds)))
81
print("%s: Accepting: %s (%s)" % (time.asctime(), pkg.package_name,