* PersonTeam.canUploadPackage() can now also check package sets for upload
permissions. This requires now to also pass the distroseries as package sets
are per distroseries.
* Drop PersonTeam.isPerPackageUploader() as it's also handled by canUploadPackage()
ubuntu-build: Update for the PersonTeam.canUploadChange().
ubuntutools/requestsync/{lp,mail}.py:
* needSponsorship() now also expects a release name because of the above mentioned
change to PersonTeam.canUploadPackage().
requestsync: Update for needSponsorship() change.
ubuntutools/lp/__init__.py: Don't hardcode the LP service root but look it up instead
debian/control: Depend on python-launchpadlib >= 1.5.4 because of this
* lpapicache: Do not immediately bail out if we have no credentials to
login. Clients are now expected to handle the lack of credentials
themselves.
* pull-lp-source: Make LP API use optional - fall back to a hardcoded
default release if we aren't using it. (LP: #477670)
* pull-lp-source: Detect more failure conditions and give a nice error
instead of a trace
* buildd, requestsync: Detect & bail if we don't have credentials and need
them. These scripts cannot continue under those circumstances.
- Catch IOError from libsupport.get_launchpad(), display the error and
exit
- Bug fix in PersonTeam.canUploadPackage()
- Remove leftover code from PersonTeam.isPerPackageUploader()
- Rename Distribution.getMainArchive() to getArchive() and let it also fetch
other archives besides the main one.
* udtexceptions.py:
- Add ArchiveNotFoundException
- Move getUbuntuSourcePackage() from LpApiWrapper to the Archive class
and rename it to getSourcePackage().
- Leave LpApiWrapper.getUbuntuSourcePackage() as a shortcut for now.
Move getUbuntu{Development,}Series from LpApiWrapper to Distribution
and rename it to get{Development,}Series
* pull-lp-source, requestsync:
Updated for the above mention change.
- Add _UbuntuSeries and _SourcePackage wrapper classes for proper type checking
* functions.py: Removed
- Move the remaining functions to lpapiwrapper.py
* buildd, requestsync:
- Updated for the new function location
canUploadPackage(): Assume 'universe' as component if the package doesn't
exist (yet) in Ubuntu (needed for checking sponsorship when requesting syncs
of new packages).
* requestsync: use canUploadPackage() from LpApiWrapper