lp:~cjwatson/launchpad

Owned by Colin Watson
Get this repository:
git clone https://git.launchpad.net/~cjwatson/launchpad
Only Colin Watson can upload to this repository. If you are Colin Watson please log in for upload directions.

Branches

Name Last Modified Last Commit
db-oci-concrete-recipes 2019-12-11 23:02:16 UTC 12 hours ago
Grant fiera access to deal with OCIRecipeBuilds

Author: Tom Wardill
Author Date: 2019-12-11 23:01:42 UTC

Grant fiera access to deal with OCIRecipeBuilds

build-source-package-version 2019-12-06 13:17:18 UTC 2019-12-06
Export build.source_package_version

Author: Colin Watson
Author Date: 2019-12-06 13:17:18 UTC

Export build.source_package_version

It's remarkably hard to figure out the source package version for a
binary package publication via the API. You can sometimes do it via
`bpph.build.getLatestSourcePublication()`, but that might not be visible
if the build was performed in a private archive; or you can look at
`bpph.build.title`, but that involves parsing non-machine-readable text.

`build.source_package_name` is already exported, so it seems to make
sense to export `build.source_package_version` to go with it.

adminpeoplemerge-registry 2019-11-28 18:45:40 UTC 2019-11-28
Allow registry experts to use +adminpeoplemerge

Author: Colin Watson
Author Date: 2019-11-28 18:45:40 UTC

Allow registry experts to use +adminpeoplemerge

This almost always needs to be used in response to support requests; at
the moment we end up round-tripping through sysadmins, but this isn't
the best use of sysadmin time and they pretty much just follow our
instructions anyway. It would make more sense for registry experts to
be able to do it themselves, since they already have various other
related privileges.

See the related commit e8b46de9f07c22d1f565cf3d6812d03232aa10e1, which
did the same thing for +adminteammerge.

oci-git-listing 2019-11-28 17:47:51 UTC 2019-11-28
Add git listing views for OCI projects

Author: Colin Watson
Author Date: 2019-11-28 17:47:32 UTC

Add git listing views for OCI projects

LP: #1847444

oci-project-basic-views 2019-11-28 17:43:24 UTC 2019-11-28
Add constraint to IOCIProject.name

Author: Colin Watson
Author Date: 2019-11-28 17:43:24 UTC

Add constraint to IOCIProject.name

There's already a constraint on IOCIProjectName.name, but duplicating it
here avoids an OOPS when editing an OCIProject in the web UI.

oci-git-owner-default 2019-11-28 17:18:18 UTC 2019-11-28
Add owner-default repositories for OCI projects

Author: Colin Watson
Author Date: 2019-11-28 17:18:18 UTC

Add owner-default repositories for OCI projects

LP: #1847444

oci-git-more-tests 2019-11-28 17:13:06 UTC 2019-11-28
Add some more tests for OCI project git repositories

Author: Colin Watson
Author Date: 2019-11-28 17:05:23 UTC

Add some more tests for OCI project git repositories

LP: #1847444

oci-git-lookup 2019-11-28 17:09:38 UTC 2019-11-28
Add some more OCI git lookup tests

Author: Colin Watson
Author Date: 2019-11-28 16:28:36 UTC

Add some more OCI git lookup tests

person-oci-project 2019-11-28 11:21:50 UTC 2019-11-28
Prefer display_name in Person* abstractions

Author: Colin Watson
Author Date: 2019-11-28 11:21:50 UTC

Prefer display_name in Person* abstractions

I was otherwise going to have to add the older "displayname" form in
some new places, which didn't seem like the way forward.

master 2019-11-22 16:13:07 UTC 2019-11-22
Upgrade to zope.testbrowser 5.5.1

Author: Colin Watson
Author Date: 2019-11-22 16:13:07 UTC

Upgrade to zope.testbrowser 5.5.1

zope.testbrowser 5.0.0 switched its internal implementation to WebTest
instead of mechanize. This necessitates several changes in Launchpad.
In some cases the new default behaviours are already appropriate (for
example, `<meta http-equiv="refresh" />` tags are no longer followed),
and in some we just need to poke into the implementation in slightly
different ways.

