96
96
'published': proposed_date}
98
98
versions = defaultdict(dict)
99
matches = archive.getPublishedSources(source_name=sourcename,
100
exact_match=not pattern, status='Published', pocket='Proposed',
101
distro_series=series)
99
matches = archive.getPublishedSources(
100
source_name=sourcename, exact_match=not pattern, status='Published',
101
pocket='Proposed', distro_series=series)
102
102
for match in matches:
103
103
# versions in all pockets
104
104
for pub in archive.getPublishedSources(
105
source_name=match.source_package_name, exact_match=True,
106
status='Published', distro_series=series):
105
source_name=match.source_package_name, exact_match=True,
106
status='Published', distro_series=series):
107
107
versions[pub.source_package_name][pub.pocket.lower()] = (
108
108
pub.source_package_version)
109
109
if 'Proposed' in pub.pocket:
114
114
for pub in archive.getPublishedSources(
115
source_name=match.source_package_name, exact_match=True,
116
status='Published', distro_series=devel_series):
115
source_name=match.source_package_name, exact_match=True,
116
status='Published', distro_series=devel_series):
117
117
if pub.pocket in ('Release', 'Proposed'):
118
118
versions[pub.source_package_name]['devel'] = (
119
119
pub.source_package_version)
196
196
parser.add_option(
197
197
'-l', '--launchpad', dest='launchpad_instance', default='production')
198
parser.add_option('-s', '--security', action='store_true', default=False,
199
'-s', '--security', action='store_true', default=False,
199
200
help='Additionally copy to -security pocket')
200
parser.add_option('-d', '--devel', action='store_true', default=False,
202
'-d', '--devel', action='store_true', default=False,
201
203
help='Additionally copy to development release (only works if that '
202
204
'has the same version as <release>)')
203
parser.add_option('-r', '--release', action='store_true', default=False,
206
'-r', '--release', action='store_true', default=False,
204
207
help='Copy to release pocket instead of -updates (useful for staging '
205
208
'uploads in development release)')
206
parser.add_option('-n', '--no-act', action='store_true', default=False,
210
'-n', '--no-act', action='store_true', default=False,
207
211
help='Only perform checks, but do not actually copy packages')
208
parser.add_option('-p', '--pattern', action='store_true', default=False,
213
'-p', '--pattern', action='store_true', default=False,
209
214
help='Treat package names as patterns, not exact matches')
211
216
options, args = parser.parse_args()
234
239
for package in packages:
235
240
release_package(package, options.security, options.devel,
236
options.release, options.no_act, options.pattern)
241
options.release, options.no_act, options.pattern)