mirror of
https://git.launchpad.net/ubuntu-dev-tools
synced 2025-03-13 08:01:09 +00:00
Actually merge trunk
This commit is contained in:
commit
ab0dc4244b
@ -138,8 +138,7 @@ def dscurl_from_package(lp, workdir, package, version, source_release):
|
|||||||
if not source_release and not version:
|
if not source_release and not version:
|
||||||
source_release = lp.distributions['ubuntu'].current_series.name
|
source_release = lp.distributions['ubuntu'].current_series.name
|
||||||
|
|
||||||
# If source_release is specified, then version is just for
|
# If source_release is specified, then version is just for verification
|
||||||
# verification
|
|
||||||
if source_release:
|
if source_release:
|
||||||
srcpkg = find_release_package(lp, package, version, source_release)
|
srcpkg = find_release_package(lp, package, version, source_release)
|
||||||
else:
|
else:
|
||||||
@ -156,8 +155,7 @@ def dscurl_from_dsc(package):
|
|||||||
if os.path.exists(path):
|
if os.path.exists(path):
|
||||||
return 'file://%s' % path
|
return 'file://%s' % path
|
||||||
else:
|
else:
|
||||||
# Can't resolve it as a local path? Let's just hope it's good
|
# Can't resolve it as a local path? Let's just hope it's good as-is
|
||||||
# as-is
|
|
||||||
return package
|
return package
|
||||||
|
|
||||||
def fetch_package(lp, workdir, package, version, source_release):
|
def fetch_package(lp, workdir, package, version, source_release):
|
||||||
@ -168,10 +166,7 @@ def fetch_package(lp, workdir, package, version, source_release):
|
|||||||
else:
|
else:
|
||||||
dsc = dscurl_from_package(lp, workdir, package, version, source_release)
|
dsc = dscurl_from_package(lp, workdir, package, version, source_release)
|
||||||
|
|
||||||
check_call(['dget',
|
check_call(['dget', '--download-only', '--allow-unauthenticated', dsc],
|
||||||
'--download-only',
|
|
||||||
'--allow-unauthenticated',
|
|
||||||
dsc],
|
|
||||||
cwd=workdir)
|
cwd=workdir)
|
||||||
return os.path.join(workdir, os.path.basename(dsc))
|
return os.path.join(workdir, os.path.basename(dsc))
|
||||||
|
|
||||||
@ -211,19 +206,12 @@ def do_upload(workdir, package, bp_version, upload):
|
|||||||
elif answer in ('n', 'no'):
|
elif answer in ('n', 'no'):
|
||||||
return
|
return
|
||||||
|
|
||||||
check_call(['dput',
|
check_call(['dput', upload, '%s_%s_source.changes' % (package, bp_version)],
|
||||||
upload,
|
|
||||||
'%s_%s_source.changes' %
|
|
||||||
(package, bp_version)],
|
|
||||||
cwd=workdir)
|
cwd=workdir)
|
||||||
|
|
||||||
|
|
||||||
def do_backport(workdir, package, dscfile, version, release, build, builder, upload):
|
def do_backport(workdir, package, dscfile, version, release, build, builder, upload):
|
||||||
check_call(['dpkg-source',
|
check_call(['dpkg-source', '-x', dscfile, package], cwd=workdir)
|
||||||
'-x',
|
|
||||||
dscfile,
|
|
||||||
package],
|
|
||||||
cwd=workdir)
|
|
||||||
srcdir = os.path.join(workdir, package)
|
srcdir = os.path.join(workdir, package)
|
||||||
|
|
||||||
bp_version = get_backport_version(version, upload, release)
|
bp_version = get_backport_version(version, upload, release)
|
||||||
@ -236,8 +224,7 @@ def do_backport(workdir, package, dscfile, version, release, build, builder, upl
|
|||||||
'--distribution', bp_dist,
|
'--distribution', bp_dist,
|
||||||
'No-change backport to %s' % release],
|
'No-change backport to %s' % release],
|
||||||
cwd=srcdir)
|
cwd=srcdir)
|
||||||
check_call(['debuild', '-S', '-sa'],
|
check_call(['debuild', '-S', '-sa'], cwd=srcdir)
|
||||||
cwd=srcdir)
|
|
||||||
|
|
||||||
if ':' in bp_version:
|
if ':' in bp_version:
|
||||||
bp_version = bp_version[bp_version.find(':')+1:]
|
bp_version = bp_version[bp_version.find(':')+1:]
|
||||||
|
9
debian/changelog
vendored
9
debian/changelog
vendored
@ -5,12 +5,19 @@ ubuntu-dev-tools (0.108) UNRELEASED; urgency=low
|
|||||||
Use the 'production' LP instance instead of 'edge' (which is going away).
|
Use the 'production' LP instance instead of 'edge' (which is going away).
|
||||||
* pbuilder-dist: Fix typo in local archive support, introduced in 0.107.
|
* pbuilder-dist: Fix typo in local archive support, introduced in 0.107.
|
||||||
|
|
||||||
|
[ Benjamin Drung ]
|
||||||
|
* pull-lp-source: Unquote URI to get "+" instead of "%2B" in the file name
|
||||||
|
(LP: #681114).
|
||||||
|
|
||||||
|
[ Colin Watson ]
|
||||||
|
* grep-merges: New tool.
|
||||||
|
|
||||||
[ Evan Broder ]
|
[ Evan Broder ]
|
||||||
* backportpackage: new script for testing backport requests in a PPA.
|
* backportpackage: new script for testing backport requests in a PPA.
|
||||||
* sponsor-patch: Add --update option to make sure build environment is
|
* sponsor-patch: Add --update option to make sure build environment is
|
||||||
up to date (LP: #689605)
|
up to date (LP: #689605)
|
||||||
|
|
||||||
-- Evan Broder <evan@ebroder.net> Mon, 13 Dec 2010 03:57:20 -0800
|
-- Evan Broder <evan@ebroder.net> Fri, 17 Dec 2010 01:46:50 -0800
|
||||||
|
|
||||||
ubuntu-dev-tools (0.107) experimental; urgency=low
|
ubuntu-dev-tools (0.107) experimental; urgency=low
|
||||||
|
|
||||||
|
1
debian/control
vendored
1
debian/control
vendored
@ -62,6 +62,7 @@ Description: useful tools for Ubuntu developers
|
|||||||
- grab-attachments - download all bug attachments from a Launchpad bug
|
- grab-attachments - download all bug attachments from a Launchpad bug
|
||||||
report.
|
report.
|
||||||
- grab-merge - grabs a merge from merges.ubuntu.com easily.
|
- grab-merge - grabs a merge from merges.ubuntu.com easily.
|
||||||
|
- grep-merges - search for pending merges from Debian.
|
||||||
- hugdaylist - compile HugDay lists from bug list URLs.
|
- hugdaylist - compile HugDay lists from bug list URLs.
|
||||||
- import-bug-from-debian - copy a bug from the Debian BTS to Launchpad
|
- import-bug-from-debian - copy a bug from the Debian BTS to Launchpad
|
||||||
- lp-list-bugs - briefly list status of Launchpad bugs.
|
- lp-list-bugs - briefly list status of Launchpad bugs.
|
||||||
|
20
debian/copyright
vendored
20
debian/copyright
vendored
@ -81,11 +81,11 @@ On Debian and Ubuntu systems, the complete text of the GNU General Public
|
|||||||
License v2 can be found in `/usr/share/common-licenses/GPL-2'.
|
License v2 can be found in `/usr/share/common-licenses/GPL-2'.
|
||||||
|
|
||||||
dch-repeat, errno, get-branches, get-build-deps, grab-attachments, grab-merge,
|
dch-repeat, errno, get-branches, get-build-deps, grab-attachments, grab-merge,
|
||||||
hugdaylist, lp-list-bugs, manage-credentials, massfile, merge-changelog,
|
grep-merges, hugdaylist, lp-list-bugs, manage-credentials, massfile,
|
||||||
mk-sbuild, pbuilder-dist-simple, pull-debian-debdiff, pull-debian-source,
|
merge-changelog, mk-sbuild, pbuilder-dist-simple, pull-debian-debdiff,
|
||||||
pull-lp-source, pull-revu-source, setup-packaging-environment,
|
pull-debian-source, pull-lp-source, pull-revu-source,
|
||||||
suspicious-source, ubuntu-build and what-patch are licensed under the GNU
|
setup-packaging-environment, suspicious-source, ubuntu-build and what-patch
|
||||||
General Public License, version 3:
|
are licensed under the GNU General Public License, version 3:
|
||||||
|
|
||||||
This program is free software: you can redistribute it and/or modify
|
This program is free software: you can redistribute it and/or modify
|
||||||
it under the terms of the GNU General Public License as published by
|
it under the terms of the GNU General Public License as published by
|
||||||
@ -101,8 +101,8 @@ License v3 can be found in `/usr/share/common-licenses/GPL-3'.
|
|||||||
|
|
||||||
The following scripts can be used, at your option, regarding any later
|
The following scripts can be used, at your option, regarding any later
|
||||||
version of the previously specified license: 404main, dch-repeat, dgetlp,
|
version of the previously specified license: 404main, dch-repeat, dgetlp,
|
||||||
get-build-deps, import-bug-from-debian, lp-list-bugs, lp-project-upload,
|
get-build-deps, grep-merges, import-bug-from-debian, lp-list-bugs,
|
||||||
lp-set-dup, manage-credentials, mk-sbuild-lv, pbuilder-dist,
|
lp-project-upload, lp-set-dup, manage-credentials, mk-sbuild-lv,
|
||||||
pull-debian-debdiff, pull-debian-source, pull-lp-source, pull-revu-source,
|
pbuilder-dist, pull-debian-debdiff, pull-debian-source, pull-lp-source,
|
||||||
reverse-build-depends, setup-packaging-environment, submittodebian,
|
pull-revu-source, reverse-build-depends, setup-packaging-environment,
|
||||||
suspicious-source, syncpackage, ubuntu-build, what-patch.
|
submittodebian, suspicious-source, syncpackage, ubuntu-build, what-patch.
|
||||||
|
26
doc/grep-merges.1
Normal file
26
doc/grep-merges.1
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
.TH grep\-merges 1 "December 15, 2010" "ubuntu-dev-tools"
|
||||||
|
.SH NAME
|
||||||
|
grep\-merges \- search for outstanding merges from Debian
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B grep\-merges
|
||||||
|
.RI [ string ]
|
||||||
|
.SH DESCRIPTION
|
||||||
|
.B grep\-merges
|
||||||
|
searches merges.ubuntu.com for pending merges from Debian.
|
||||||
|
If a
|
||||||
|
.I string
|
||||||
|
is given, it will list all merges whose source package name, last changelog
|
||||||
|
author, or last uploader contain that string.
|
||||||
|
Otherwise, it will list all merges.
|
||||||
|
.SH EXAMPLES
|
||||||
|
.nf
|
||||||
|
$ grep\-merges cjwatson
|
||||||
|
tzsetup Colin Watson <cjwatson@ubuntu.com>
|
||||||
|
console-setup Colin Watson <cjwatson@ubuntu.com>
|
||||||
|
.fi
|
||||||
|
.SH AUTHOR
|
||||||
|
.B grep\-merges
|
||||||
|
and this manual page were written by Colin Watson <cjwatson@ubuntu.com>.
|
||||||
|
.PP
|
||||||
|
Both are released under the terms of the GNU General Public License, version
|
||||||
|
3 or (at your option) any later version.
|
@ -94,7 +94,8 @@ Display a help message and exit.
|
|||||||
|
|
||||||
.TP
|
.TP
|
||||||
.B UBUNTUTOOLS_BUILDER
|
.B UBUNTUTOOLS_BUILDER
|
||||||
The default builder for Ubuntu development tools that support it (including \fBsponsor\-patch\fR.
|
The default builder for Ubuntu development tools that support it (including
|
||||||
|
\fBsponsor\-patch\fR).
|
||||||
Supported are \fBpbuilder\fR(8) and \fBsbuild\fR(1).
|
Supported are \fBpbuilder\fR(8) and \fBsbuild\fR(1).
|
||||||
If unset and not provided on the command line, \fBpbuilder\fR(8) is used.
|
If unset and not provided on the command line, \fBpbuilder\fR(8) is used.
|
||||||
|
|
||||||
|
46
grep-merges
Executable file
46
grep-merges
Executable file
@ -0,0 +1,46 @@
|
|||||||
|
#! /usr/bin/python
|
||||||
|
#
|
||||||
|
# grep-merges - search for pending merges from Debian
|
||||||
|
#
|
||||||
|
# Copyright (C) 2010 Canonical Ltd.
|
||||||
|
# Authors:
|
||||||
|
# - Colin Watson <cjwatson@ubuntu.com>
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
|
#
|
||||||
|
# This program is distributed in the hope that it will be useful,
|
||||||
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
|
#
|
||||||
|
# You should have received a copy of the GNU General Public License
|
||||||
|
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
import sys
|
||||||
|
import urllib2
|
||||||
|
import json
|
||||||
|
|
||||||
|
if len(sys.argv) > 1:
|
||||||
|
match = sys.argv[1]
|
||||||
|
else:
|
||||||
|
match = None
|
||||||
|
|
||||||
|
for component in ('main', 'main-manual',
|
||||||
|
'restricted', 'restricted-manual',
|
||||||
|
'universe', 'universe-manual',
|
||||||
|
'multiverse', 'multiverse-manual'):
|
||||||
|
page = urllib2.urlopen('http://merges.ubuntu.com/%s.json' % component)
|
||||||
|
for merge in json.load(page):
|
||||||
|
package = merge['source_package']
|
||||||
|
author, uploader = '', ''
|
||||||
|
if 'user' in merge:
|
||||||
|
author = merge['user']
|
||||||
|
if 'uploader' in merge:
|
||||||
|
uploader = '(%s)' % merge['uploader']
|
||||||
|
pretty_uploader = ' '.join((author, uploader)).strip()
|
||||||
|
if (match is None or
|
||||||
|
match in package or match in author or match in uploader):
|
||||||
|
print '%s\t%s' % (package, pretty_uploader)
|
@ -28,6 +28,7 @@
|
|||||||
import os
|
import os
|
||||||
import sys
|
import sys
|
||||||
import subprocess
|
import subprocess
|
||||||
|
import urllib
|
||||||
from optparse import OptionParser
|
from optparse import OptionParser
|
||||||
|
|
||||||
# ubuntu-dev-tools modules.
|
# ubuntu-dev-tools modules.
|
||||||
@ -78,7 +79,7 @@ if __name__ == '__main__':
|
|||||||
# All good - start downloading...
|
# All good - start downloading...
|
||||||
print 'Fetching the source for %s from %s (%s)...' % (
|
print 'Fetching the source for %s from %s (%s)...' % (
|
||||||
package, release.capitalize(), pocket)
|
package, release.capitalize(), pocket)
|
||||||
if subprocess.call(['/usr/bin/dget', '-xu', dsc_url[0]]) == 0:
|
if subprocess.call(['/usr/bin/dget', '-xu', urllib.unquote(dsc_url[0])]) == 0:
|
||||||
print 'Success!'
|
print 'Success!'
|
||||||
else:
|
else:
|
||||||
print 'Failed to fetch and extrace the source.', \
|
print 'Failed to fetch and extrace the source.', \
|
||||||
|
1
setup.py
1
setup.py
@ -26,6 +26,7 @@ setup(name='ubuntu-dev-tools',
|
|||||||
'get-build-deps',
|
'get-build-deps',
|
||||||
'grab-attachments',
|
'grab-attachments',
|
||||||
'grab-merge',
|
'grab-merge',
|
||||||
|
'grep-merges',
|
||||||
'hugdaylist',
|
'hugdaylist',
|
||||||
'import-bug-from-debian',
|
'import-bug-from-debian',
|
||||||
'lp-list-bugs',
|
'lp-list-bugs',
|
||||||
|
@ -152,6 +152,7 @@ class BaseWrapper(object):
|
|||||||
else:
|
else:
|
||||||
return '<%s: %r>' % (self.__class__.__name__, self._lpobject)
|
return '<%s: %r>' % (self.__class__.__name__, self._lpobject)
|
||||||
|
|
||||||
|
|
||||||
class Distribution(BaseWrapper):
|
class Distribution(BaseWrapper):
|
||||||
'''
|
'''
|
||||||
Wrapper class around a LP distribution object.
|
Wrapper class around a LP distribution object.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user