~andrey-fedoseev/launchpad:packaging-security

Last commit made on 2022-09-20
Get this branch:
git clone -b packaging-security https://git.launchpad.net/~andrey-fedoseev/launchpad
Only Andrey Fedoseev can upload to this branch. If you are Andrey Fedoseev please log in for upload directions.

Branch merges

Branch information

Name:
packaging-security
Repository:
lp:~andrey-fedoseev/launchpad

Recent commits

862ec68... by Andrey Fedoseev

Fix another failing test caused by the recent changes in `Packaging` security

Succeeded
[SUCCEEDED] docs:0 (build)
[SUCCEEDED] lint:0 (build)
[SUCCEEDED] mypy:0 (build)
13 of 3 results
5919798... by Andrey Fedoseev

Fix the failing tests caused by the recent changes in `Packaging` security

Succeeded
[SUCCEEDED] docs:0 (build)
[SUCCEEDED] lint:0 (build)
[SUCCEEDED] mypy:0 (build)
13 of 3 results
39957cb... by Andrey Fedoseev

Remove the unused `setPackagingReturnSharingDetailPermissions` method

Succeeded
[SUCCEEDED] docs:0 (build)
[SUCCEEDED] lint:0 (build)
[SUCCEEDED] mypy:0 (build)
13 of 3 results
6a7c299... by Andrey Fedoseev

New security model for `Packaging`

Only the product owners, package maintainers, admins and registry experts are now allowed to create, edit or remove package links

- {IProductSeries,ISourcePackage}.setPackaging is now protected with `launchpad.Edit` permission

- `launchpad.Edit` on `IPackaging`: True if user has `launchpad.Edit` on either corresponding `IProductSeries` or `ISourcePackage`

- /+ubuntupkg on `IProductSeries` is now protected with `launchpad.Edit`

- /+edit-packaging on `ISourcePackage` is now protected with `launchpad.Edit`

- /+remove-packaging on `ISourcePackage` is protected with `launchpad.Edit` applied to `sourcepackage.direct_packaging`; this allows product owners to unlink their products

- all tests are updated accordingly

Succeeded
[SUCCEEDED] docs:0 (build)
[SUCCEEDED] lint:0 (build)
[SUCCEEDED] mypy:0 (build)
13 of 3 results
812a266... by Guruprasad

Allow team membership renewal when the expiration warning is sent

This allows renewing the team membership a day earlier than
DAYS_BEFORE_EXPIRATION_WARNING_IS_SENT days before the exact expiry
time so that the users are able to perform the renewal when the first
expiration warning email is sent.

LP: #1987056

Merged from https://code.launchpad.net/~lgp171188/launchpad/+git/launchpad/+merge/430006

847b218... by Colin Watson

Use new OSError exception hierarchy in Python 3

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

999ec54... by Colin Watson

Use "yield from" where appropriate

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

fef275c... by Colin Watson

Use dpkg-buildpackage directly, not debuild

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

bb7d41d... by Guruprasad

Allow team membership renewal when the expiration warning is sent

This allows renewing the team membership a day earlier than
DAYS_BEFORE_EXPIRATION_WARNING_IS_SENT days before the exact expiry
time so that the users are able to perform the renewal when the first
expiration warning email is sent.

LP: #1987056

3c1fee3... by Colin Watson

Use dpkg-buildpackage directly, not debuild

The `debuild` wrapper for `dpkg-buildpackage` does various extra things
that make it more pleasant for interactive use. However, for
non-interactive use such as when building fake packages during the test
suite, those extra things just slow us down without providing any
benefit: in particular, there's no point in running `lintian` on our
test packages.