Remove all trailing spaces.

This commit is contained in:
Benjamin Drung 2010-12-03 00:06:43 +01:00
parent daf1535d05
commit 1943df29eb
47 changed files with 137 additions and 138 deletions

View File

@ -11,7 +11,7 @@
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2 # as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version. # of the License, or (at your option) any later version.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

4
GPL-3
View File

@ -77,7 +77,7 @@ modification follow.
"Copyright" also means copyright-like laws that apply to other kinds of "Copyright" also means copyright-like laws that apply to other kinds of
works, such as semiconductor masks. works, such as semiconductor masks.
"The Program" refers to any copyrightable work licensed under this "The Program" refers to any copyrightable work licensed under this
License. Each licensee is addressed as "you". "Licensees" and License. Each licensee is addressed as "you". "Licensees" and
"recipients" may be individuals or organizations. "recipients" may be individuals or organizations.
@ -510,7 +510,7 @@ actual knowledge that, but for the patent license, your conveying the
covered work in a country, or your recipient's use of the covered work covered work in a country, or your recipient's use of the covered work
in a country, would infringe one or more identifiable patents in that in a country, would infringe one or more identifiable patents in that
country that you have reason to believe are valid. country that you have reason to believe are valid.
If, pursuant to or in connection with a single transaction or If, pursuant to or in connection with a single transaction or
arrangement, you convey, or propagate by procuring conveyance of, a arrangement, you convey, or propagate by procuring conveyance of, a
covered work, and grant a patent license to some of the parties covered work, and grant a patent license to some of the parties

View File

@ -8,7 +8,7 @@
# This program is free software; you can redistribute it and/or # This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 3. # as published by the Free Software Foundation; version 3.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

View File

@ -8,7 +8,7 @@
# This program is free software; you can redistribute it and/or # This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 2. # as published by the Free Software Foundation; version 2.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@ -90,4 +90,4 @@ do
diff -u /tmp/$LIBNAME.{old,new} diff -u /tmp/$LIBNAME.{old,new}
rm /tmp/$LIBNAME.{old,new} rm /tmp/$LIBNAME.{old,new}
done; done;
done done

View File