We have to patch around a few bugs, although fortunately this can all be
contained in lp.testing.pages:

 * WebTest doesn't understand `<input type="search" />`
   (https://github.com/Pylons/webtest/pull/219, awaiting an upstream
   release).

 * `Browser.reload` reuses the existing request rather than making a new
   one (related to
   https://github.com/zopefoundation/zope.testbrowser/issues/74).

 * zope.testbrowser doesn't support finding links by image alt text.

Merged from https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/375427

faster-soyuz-webservice-tests 2019-11-22 13:04:34 UTC 2019-11-22
Stop using launchpadlib in Soyuz webservice tests

Author: Colin Watson
Author Date: 2019-11-22 13:04:34 UTC

Stop using launchpadlib in Soyuz webservice tests

Port the Soyuz webservice tests to use in-process webservice calls
rather than launchpadlib and AppServerLayer. This takes the test time
for these test suites from 198 seconds to 52 seconds on my laptop.

faster-bugs-webservice-tests 2019-11-21 01:47:49 UTC 2019-11-21
Stop using launchpadlib in bugs webservice tests

Author: Colin Watson
Author Date: 2019-11-21 01:45:24 UTC

Stop using launchpadlib in bugs webservice tests

Port the bugs webservice tests to use in-process webservice calls rather
than launchpadlib and AppServerLayer. While the code is a bit longer as
a result, it's easier to debug and substantially faster: this change
takes the test time for these test suites from 106 seconds to 22 seconds
on my laptop.

Similarly, I downgraded a couple of bug subscription filter test suites
from LaunchpadFunctionalLayer to DatabaseFunctionalLayer, since they
didn't use anything extra from the more sophisticated layer.

modern-ztk-prepare 2019-11-20 16:54:27 UTC 2019-11-20
Prepare for zope.sendmail 4.0.0

Author: Colin Watson
Author Date: 2019-11-19 01:35:59 UTC

Prepare for zope.sendmail 4.0.0

IMailer implementations now need to implement "vote" and "abort"
methods. In the case of our implementations, these can be trivial.

decouple-mailman 2019-11-19 00:07:03 UTC 2019-11-19
Decouple mlist-sync from the database

Author: Colin Watson
Author Date: 2019-11-15 17:45:36 UTC

Decouple mlist-sync from the database

The mlist-sync script now deals with the Launchpad database exclusively
via the XML-RPC API, paving the way for extracting Launchpad's
customised version of Mailman into a separate tree.

db-oci-git 2019-10-24 15:29:02 UTC 2019-10-24
Add Git repositories for Distribution/OCIProjectName

Author: Colin Watson
Author Date: 2019-10-24 15:29:02 UTC

Add Git repositories for Distribution/OCIProjectName

LP: #1847444

git-xmlrpc-log-request-id 2019-10-16 14:39:38 UTC 2019-10-16
Log requests and responses in Git XML-RPC endpoint

Author: Colin Watson
Author Date: 2019-10-16 14:39:38 UTC

Log requests and responses in Git XML-RPC endpoint

LP: #1846313

db-oci-recipe-target 2019-10-15 08:50:54 UTC 2019-10-15
Index FKs to Person

Author: Colin Watson
Author Date: 2019-10-15 08:50:54 UTC

Index FKs to Person

fix-packagename-option 2019-10-14 11:15:35 UTC 2019-10-14
Fix handling of packagename_option on DSP:+filebug

Author: Colin Watson
Author Date: 2019-10-14 11:15:35 UTC

Fix handling of packagename_option on DSP:+filebug

If "In what package did you find this bug?" is set to "I don't know" on
DistributionSourcePackage:+filebug, then it's most coherent to treat
that as if the bug had been filed using the corresponding
Distribution:+filebug.

LP: #1847647

archive-file-history 2019-10-10 14:25:33 UTC 2019-10-10
Turn ArchiveFile into a history table

Author: Colin Watson
Author Date: 2018-04-21 11:10:19 UTC

Turn ArchiveFile into a history table

This adds date_created and date_superseded columns. Adjust the
publisher to match.

LP: #1765933

db-archive-file-history 2019-10-10 13:21:46 UTC 2019-10-10
Add ArchiveFile.date_created and ArchiveFile.date_superseded

Author: Colin Watson
Author Date: 2018-04-21 10:53:17 UTC

Add ArchiveFile.date_created and ArchiveFile.date_superseded

LP: #1765933

move-package 2019-10-10 08:22:51 UTC 2019-10-10
Add an atomic "move package" operation

Author: Colin Watson
Author Date: 2019-10-10 08:22:51 UTC

Add an atomic "move package" operation

Archive.copyPackage and Archive.copyPackages now take a move=True
argument, which causes the source publication to be deleted if the copy
succeeds.

This allows us to fix a long-standing problem with Ubuntu's
proposed-migration process: it needs to do a copy and delete when
migrating packages from devel-proposed to devel, but since the copy is
asynchronous it can fail without proposed-migration being aware of this,
leading to the package in question simply being removed. Moving the
deletion into the copier avoids this problem.

LP: #1329052

codehosting-breezy 2019-10-08 08:53:23 UTC 2019-10-08
Port codehosting to Breezy.

Author: Colin Watson
Author Date: 2019-09-19 19:33:12 UTC

Port codehosting to Breezy.

Most of this is relatively mechanical: bzrlib imports become breezy imports,
some things move around a little more (mainly to breezy.bzr), bzrdir becomes
controldir in many cases, I tightened up some bytes/text handling, and there
were a couple of other minor API changes.

Due to problems with subvertpy, codeimport remains on Bazaar for now. This
entails some fiddly code to allow Bazaar and Breezy to coexist in the same
codebase.

DirectBranchCommit.commit needs a new call to
self.transform_preview.fixup_new_roots. I think this may technically have
been needed by Bazaar too, since bzrlib.transform._alter_files calls it, but
it no longer seems to be possible to get away without it.

We have to explicitly initialize Breezy in lib/lp/codehosting/__init__.py,
as otherwise it initializes itself with a terminal-oriented UI, causing some
unexpected output to appear in logs.

We have to disable some plugins that are now built into Breezy and likely to
cause trouble if invoked, although unfortunately we have no very elegant way
to do that. cvs, darcs, email, and mtn are disabled using
BRZ_DISABLE_PLUGINS. git requires more work: we can't allow Breezy to even
import this until codeimport is also ported, since it requires a newer
version of dulwich which is incompatible with bzr-git (and that isn't
particularly straightforward to fix), so I ended up stubbing it in
sys.modules so that importing it has no effect. Fortunately Breezy
currently only imports breezy.git and relies on it to register its own
formats, so this crude strategy works.

The hack in scripts/mirror-branch.py to force bzr to use urllib is no longer
required: Breezy removed pycurl support.

livefs-build-pocket 2019-10-08 08:27:21 UTC 2019-10-08
Allow livefs build metadata to override the default build pocket.

Author: Colin Watson
Author Date: 2019-09-06 23:53:16 UTC

Allow livefs build metadata to override the default build pocket.

This makes it possible, for example, to distinguish the case of building a
livefs using tools from -updates but with contents from the release pocket
from the case of building a livefs using tools from -updates and contents
from -updates.

db-bugsummary-statement-triggers 2019-10-07 17:04:40 UTC 2019-10-07
Rewrite BugSummary triggers to be statement-level.

Author: Colin Watson
Author Date: 2019-08-14 13:52:37 UTC

Rewrite BugSummary triggers to be statement-level.

snap-check-request-private-git 2019-10-07 16:46:44 UTC 2019-10-07
Check that the snap owner has read access to the repository, rather than that...

Author: Colin Watson
Author Date: 2019-03-28 14:59:34 UTC

Check that the snap owner has read access to the repository, rather than that owners match.

login-interstitial 2019-10-07 13:53:48 UTC 2019-10-07
Add interstitial pages when creating or reactivating an account.

Author: Colin Watson
Author Date: 2018-05-25 22:18:52 UTC

Add interstitial pages when creating or reactivating an account.

These provide an opportunity to present the user with the terms of service
and privacy policy and require that they explicitly accept them, as well as
making it harder to reactivate an account by accident.

To support testing this locally, I extended make-lp-user to be able to
create placeholder accounts, and adjusted testopenid so that it can
authenticate as an inactive account by explicitly supplying the username.

build-private-bpb-immediately 2019-10-07 13:13:54 UTC 2019-10-07
Dispatch private BPBs immediately, using macaroon auth for source files.

Author: Colin Watson
Author Date: 2018-05-04 16:19:34 UTC

Dispatch private BPBs immediately, using macaroon auth for source files.

sourcedeps-codetree 2019-10-07 12:45:07 UTC 2019-10-07
Replace most of devscripts.sourcecode with codetree.

Author: Colin Watson
Author Date: 2017-11-01 01:09:59 UTC

Replace most of devscripts.sourcecode with codetree.

codeimport-git-progress 2019-10-07 11:28:37 UTC 2019-10-07
Enable throttled progress output from git-to-git import workers.

Author: Colin Watson
Author Date: 2017-05-11 10:58:58 UTC

Enable throttled progress output from git-to-git import workers.

git-subscriptions-by-path 2019-10-07 11:21:23 UTC 2019-10-07
Make GitSubscription.paths be a JSON-encoded list instead.

Author: Colin Watson
Author Date: 2016-11-17 15:00:35 UTC

Make GitSubscription.paths be a JSON-encoded list instead.

opt-in-zopeless-immediate-mail 2019-10-07 09:59:51 UTC 2019-10-07
Drop immediate mail delivery from LaunchpadScript and LaunchpadZopelessLayer.

Author: Colin Watson
Author Date: 2015-09-08 11:35:19 UTC

Drop immediate mail delivery from LaunchpadScript and LaunchpadZopelessLayer.

export-getSourceFilter 2019-10-04 06:37:22 UTC 2019-10-04
Export IDistroArchSeries.getSourceFilter

Author: Colin Watson
Author Date: 2019-10-04 06:37:22 UTC

Export IDistroArchSeries.getSourceFilter

This allows webservice users to find out which source filters are
currently set.

I had to export IDistroArchSeriesFilter to make this work. Since there
can only be one source filter per DAS (enforced by a DB constraint), the
URL is just the DAS URL with +source-filter appended.

132 of 32 results
This repository contains Public information 
Everyone can see this information.

Subscribers