mirror of
https://git.launchpad.net/ubuntu-dev-tools
synced 2025-06-08 14:31:31 +00:00
Remove all trailing spaces.
This commit is contained in:
parent
daf1535d05
commit
1943df29eb
2
404main
2
404main
@ -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
4
GPL-3
@ -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
|
||||||
|
2
ack-sync
2
ack-sync
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
46
debian/changelog
vendored
@ -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
2
dgetlp
@ -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
|
||||||
|
@ -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).
|
||||||
|
@ -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>.
|
||||||
|
@ -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)
|
||||||
|
@ -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
|
||||||
|
@ -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 |
|
||||||
|
@ -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
|
||||||
|
@ -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,
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
|
||||||
|
@ -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.
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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)
|
||||||
|
18
hugdaylist
18
hugdaylist
@ -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]:
|
||||||
|
@ -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
|
||||||
|
@ -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])
|
||||||
|
2
lp-shell
2
lp-shell
@ -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
|
||||||
|
@ -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()
|
||||||
|
29
massfile
29
massfile
@ -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()
|
||||||
|
|
||||||
|
@ -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]
|
||||||
|
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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.)/) {
|
||||||
|
@ -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.
|
||||||
#
|
#
|
||||||
# ##################################################################
|
# ##################################################################
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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.
|
||||||
#
|
#
|
||||||
# ##################################################################
|
# ##################################################################
|
||||||
|
@ -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
|
||||||
|
@ -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",
|
||||||
|
@ -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.
|
||||||
#
|
#
|
||||||
# ##################################################################
|
# ##################################################################
|
||||||
|
@ -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
|
||||||
|
@ -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}
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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
|
||||||
|
@ -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:
|
||||||
|
@ -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.
|
||||||
#
|
#
|
||||||
# ##################################################################
|
# ##################################################################
|
||||||
|
Loading…
x
Reference in New Issue
Block a user