@ -9,7 +9,7 @@
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3 # as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version. # of the License, or (at your option) any later version.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@ -137,7 +137,7 @@ warn "package: '$opt_package\n" if ($opt_verbose);
if (!defined($opt_source_release)) { if (!defined($opt_source_release)) {
if ($opt_target_release eq $opt_devel_release) { if ($opt_target_release eq $opt_devel_release) {
die "No more recent release than '$opt_devel_release' to take changelog from\n"; die "No more recent release than '$opt_devel_release' to take changelog from\n";
} }
foreach my $i (0 .. $#releases) { foreach my $i (0 .. $#releases) {
if ($releases[$i] eq $opt_target_release) { if ($releases[$i] eq $opt_target_release) {
$opt_source_release = $releases[$i+1]; $opt_source_release = $releases[$i+1];

46
debian/changelog vendored
View File

@ -318,13 +318,13 @@ ubuntu-dev-tools (0.97) lucid; urgency=low
* pull-lp-source: Use (anonymously) the LP API to get the URL for the .dsc * pull-lp-source: Use (anonymously) the LP API to get the URL for the .dsc
file instead of screen scraping. file instead of screen scraping.
* Apply patch from Julian Andres Klode for the python-apt 0.8 API transition * Apply patch from Julian Andres Klode for the python-apt 0.8 API transition
(Closes: #572091) (Closes: #572091)
* ubuntutools/requestsync/mail.py: Fix some more encoding issues * ubuntutools/requestsync/mail.py: Fix some more encoding issues
(lp: #557828). (lp: #557828).
[ Michael Vogt ] [ Michael Vogt ]
* edit-patch: * edit-patch:
- fix quilt mode when dpkg already applied all the patches - fix quilt mode when dpkg already applied all the patches
(LP: #556297) (LP: #556297)
-- Michael Bienia <geser@ubuntu.com> Thu, 08 Apr 2010 12:59:59 +0200 -- Michael Bienia <geser@ubuntu.com> Thu, 08 Apr 2010 12:59:59 +0200
@ -338,7 +338,7 @@ ubuntu-dev-tools (0.96) lucid; urgency=low
* mk-sbuild: Really don't use build-arm-chroot * mk-sbuild: Really don't use build-arm-chroot
[ Daniel Holbach ] [ Daniel Holbach ]
* hugdaylist, requestsync, doc/requestsync.1: * hugdaylist, requestsync, doc/requestsync.1:
ubuntu-{main,universe}-sponsors → ubuntu-sponsors, ubuntu-{main,universe}-sponsors → ubuntu-sponsors,
{ubuntu,motu}-release → ubuntu-release. {ubuntu,motu}-release → ubuntu-release.
* ubuntutools/ppaput.py: removed, not necessary any more. * ubuntutools/ppaput.py: removed, not necessary any more.
@ -511,7 +511,7 @@ ubuntu-dev-tools (0.86) lucid; urgency=low
* ubuntutools/requestsync/common.py: convert the changelog into a unicode * ubuntutools/requestsync/common.py: convert the changelog into a unicode
string (lp: #498349) string (lp: #498349)
* ubuntutools/requestsync/mail.py: rmadison() returns now the most recent * ubuntutools/requestsync/mail.py: rmadison() returns now the most recent
source line (Closes: #560758) source line (Closes: #560758)
[ Iain Lane ] [ Iain Lane ]
* pull-debian-source: Return the most recent source line. Depend on * pull-debian-source: Return the most recent source line. Depend on
@ -564,7 +564,7 @@ ubuntu-dev-tools (0.83) lucid; urgency=low
default release if we aren't using it. (LP: #477670) default release if we aren't using it. (LP: #477670)
* pull-lp-source: Detect more failure conditions and give a nice error * pull-lp-source: Detect more failure conditions and give a nice error
instead of a trace instead of a trace
* buildd, requestsync, grab-attachments, hugdaylist, update-maintainer: * buildd, requestsync, grab-attachments, hugdaylist, update-maintainer:
Detect & bail if we don't have credentials and need them. These scripts Detect & bail if we don't have credentials and need them. These scripts
cannot continue under those circumstances. cannot continue under those circumstances.
@ -627,7 +627,7 @@ ubuntu-dev-tools (0.81) karmic; urgency=low
* requestsync: Give an error message if no changelog entries - happens if, * requestsync: Give an error message if no changelog entries - happens if,
for example, the new package's changelog hasn't yet been published on p.d.o for example, the new package's changelog hasn't yet been published on p.d.o
* update-maintainer: Also check if package is in experimental when looking * update-maintainer: Also check if package is in experimental when looking
who to update maintainer to. who to update maintainer to.
* update-maintainer: Prefer updating control.in to control; this is used by * update-maintainer: Prefer updating control.in to control; this is used by
some Debian packages, notably those maintained by pkg-gnome. some Debian packages, notably those maintained by pkg-gnome.
* debian/control: Update standards-version to 3.8.3, no changes * debian/control: Update standards-version to 3.8.3, no changes
@ -649,7 +649,7 @@ ubuntu-dev-tools (0.81) karmic; urgency=low
ubuntu-dev-tools (0.80) karmic; urgency=low ubuntu-dev-tools (0.80) karmic; urgency=low
* mk-sbuild-lv: Export http_proxy. LP: #416438 * mk-sbuild-lv: Export http_proxy. LP: #416438
-- Michael Terry <michael.terry@canonical.com> Thu, 10 Sep 2009 10:53:30 -0400 -- Michael Terry <michael.terry@canonical.com> Thu, 10 Sep 2009 10:53:30 -0400
ubuntu-dev-tools (0.79) karmic; urgency=low ubuntu-dev-tools (0.79) karmic; urgency=low
@ -745,7 +745,7 @@ ubuntu-dev-tools (0.75) karmic; urgency=low
* requestsync: * requestsync:
- Fix check for sponsorship when a new package should get synced. - Fix check for sponsorship when a new package should get synced.
- Add "done" as last email command when emailing the sync request - Add "done" as last email command when emailing the sync request
to stop parsing of the email body for further email commands to stop parsing of the email body for further email commands
(lp: #372555) (lp: #372555)
[ Jonathan Davies ] [ Jonathan Davies ]
@ -825,7 +825,7 @@ ubuntu-dev-tools (0.74) karmic; urgency=low
simpler simpler
* buildd * buildd
- Check if user has upload privileges instead of checking for team - Check if user has upload privileges instead of checking for team
membership when seeing if operations are permitted membership when seeing if operations are permitted
[ Colin Watson ] [ Colin Watson ]
* update-maintainer: * update-maintainer:
@ -1087,7 +1087,7 @@ ubuntu-dev-tools (0.56) jaunty; urgency=low
* requestsync: Catch credentials error to hide traceback. * requestsync: Catch credentials error to hide traceback.
* Moved common.py to ubuntutools/ subdirectory to avoid possible conflicts * Moved common.py to ubuntutools/ subdirectory to avoid possible conflicts
in Python packaging and fixed all imports as necessary. in Python packaging and fixed all imports as necessary.
* debian/ubuntu-dev-tools.install: Removed common.py entry. * debian/ubuntu-dev-tools.install: Removed common.py entry.
-- Jonathan Davies <jpds@ubuntu.com> Sat, 17 Jan 2009 11:32:33 +0000 -- Jonathan Davies <jpds@ubuntu.com> Sat, 17 Jan 2009 11:32:33 +0000
@ -1109,7 +1109,7 @@ ubuntu-dev-tools (0.54) jaunty; urgency=low
- When credentials are not found, ask user to see - When credentials are not found, ask user to see
manage-credentials manpage. manage-credentials manpage.
- Load all token files for the consumer specified in the above - Load all token files for the consumer specified in the above
directory as necessary. directory as necessary.
-- Jonathan Davies <jpds@ubuntu.com> Wed, 14 Jan 2009 19:39:35 +0000 -- Jonathan Davies <jpds@ubuntu.com> Wed, 14 Jan 2009 19:39:35 +0000
@ -1120,7 +1120,7 @@ ubuntu-dev-tools (0.53) jaunty; urgency=low
- Add information about manage-credentials. - Add information about manage-credentials.
[ Daniel Holbach ] [ Daniel Holbach ]
* debian/control: replace 'sb-release' with lsb-release, make package * debian/control: replace 'sb-release' with lsb-release, make package
installable again. installable again.
-- Daniel Holbach <daniel.holbach@ubuntu.com> Wed, 14 Jan 2009 16:27:34 +0100 -- Daniel Holbach <daniel.holbach@ubuntu.com> Wed, 14 Jan 2009 16:27:34 +0100
@ -1156,7 +1156,7 @@ ubuntu-dev-tools (0.52) jaunty; urgency=low
[ Jonathan Davies ] [ Jonathan Davies ]
* buildd: Don't show arch override message if operation to perform is * buildd: Don't show arch override message if operation to perform is
'status'. 'status'.
* requestsync: If package is new, check the Ubuntu Archive team's bug list * requestsync: If package is new, check the Ubuntu Archive team's bug list
for possible duplicate requests. for possible duplicate requests.
* doc/manage-credentials.1: Written up. * doc/manage-credentials.1: Written up.
@ -1189,7 +1189,7 @@ ubuntu-dev-tools (0.51) jaunty; urgency=low
- Implemented sleeps to --lp bug reporting in case of a slow - Implemented sleeps to --lp bug reporting in case of a slow
Launchpad to stop mass bug filing (LP: #311289). Launchpad to stop mass bug filing (LP: #311289).
-- Jonathan Davies <jpds@ubuntu.com> Tue, 30 Dec 2008 15:51:55 +0000 -- Jonathan Davies <jpds@ubuntu.com> Tue, 30 Dec 2008 15:51:55 +0000
ubuntu-dev-tools (0.50.1) jaunty; urgency=low ubuntu-dev-tools (0.50.1) jaunty; urgency=low
@ -1337,7 +1337,7 @@ ubuntu-dev-tools (0.43ubuntu1) intrepid; urgency=low
[ Jonathan Patrick Davies ] [ Jonathan Patrick Davies ]
* common.py: * common.py:
- If loading a cookie file raises an exception exit. - If loading a cookie file raises an exception exit.
- Improve cookie file writing. - Improve cookie file writing.
- New function: isLPTeamMember() - checks if the user is a member of the - New function: isLPTeamMember() - checks if the user is a member of the
Launchpad team using cookies for authentication. Launchpad team using cookies for authentication.
@ -1399,7 +1399,7 @@ ubuntu-dev-tools (0.40ubuntu3) intrepid; urgency=low
ubuntu-dev-tools (0.40ubuntu2) intrepid; urgency=low ubuntu-dev-tools (0.40ubuntu2) intrepid; urgency=low
* requestsync: Correct print statement redirect to sys,stderr. * requestsync: Correct print statement redirect to sys,stderr.
-- Jonathan Patrick Davies <jpds@ubuntu.com> Mon, 18 Aug 2008 10:59:59 +0100 -- Jonathan Patrick Davies <jpds@ubuntu.com> Mon, 18 Aug 2008 10:59:59 +0100
@ -1439,7 +1439,7 @@ ubuntu-dev-tools (0.39ubuntu1) intrepid; urgency=low
- Add functions mkdir and readlist. - Add functions mkdir and readlist.
[ Iain Lane ] [ Iain Lane ]
* pull-lp-source: Better handle errors when going to LP * pull-lp-source: Better handle errors when going to LP
-- Jonathan Patrick Davies <jpds@ubuntu.com> Thu, 14 Aug 2008 12:21:45 +0100 -- Jonathan Patrick Davies <jpds@ubuntu.com> Thu, 14 Aug 2008 12:21:45 +0100
@ -1648,7 +1648,7 @@ ubuntu-dev-tools (0.30) hardy; urgency=low
ubuntu-dev-tools (0.29) hardy; urgency=low ubuntu-dev-tools (0.29) hardy; urgency=low
* grab-attachments, setup.py: added grab-attachments tool. You give it bug * grab-attachments, setup.py: added grab-attachments tool. You give it bug
numbers, it gets you their attachments. Useful for sponsoring. numbers, it gets you their attachments. Useful for sponsoring.
-- Daniel Holbach <daniel.holbach@ubuntu.com> Mon, 10 Mar 2008 11:31:50 +0100 -- Daniel Holbach <daniel.holbach@ubuntu.com> Mon, 10 Mar 2008 11:31:50 +0100
@ -1846,7 +1846,7 @@ ubuntu-dev-tools (0.23) hardy; urgency=low
* debian/control: bumped python-launchpad-bugs requirement to newest version * debian/control: bumped python-launchpad-bugs requirement to newest version
and made it a Recommends. All scripts in ubuntu-dev-tools using it fail and made it a Recommends. All scripts in ubuntu-dev-tools using it fail
gracefully if it's not installed. gracefully if it's not installed.
* hugdaylist: * hugdaylist:
- make use of text connector. - make use of text connector.
- commentary in wiki output. - commentary in wiki output.
@ -1902,7 +1902,7 @@ ubuntu-dev-tools (0.22) hardy; urgency=low
-Always pass -u option to rmadison now that it defaults to ubuntu -Always pass -u option to rmadison now that it defaults to ubuntu
[ Siegfried-Angel Gevatter Pujals (RainCT) ] [ Siegfried-Angel Gevatter Pujals (RainCT) ]
* Add dgetlp script (for «dgetting» from Launchpad) * Add dgetlp script (for «dgetting» from Launchpad)
[ Lucas Nussbaum ] [ Lucas Nussbaum ]
* Enabled support for Bugs/Debian/Usertagging in submittodebian * Enabled support for Bugs/Debian/Usertagging in submittodebian
@ -1910,7 +1910,7 @@ ubuntu-dev-tools (0.22) hardy; urgency=low
[ Michael Vogt ] [ Michael Vogt ]
* debian/control: * debian/control:
- depend on reportbug (>= 3.39ubuntu1) to have working usertag support - depend on reportbug (>= 3.39ubuntu1) to have working usertag support
-- Michael Vogt <michael.vogt@ubuntu.com> Tue, 20 Nov 2007 12:15:20 +0100 -- Michael Vogt <michael.vogt@ubuntu.com> Tue, 20 Nov 2007 12:15:20 +0100
ubuntu-dev-tools (0.21) hardy; urgency=low ubuntu-dev-tools (0.21) hardy; urgency=low
@ -2012,7 +2012,7 @@ ubuntu-dev-tools (0.15) gutsy; urgency=low
ubuntu-dev-tools (0.14) gutsy; urgency=low ubuntu-dev-tools (0.14) gutsy; urgency=low
* massfile: * massfile:
- fixed bug where to find example files, - fixed bug where to find example files,
- made url get checked beforehand. - made url get checked beforehand.
- fixed bug, where description and summary were not updated with the - fixed bug, where description and summary were not updated with the

2
dgetlp
View File

@ -30,7 +30,7 @@
import sys, os import sys, os
from optparse import OptionParser from optparse import OptionParser
import urllib2 import urllib2
import hashlib import hashlib
import subprocess import subprocess
import GnuPGInterface import GnuPGInterface
from cStringIO import StringIO from cStringIO import StringIO

View File

@ -52,5 +52,5 @@ This manual page was written by Jonathan Patrick Davies <jpds@ubuntu.com>.
.PP .PP
Both are released under the GNU General Public License, version 2. Both are released under the GNU General Public License, version 2.
.SH SEE ALSO .SH SEE ALSO
.BR dch(1). .BR dch(1).

View File

@ -12,7 +12,7 @@ It can also be used to incorporate new patches. If pointed a patch not already p
\fBedit-patch\fR is integrated with the bzr and git version control systems. The patch will be automatically added to the tree, and the debian/changelong entry will be used as the commit message. \fBedit-patch\fR is integrated with the bzr and git version control systems. The patch will be automatically added to the tree, and the debian/changelong entry will be used as the commit message.
If no patch system is present, the patch is applied inline, and a copy is stored in debian/patches-applied. If no patch system is present, the patch is applied inline, and a copy is stored in debian/patches-applied.
.SH AUTHORS .SH AUTHORS
\fBedit-patch\fR was written by Daniel Holbach <daniel.holbach@canonical.com>, Michael Vogt <michael.vogt@canonical.com>, and David Futcher <bobbo@ubuntu.com>. \fBedit-patch\fR was written by Daniel Holbach <daniel.holbach@canonical.com>, Michael Vogt <michael.vogt@canonical.com>, and David Futcher <bobbo@ubuntu.com>.

View File

@ -43,5 +43,5 @@ and this manual page was written by Jonathan Patrick Davies <jpds@ubuntu.com>.
.PP .PP
Both are released under the terms of the GNU General Public License, version 3. Both are released under the terms of the GNU General Public License, version 3.
.SH SEE ALSO .SH SEE ALSO
.B bzr(1) .B bzr(1)

View File

@ -3,7 +3,7 @@
lp\-project\-upload \- Upload a release tarball to a Launchpad project. lp\-project\-upload \- Upload a release tarball to a Launchpad project.
.SH SYNOPSIS .SH SYNOPSIS
.B lp\-project\-upload .B lp\-project\-upload
.I project-name version tarball .I project-name version tarball
.SH DESCRIPTION .SH DESCRIPTION

View File

@ -14,13 +14,13 @@ Templates for both files can be found in /usr/share/doc/ubuntu-dev-tools/example
\fBmassfile.instructions\fR - file designating the contents of the bug report \fBmassfile.instructions\fR - file designating the contents of the bug report
subject: [UNMETDEPS] $pack has unmet dependencies subject: [UNMETDEPS] $pack has unmet dependencies
assignee: assignee:
status: confirmed status: confirmed
subscribers: motu subscribers: motu
tags: unmetdeps tags: unmetdeps
buglist-url: http://bugs.launchpad.net/ubuntu/+bugs?field.tag=unmetdeps buglist-url: http://bugs.launchpad.net/ubuntu/+bugs?field.tag=unmetdeps
text: text:
A run of A run of
. .
LC_ALL=C apt-cache \-i unmet | grep ^Package | cut \-d' ' \-f2 | grep LC_ALL=C apt-cache \-i unmet | grep ^Package | cut \-d' ' \-f2 | grep
\-v dbgsym | sort \-u | xargs apt-cache showsrc | grep ^Directory | \-v dbgsym | sort \-u | xargs apt-cache showsrc | grep ^Directory |

View File

@ -6,7 +6,7 @@ mk\-sbuild \- creates chroots via schroot and sbuild
.SH SYNOPSIS .SH SYNOPSIS
\fBmk\-sbuild\fR [\fB\-\-arch=ARCH\fR] [\fB\-\-name=NAME\fR] \fBmk\-sbuild\fR [\fB\-\-arch=ARCH\fR] [\fB\-\-name=NAME\fR]
[\fB\-\-personality=PERSONALITY\fR] [\fB\-\-debug\fR] [\fB\-\-source\-template=FILE\fR] [\fB\-\-personality=PERSONALITY\fR] [\fB\-\-debug\fR] [\fB\-\-source\-template=FILE\fR]
[\fB\-\-debootstrap\-mirror=URL\fR] [\fB\-\-distro=DISTRO\fR] [\fB\-\-debootstrap\-mirror=URL\fR] [\fB\-\-distro=DISTRO\fR]
[\fB\-\-vg=VOLUME_GROUP\fR] [\fB\-\-type=SCHROOT_TYPE\fR] <\fBRelease\fR> [\fB\-\-vg=VOLUME_GROUP\fR] [\fB\-\-type=SCHROOT_TYPE\fR] <\fBRelease\fR>
.SH DESCRIPTION .SH DESCRIPTION
@ -56,7 +56,7 @@ Specify a volume group, and subsequently use a default SCHROOT_TYPE of
.TP .TP
.B \-\-type=SHROOT_TYPE .B \-\-type=SHROOT_TYPE
Specify a SCHROOT_TYPE. Supported values are "directory" (default if Specify a SCHROOT_TYPE. Supported values are "directory" (default if
\-\-vg not specified), "lvm-snapshot" (default if \-\-vg specified), \-\-vg not specified), "lvm-snapshot" (default if \-\-vg specified),
"btrfs-snapshot", and "file". "btrfs-snapshot", and "file".
.SH ENVIRONMENT VARIABLES .SH ENVIRONMENT VARIABLES

View File

@ -11,8 +11,8 @@ pbuilder\-dist, cowbuilder\-dist \- multi-distribution pbuilder/cowbuilder wrapp
[\fBoptions\fP] [\fI...\fR] [\fBoptions\fP] [\fI...\fR]
.SH DESCRIPTION .SH DESCRIPTION
\fBpbuilder\-dist\fP is a wrapper that makes it easy to use pbuilder with many different \fBpbuilder\-dist\fP is a wrapper that makes it easy to use pbuilder with many different
versions of Ubuntu and/or Debian. versions of Ubuntu and/or Debian.
.PP .PP
It is common to symlink this script in order to give it many names in the form of It is common to symlink this script in order to give it many names in the form of
\fBpbuilder\-\fIdistribution\fP\fR or \fBpbuilder\-\fIdistribution\fR\-\fIarchitecture\fP\fR, \fBpbuilder\-\fIdistribution\fP\fR or \fBpbuilder\-\fIdistribution\fR\-\fIarchitecture\fP\fR,

View File

@ -63,7 +63,7 @@ file the sync request in Launchpad.
.B \-s .B \-s
Specifies that you require sponsorship. Specifies that you require sponsorship.
You need this option if you don't have upload permissions for that package. You need this option if you don't have upload permissions for that package.
This disables the upload permissions check described above. This disables the upload permissions check described above.
.TP .TP
.B \-e .B \-e
Use this flag after FeatureFreeze for non-bug fix syncs. \fBrequestsync\fR will Use this flag after FeatureFreeze for non-bug fix syncs. \fBrequestsync\fR will
@ -104,7 +104,7 @@ Sets which port of the SMTP server to use. Default is 25.
.B DEBSMTP_USER \fRand\fB DEBSMTP_PASS .B DEBSMTP_USER \fRand\fB DEBSMTP_PASS
Sets the username and password to use when authenticating to the SMTP server. Sets the username and password to use when authenticating to the SMTP server.
.SH SEE ALSO .SH SEE ALSO
.BR rmadison (1) .BR rmadison (1)
.SH AUTHOR .SH AUTHOR

View File

@ -32,7 +32,7 @@ This manual page was written by Jonathan Patrick Davies <jpds@ubuntu.com>.
.PP .PP
Both are released under the GNU General Public License, version 2. Both are released under the GNU General Public License, version 2.
.SH SEE ALSO .SH SEE ALSO
The Ubuntu MOTU team has some documentation about patch systems at the Ubuntu The Ubuntu MOTU team has some documentation about patch systems at the Ubuntu
wiki: \fBhttps://wiki.ubuntu.com/PackagingGuide/PatchSystems\fR wiki: \fBhttps://wiki.ubuntu.com/PackagingGuide/PatchSystems\fR

View File

@ -1,16 +1,16 @@
subject: [UNMETDEPS] $pack has unmet dependencies subject: [UNMETDEPS] $pack has unmet dependencies
assignee: assignee:
status: confirmed status: confirmed
subscribers: motu subscribers: motu
tags: unmetdeps tags: unmetdeps
buglist-url: http://bugs.launchpad.net/ubuntu/+bugs?field.tag=unmetdeps buglist-url: http://bugs.launchpad.net/ubuntu/+bugs?field.tag=unmetdeps
text: text:
A run of A run of
. .
LC_ALL=C apt-cache -i unmet | grep ^Package | cut -d' ' -f2 | grep LC_ALL=C apt-cache -i unmet | grep ^Package | cut -d' ' -f2 | grep
-v dbgsym | sort -u | xargs apt-cache showsrc | grep ^Directory | -v dbgsym | sort -u | xargs apt-cache showsrc | grep ^Directory |
sed 's/Package\:\ //g' | grep verse | cut -d'/' -f4 sed 's/Package\:\ //g' | grep verse | cut -d'/' -f4
indicates that the source package $pack has binary packages that are not indicates that the source package $pack has binary packages that are not
installable (on AMD64) at the moment. installable (on AMD64) at the moment.
. .
Please have a look and make sure it's installable again. Please have a look and make sure it's installable again.

View File

@ -10,7 +10,7 @@
# This program is free software; you can redistribute it and/or # This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 3. # as published by the Free Software Foundation; version 3.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

View File

@ -8,7 +8,7 @@
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3 # as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version. # of the License, or (at your option) any later version.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

View File

@ -8,7 +8,7 @@
# This program is free software; you can redistribute it and/or # This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 3. # as published by the Free Software Foundation; version 3.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@ -42,9 +42,9 @@ def main():
except: except:
print >> sys.stderr, "'%s' is not a valid bug number." % arg print >> sys.stderr, "'%s' is not a valid bug number." % arg
sys.exit(1) sys.exit(1)
b = launchpad.bugs[number] b = launchpad.bugs[number]
for a in b.attachments: for a in b.attachments:
f = a.data.open() f = a.data.open()
filename = os.path.join(os.getcwd(), f.filename) filename = os.path.join(os.getcwd(), f.filename)

View File

@ -9,7 +9,7 @@
# This program is free software; you can redistribute it and/or # This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 3. # as published by the Free Software Foundation; version 3.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@ -49,7 +49,7 @@ def check_args():
# Parse arguments. # Parse arguments.
(options, args) = optParser.parse_args() (options, args) = optParser.parse_args()
# Check if we want a number other than the default. # Check if we want a number other than the default.
howmany = options.number howmany = options.number
@ -65,7 +65,7 @@ def check_args():
return (howmany, url) return (howmany, url)
def filter_unsolved(task): def filter_unsolved(task):
# TODO: don't use this filter here, only check status and assignee of # TODO: don't use this filter here, only check status and assignee of
# the given task # the given task
# Filter out special types of bugs: # Filter out special types of bugs:
# - https://wiki.ubuntu.com/Bugs/HowToTriage#Special%20types%20of%20bugs # - https://wiki.ubuntu.com/Bugs/HowToTriage#Special%20types%20of%20bugs
@ -77,20 +77,20 @@ def filter_unsolved(task):
return True return True
return False return False
def main(): def main():
(howmany, url) = check_args() (howmany, url) = check_args()
if len(url.split("?", 1)) == 2: if len(url.split("?", 1)) == 2:
# search options not supported, because there is no mapping web ui options <-> API options # search options not supported, because there is no mapping web ui options <-> API options
print >> sys.stderr, "Options in url are not supported, url: %s" %url print >> sys.stderr, "Options in url are not supported, url: %s" %url
sys.exit(1) sys.exit(1)
launchpad = None launchpad = None
try: try:
launchpad = get_launchpad("ubuntu-dev-tools") launchpad = get_launchpad("ubuntu-dev-tools")
except IOError, e: except IOError, e:
print e print e
sys.exit(1) sys.exit(1)
api_url = translate_web_api(url, launchpad) api_url = translate_web_api(url, launchpad)
try: try:
product = launchpad.load(api_url) product = launchpad.load(api_url)
@ -101,11 +101,11 @@ def main():
sys.exit(1) sys.exit(1)
else: else:
raise raise
bl = product.searchTasks() bl = product.searchTasks()
l = filter(filter_unsolved, bl) l = filter(filter_unsolved, bl)
if not l: if not l:
print "Bug list of %s is empty." % url print "Bug list of %s is empty." % url
sys.exit(0) sys.exit(0)
@ -117,7 +117,7 @@ def main():
## ||<rowbgcolor="#FFFFCC"> This task is assigned || somebody || <status> || ## ||<rowbgcolor="#FFFFCC"> This task is assigned || somebody || <status> ||
## ||<rowbgcolor="#FFEBBB"> This task isn't || ... || || ## ||<rowbgcolor="#FFEBBB"> This task isn't || ... || ||
## ||<rowbgcolor="#FFCCCC"> This task is blocked on something || somebody || <explanation> || ## ||<rowbgcolor="#FFCCCC"> This task is blocked on something || somebody || <explanation> ||
|| Bug || Subject || Triager ||""" || Bug || Subject || Triager ||"""
for i in list(l)[:howmany]: for i in list(l)[:howmany]:

View File

@ -9,7 +9,7 @@
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2 # as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version. # of the License, or (at your option) any later version.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

View File

@ -60,7 +60,7 @@ def create_release(project, version):
def edit_file(prefix, description): def edit_file(prefix, description):
(fd, f) = tempfile.mkstemp(prefix=prefix+'.') (fd, f) = tempfile.mkstemp(prefix=prefix+'.')
os.write(fd, '\n\n#------\n# Please enter the %s here. Lines which start with "#" are ignored.\n' % os.write(fd, '\n\n#------\n# Please enter the %s here. Lines which start with "#" are ignored.\n' %
description) description)
os.close(fd) os.close(fd)
subprocess.call(['sensible-editor', f]) subprocess.call(['sensible-editor', f])

View File

@ -10,7 +10,7 @@
# This package is free software; you can redistribute it and/or modify # This package 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
# the Free Software Foundation, at version 2. # the Free Software Foundation, at version 2.
# #
# This package is distributed in the hope that it will be useful, # This package is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

View File

@ -9,7 +9,7 @@
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3 # as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version. # of the License, or (at your option) any later version.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@ -26,11 +26,11 @@ from launchpadlib.uris import lookup_service_root
from ubuntutools.lp.libsupport import Launchpad, translate_api_web, LEVEL from ubuntutools.lp.libsupport import Launchpad, translate_api_web, LEVEL
class CmdOptions(OptionParser): class CmdOptions(OptionParser):
USAGE = ( USAGE = (
"\t%prog create -c <consumer> [--service <staging|edge>]" "\t%prog create -c <consumer> [--service <staging|edge>]"
) )
OPTIONS = ( OPTIONS = (
make_option("-c", "--consumer", action="store", type="string", make_option("-c", "--consumer", action="store", type="string",
dest="consumer", default=None), dest="consumer", default=None),
@ -44,22 +44,22 @@ class CmdOptions(OptionParser):
dest="level", default=0, dest="level", default=0,
help="integer representing the access-level (default: 0), mapping: %s" %LEVEL), help="integer representing the access-level (default: 0), mapping: %s" %LEVEL),
) )
TOOLS = { TOOLS = {
"create": ( ("consumer",), "create": ( ("consumer",),
("service", "cache", "output", ("service", "cache", "output",
"level")), "level")),
"list": (tuple(), ("service", )), "list": (tuple(), ("service", )),
} }
def __init__(self): def __init__(self):
OptionParser.__init__(self, option_list=self.OPTIONS) OptionParser.__init__(self, option_list=self.OPTIONS)
self.set_usage(self.USAGE) self.set_usage(self.USAGE)
def parse_args(self, args=None, values=None): def parse_args(self, args=None, values=None):
options, args = OptionParser.parse_args(self, args, values) options, args = OptionParser.parse_args(self, args, values)
given_options = set(i for i, k in self.defaults.iteritems() if not getattr(options, i) == k) given_options = set(i for i, k in self.defaults.iteritems() if not getattr(options, i) == k)
if not args: if not args:
self.error("Please define a sub-tool you would like to use") self.error("Please define a sub-tool you would like to use")
if not len(args) == 1: if not len(args) == 1:
@ -82,7 +82,7 @@ class CmdOptions(OptionParser):
else: else:
self.error("Unknown access-level '%s', level must be in %s" %(options.level, self.LEVEL)) self.error("Unknown access-level '%s', level must be in %s" %(options.level, self.LEVEL))
return tool, options return tool, options
def create_credentials(options): def create_credentials(options):
launchpad = Launchpad.get_token_and_login(options.consumer, launchpad = Launchpad.get_token_and_login(options.consumer,
options.service, options.cache) options.service, options.cache)
@ -112,7 +112,7 @@ def list_tokens(options):
print "Not implemented yet." print "Not implemented yet."
print "To get a list of your tokens, please visit %speople/+me/+oauth-tokens" %translate_api_web(options.service) print "To get a list of your tokens, please visit %speople/+me/+oauth-tokens" %translate_api_web(options.service)
return 1 return 1
def main(): def main():
cmdoptions = CmdOptions() cmdoptions = CmdOptions()
tool, options = cmdoptions.parse_args() tool, options = cmdoptions.parse_args()

View File

@ -13,7 +13,7 @@
# This program is free software; you can redistribute it and/or # This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 3. # as published by the Free Software Foundation; version 3.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@ -34,11 +34,11 @@ def read_config():
instructions = email.message_from_file(instructions_file) instructions = email.message_from_file(instructions_file)
instructions_file.close() instructions_file.close()
instr = dict() instr = dict()
for field in "subject", "assignee", "subscribers", "tags", "text", \ for field in "subject", "assignee", "subscribers", "tags", "text", \
"buglist-url", "status": "buglist-url", "status":
instr[field] = instructions.get(field) instr[field] = instructions.get(field)
return instr return instr
def read_list(): def read_list():
@ -83,29 +83,28 @@ def file_bug(config):
try: try:
summary = config["subject"].replace("$pack", config["sourcepackage"]) summary = config["subject"].replace("$pack", config["sourcepackage"])
description = config["text"].replace("$pack", config["sourcepackage"]) description = config["text"].replace("$pack", config["sourcepackage"])
product_url = "%subuntu/+source/%s" %(launchpad._root_uri, config["sourcepackage"]) product_url = "%subuntu/+source/%s" %(launchpad._root_uri, config["sourcepackage"])
tags = filter(None, map(lambda t: t.strip("\n").strip(), config["tags"].split(","))) tags = filter(None, map(lambda t: t.strip("\n").strip(), config["tags"].split(",")))
bug = launchpad.bugs.createBug(description=description, title=summary, bug = launchpad.bugs.createBug(description=description, title=summary,
target=product_url, tags=tags) target=product_url, tags=tags)
print "Successfully filed bug %i: %s" %(bug.id, translate_api_web(bug.self_link)) print "Successfully filed bug %i: %s" %(bug.id, translate_api_web(bug.self_link))
subscribers = filter(None, map(lambda t: t.strip("\n").strip(), config["subscribers"].split(","))) subscribers = filter(None, map(lambda t: t.strip("\n").strip(), config["subscribers"].split(",")))
for sub in subscribers: for sub in subscribers:
subscribe_url = "%s~%s" %(launchpad._root_uri, sub) subscribe_url = "%s~%s" %(launchpad._root_uri, sub)
bug.subscribe(person=subscribe_url) bug.subscribe(person=subscribe_url)
#newly created bugreports have one task #newly created bugreports have one task
task = bug.bug_tasks[0] task = bug.bug_tasks[0]
if config["status"]: if config["status"]:
status = config["status"].capitalize() status = config["status"].capitalize()
else: else:
status = "Confirmed" status = "Confirmed"
task.status = status task.status = status
assignee = config["assignee"] assignee = config["assignee"]
if assignee: if assignee:
assignee_url = "%s~%s" %(launchpad._root_uri, assignee) assignee_url = "%s~%s" %(launchpad._root_uri, assignee)
@ -117,12 +116,12 @@ def file_bug(config):
def read_buglist(url): def read_buglist(url):
if not url: if not url:
return set() return set()
if len(url.split("?", 1)) == 2: if len(url.split("?", 1)) == 2:
# search options not supported, because there is no mapping web ui options <-> API options # search options not supported, because there is no mapping web ui options <-> API options
print >> sys.stderr, "Options in url are not supported, url: %s" %url print >> sys.stderr, "Options in url are not supported, url: %s" %url
sys.exit(1) sys.exit(1)
launchpad = get_launchpad("ubuntu-dev-tools") launchpad = get_launchpad("ubuntu-dev-tools")
packages = set() packages = set()
@ -132,10 +131,10 @@ def read_buglist(url):
api_url = api_url.split("?", 1)[0] api_url = api_url.split("?", 1)[0]
project = launchpad.load(api_url) project = launchpad.load(api_url)
buglist = project.searchTasks() buglist = project.searchTasks()
for bug in buglist: for bug in buglist:
packages.add(bug.bug_target_name) packages.add(bug.bug_target_name)
return packages return packages
def main(): def main():
@ -145,13 +144,13 @@ def main():
config = read_config() config = read_config()
pack_list = read_list() pack_list = read_list()
buglist = read_buglist(config["buglist-url"]) buglist = read_buglist(config["buglist-url"])
for pack in pack_list: for pack in pack_list:
if pack not in buglist: if pack not in buglist:
config["sourcepackage"] = pack config["sourcepackage"] = pack
file_bug(config) file_bug(config)
if __name__ == '__main__': if __name__ == '__main__':
main() main()

View File

@ -23,7 +23,7 @@ import sys, re
def usage(): def usage():
print '''Usage: merge-changelog <left changelog> <right changelog> print '''Usage: merge-changelog <left changelog> <right changelog>
merge-changelog takes two changelogs that once shared a common source, merge-changelog takes two changelogs that once shared a common source,
merges them back together, and prints the merged result to stdout. This merges them back together, and prints the merged result to stdout. This
is useful if you need to manually merge a ubuntu package with a new is useful if you need to manually merge a ubuntu package with a new
Debian release of the package. Debian release of the package.
@ -56,7 +56,7 @@ def merge_changelog(left_changelog, right_changelog):
for left_ver, left_text in left_cl: for left_ver, left_text in left_cl:
print left_text print left_text
return False return False
def read_changelog(filename): def read_changelog(filename):
@ -255,7 +255,7 @@ def deb_cmp(x, y):
if __name__ == '__main__': if __name__ == '__main__':
if len(sys.argv) != 3: if len(sys.argv) != 3:
usage() usage()
left_changelog = sys.argv[1] left_changelog = sys.argv[1]
right_changelog = sys.argv[2] right_changelog = sys.argv[2]

View File

@ -84,7 +84,7 @@ EOM
echo '***********************************************' echo '***********************************************'
echo '* Before continuing, you MUST restart your *' echo '* Before continuing, you MUST restart your *'
echo '* session to gain "sbuild" group permissions! *' echo '* session to gain "sbuild" group permissions! *'
echo '***********************************************' echo '***********************************************'
exit 0 exit 0
fi fi

View File

@ -9,12 +9,12 @@
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2 # as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version. # of the License, or (at your option) any later version.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# See file /usr/share/common-licenses/GPL for more details. # See file /usr/share/common-licenses/GPL for more details.
# #
# ################################################################## # ##################################################################
@ -36,7 +36,7 @@ case $OPERATION in
;; ;;
esac esac
if [ $PROCEED = true ]; then if [ $PROCEED = true ]; then
shift shift
if [ ! -d $BASE_DIR/${DISTRIBUTION}_result ] if [ ! -d $BASE_DIR/${DISTRIBUTION}_result ]
then mkdir -p $BASE_DIR/${DISTRIBUTION}_result/ then mkdir -p $BASE_DIR/${DISTRIBUTION}_result/
fi fi

View File

@ -8,12 +8,12 @@
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3 # as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version. # of the License, or (at your option) any later version.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# See file /usr/share/common-licenses/GPL for more details. # See file /usr/share/common-licenses/GPL for more details.
# #
# ################################################################## # ##################################################################
@ -70,7 +70,7 @@ sub geturls
sub generate_base sub generate_base
{ {
my ($pkg)=@_; my ($pkg)=@_;
my @path; my @path;
push(@path,"main"); push(@path,"main");
if ($pkg =~ /^(lib.)/) { if ($pkg =~ /^(lib.)/) {

View File

@ -7,19 +7,19 @@
# #
# BackportFromLP class taken from prevu tool, which is: # BackportFromLP class taken from prevu tool, which is:
# Copyright (C) 2006 John Dong <jdong@ubuntu.com> # Copyright (C) 2006 John Dong <jdong@ubuntu.com>
# #
# ################################################################## # ##################################################################
# #
# This program is free software; you can redistribute it and/or # This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3 # as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version. # of the License, or (at your option) any later version.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# See file /usr/share/common-licenses/GPL for more details. # See file /usr/share/common-licenses/GPL for more details.
# #
# ################################################################## # ##################################################################

View File

@ -16,7 +16,7 @@
# This program is free software; you can redistribute it and/or # This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 2. # as published by the Free Software Foundation; version 2.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

View File

@ -7,7 +7,7 @@
# This program is free software; you can redistribute it and/or # This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 3 or later. # as published by the Free Software Foundation; version 3 or later.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

View File

@ -12,12 +12,12 @@
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 2 # as published by the Free Software Foundation; either version 2
# of the License, or (at your option) any later version. # of the License, or (at your option) any later version.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# See file /usr/share/common-licenses/GPL for more details. # See file /usr/share/common-licenses/GPL for more details.
# #
# ################################################################## # ##################################################################

View File

@ -9,7 +9,7 @@
# This program is free software; you can redistribute it and/or # This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 3. # as published by the Free Software Foundation; version 3.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@ -363,7 +363,7 @@ def sync_dsc(script_name, dscurl, debian_dist, release, name, email, bugs,
if verbose: if verbose:
print_command(script_name, cmd) print_command(script_name, cmd)
subprocess.check_call(cmd) subprocess.check_call(cmd)
# Build source package # Build source package
cmd = ["debuild", "--no-lintian", "-S", "-v" + cur_ver.full_version] cmd = ["debuild", "--no-lintian", "-S", "-v" + cur_ver.full_version]
env = os.environ env = os.environ

View File

@ -1,5 +1,5 @@
#!/usr/bin/python #!/usr/bin/python
# #
# ubuntu-build - command line interface for Launchpad buildd operations. # ubuntu-build - command line interface for Launchpad buildd operations.
# #
# Copyright (C) 2007 Canonical Ltd. # Copyright (C) 2007 Canonical Ltd.
@ -43,7 +43,7 @@ valid_archs = set(["armel", "amd64", "hppa", "i386",
# Prepare our option parser. # Prepare our option parser.
optParser = OptionParser(usage) optParser = OptionParser(usage)
# Retry options # Retry options
retryRescoreOptions = OptionGroup(optParser, "Retry and rescore options", retryRescoreOptions = OptionGroup(optParser, "Retry and rescore options",
"These options may only be used with the 'retry' and 'rescore' operations.") "These options may only be used with the 'retry' and 'rescore' operations.")
retryRescoreOptions.add_option("-a", "--arch", type = "string", retryRescoreOptions.add_option("-a", "--arch", type = "string",

View File

@ -10,12 +10,12 @@
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation, version 2 # as published by the Free Software Foundation, version 2
# of the License. # of the License.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# See file /usr/share/common-licenses/GPL-2 for more details. # See file /usr/share/common-licenses/GPL-2 for more details.
# #
# ################################################################## # ##################################################################

View File

@ -14,7 +14,7 @@
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3 # as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version. # of the License, or (at your option) any later version.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

View File

@ -8,7 +8,7 @@
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3 # as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version. # of the License, or (at your option) any later version.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@ -43,7 +43,7 @@ def find_credentials(consumer, files, level=None):
""" search for credentials matching 'consumer' in path for given access level. """ """ search for credentials matching 'consumer' in path for given access level. """
if Credentials is None: if Credentials is None:
raise ImportError raise ImportError
for f in files: for f in files:
cred = Credentials() cred = Credentials()
try: try:
@ -51,12 +51,12 @@ def find_credentials(consumer, files, level=None):
except: except:
continue continue
if cred.consumer.key == consumer: if cred.consumer.key == consumer:
return cred return cred
raise IOError("No credentials found for '%s', please see the " \ raise IOError("No credentials found for '%s', please see the " \
"manage-credentials manpage for help on how to create " \ "manage-credentials manpage for help on how to create " \
"one for this consumer." % consumer) "one for this consumer." % consumer)
def get_credentials(consumer, cred_file=None, level=None): def get_credentials(consumer, cred_file=None, level=None):
files = list() files = list()
@ -74,13 +74,13 @@ def get_credentials(consumer, cred_file=None, level=None):
files.append(x) files.append(x)
return find_credentials(consumer, files, level) return find_credentials(consumer, files, level)
def get_launchpad(consumer, server=service, cache=None, def get_launchpad(consumer, server=service, cache=None,
cred_file=None, level=None): cred_file=None, level=None):
credentials = get_credentials(consumer, cred_file, level) credentials = get_credentials(consumer, cred_file, level)
cache = cache or os.environ.get("LPCACHE", None) cache = cache or os.environ.get("LPCACHE", None)
return Launchpad(credentials, server, cache, version=api_version) return Launchpad(credentials, server, cache, version=api_version)
def query_to_dict(query_string): def query_to_dict(query_string):
result = dict() result = dict()
options = filter(None, query_string.split("&")) options = filter(None, query_string.split("&"))
@ -88,7 +88,7 @@ def query_to_dict(query_string):
key, value = opt.split("=") key, value = opt.split("=")
result.setdefault(key, set()).add(value) result.setdefault(key, set()).add(value)
return result return result
def translate_web_api(url, launchpad): def translate_web_api(url, launchpad):
scheme, netloc, path, query, fragment = urlparse.urlsplit(url) scheme, netloc, path, query, fragment = urlparse.urlsplit(url)
query = query_to_dict(query) query = query_to_dict(query)
@ -106,10 +106,10 @@ def translate_web_api(url, launchpad):
query = urllib.urlencode(query) query = urllib.urlencode(query)
url = urlparse.urlunsplit((scheme, netloc, api_path + path.lstrip("/"), query, fragment)) url = urlparse.urlunsplit((scheme, netloc, api_path + path.lstrip("/"), query, fragment))
return url return url
def translate_api_web(self_url): def translate_api_web(self_url):
return self_url.replace("api.", "").replace("%s/" % (api_version), "") return self_url.replace("api.", "").replace("%s/" % (api_version), "")
LEVEL = { LEVEL = {
0: "UNAUTHORIZED", 0: "UNAUTHORIZED",
1: "READ_PUBLIC", 1: "READ_PUBLIC",
@ -117,7 +117,7 @@ LEVEL = {
3: "READ_PRIVATE", 3: "READ_PRIVATE",
4: "WRITE_PRIVATE" 4: "WRITE_PRIVATE"
} }
def approve_application(credentials, email, password, level, web_root, def approve_application(credentials, email, password, level, web_root,
context): context):
authorization_url = credentials.get_request_token(context, web_root) authorization_url = credentials.get_request_token(context, web_root)
@ -133,7 +133,7 @@ def approve_application(credentials, email, password, level, web_root,
params = {level: 1, params = {level: 1,
"oauth_token": credentials._request_token.key, "oauth_token": credentials._request_token.key,
"lp.context": context or ""} "lp.context": context or ""}
lp_creds = ":".join((email, password)) lp_creds = ":".join((email, password))
basic_auth = "Basic %s" %(lp_creds.encode('base64')) basic_auth = "Basic %s" %(lp_creds.encode('base64'))
headers = {'Authorization': basic_auth} headers = {'Authorization': basic_auth}

View File

@ -9,7 +9,7 @@
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3 # as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version. # of the License, or (at your option) any later version.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

View File

@ -1,7 +1,7 @@
class PackageNotFoundException(BaseException): class PackageNotFoundException(BaseException):
""" Thrown when a package is not found """ """ Thrown when a package is not found """
pass pass
class SeriesNotFoundException(BaseException): class SeriesNotFoundException(BaseException):
""" Thrown when a distroseries is not found """ """ Thrown when a distroseries is not found """
pass pass

View File

@ -8,7 +8,7 @@
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3 # as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version. # of the License, or (at your option) any later version.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
@ -48,7 +48,7 @@ def checkSourceExists(package, release):
""" """
Check that a package exists by opening its Check that a package exists by opening its
https://launchpad.net/ubuntu/+source/package page. https://launchpad.net/ubuntu/+source/package page.
Return the package's page URL and it's current version in the requested Return the package's page URL and it's current version in the requested
release. release.
""" """
@ -93,11 +93,11 @@ def packageComponent(package, release):
'-s', release, package], stdout = subprocess.PIPE) '-s', release, package], stdout = subprocess.PIPE)
out = madison.communicate()[0] out = madison.communicate()[0]
assert (madison.returncode == 0) assert (madison.returncode == 0)
for l in out.splitlines(): for l in out.splitlines():
(pkg, version, rel, builds) = l.split('|') (pkg, version, rel, builds) = l.split('|')
component = 'main' component = 'main'
if rel.find('/') != -1: if rel.find('/') != -1:
component = rel.split('/')[1] component = rel.split('/')[1]
return component.strip() return component.strip()
@ -113,5 +113,5 @@ def checkIsInDebian(package, distro):
assert out assert out
except AssertionError: except AssertionError:
out = False out = False
return out return out

View File

@ -10,7 +10,7 @@
# This program is free software; you can redistribute it and/or # This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 2 # as published by the Free Software Foundation; version 2
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

View File

@ -11,7 +11,7 @@
# This program is free software; you can redistribute it and/or # This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 2 # as published by the Free Software Foundation; version 2
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

View File

@ -10,7 +10,7 @@
# This program is free software; you can redistribute it and/or # This program is free software; you can redistribute it and/or
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; version 2 # as published by the Free Software Foundation; version 2
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

View File

@ -1,5 +1,5 @@
#! /usr/bin/python #! /usr/bin/python
# #
# update-maintainer - this script is used to update the Maintainer field of an # update-maintainer - this script is used to update the Maintainer field of an
# Ubuntu package, as approved by the Ubuntu Technical # Ubuntu package, as approved by the Ubuntu Technical
# Board at: # Board at:

View File

@ -10,12 +10,12 @@
# modify it under the terms of the GNU General Public License # modify it under the terms of the GNU General Public License
# as published by the Free Software Foundation; either version 3 # as published by the Free Software Foundation; either version 3
# of the License, or (at your option) any later version. # of the License, or (at your option) any later version.
# #
# This program is distributed in the hope that it will be useful, # This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of # but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details. # GNU General Public License for more details.
# #
# See file /usr/share/common-licenses/GPL for more details. # See file /usr/share/common-licenses/GPL for more details.
# #
# ################################################################## # ##################################################################