~jugmac00/launchpad:allow_limiting_uct_imports

Last commit made on 2023-01-24
Get this branch:
git clone -b allow_limiting_uct_imports https://git.launchpad.net/~jugmac00/launchpad
Only Jürgen Gmach can upload to this branch. If you are Jürgen Gmach please log in for upload directions.

Branch merges

Branch information

Name:
allow_limiting_uct_imports
Repository:
lp:~jugmac00/launchpad

Recent commits

9ba7fdf... by Jürgen Gmach

Enable filtering for UCTImports

The CLI now takes a `--filter` option which takes a glob-style pattern
to filter the CVEs for import.

Succeeded
[SUCCEEDED] docs:0 (build)
[SUCCEEDED] lint:0 (build)
[SUCCEEDED] mypy:0 (build)
13 of 3 results
6079865... by Colin Watson

Return proxied objects from all remaining factory methods

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

e1aa894... by Colin Watson

Fix handling of shared files when updating Artifactory properties

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

6943030... by Colin Watson

Allow forking Git repositories via the API

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

fb57d91... by Colin Watson

Allow forking Git repositories via the API

This would be useful to the kernel team, in particular.

5c95509... by Colin Watson

Return proxied objects from all remaining factory methods

`LaunchpadObjectFactory` formerly issued `UnproxiedFactoryMethodWarning`
when its methods returned objects not wrapped in a security proxy, since
that tended to result in tests that are less accurate simulations of
production. This commit finishes ensuring that all factory methods
return proxied objects, and converts that warning into an error so that
we can't accidentally reintroduce this problem.

This required tightening up a few more tests to log in or to remove
security proxies before accessing proxied objects.

739632f... by Colin Watson

Fix handling of shared files when updating Artifactory properties

Some files (notably `.orig.tar.*` files in Debian-format source
packages) may be shared between multiple different package versions: for
example, `hello 1.0-1` and `hello 1.0-2` will normally share a file
called something like `hello_1.0.orig.tar.gz` containing the original
upstream source code.

For Artifactory publication, the publisher handled this case poorly. If
two versions were published that shared the same file, but then one of
those versions was removed, the shared file was correctly left in place
until there are no remaining publications using it; but
`Publisher.C_updateArtifactoryProperties` attempted to update properties
on all the files associated with the removed version rather than on just
the file that was still published, resulting in a `FileNotFoundError`.

Fixing this requires working out the `IPackageReleaseFile` and
`IPublishingView` objects to which a given Artifactory path "belongs",
which is somewhat complex: we have to go through all the possible
release objects, figure out what the paths of all their files would be
if published, build mappings of paths back to files and publications,
and use those mappings to update only the paths that are still published
with the correct properties.

The shared files end up still having `launchpad.release-id` properties
associated with the old version, but this seems to be a minor enough
problem that we can ignore it for now.

LP: #2002342

436c15f... by Colin Watson

apidoc: Fix URL of top-level git_repositories collection

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

bc238d5... by Colin Watson

apidoc: Fix URL of top-level git_repositories collection

LP: #2002422

0dc4a55... by Colin Watson

Add and export DistroSeries.getTranslationTemplateStatistics

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