copyPackages only copies the latest package on non-deb PPAs
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Launchpad itself |
New
|
Undecided
|
Unassigned |
Bug Description
This is a follow up to lp#2022095
As part of several security team projects that interface with artifactory, we maintain some PPAs that use artifactory as a backend. We are trying to use the copyPackages API to move packages between several of these repositories.
We are now able to copyPackages() successfully, however, we have run into the following issues:
* copyPackages() only copies a single version of a given package. Because we must provide only a list of source package names to the api call, we have no control over which version is copied, but launchpad only seems to copy one version of a given package. I do not know how that version is selected, but I suspect it is either the most recently modified/released version, or the latest version. As we are managing python packages here, we are not bound by archive-like restrictions whereby we keep only one version of each package, so the normal assumptions that would apply to the archive do not apply to us. We probably need a way to specify either the version(s) we want, or to just copy all of the versions.
* copyPackages() does not copy all artifacts. In some instances, we have built architecture specific wheels for a package (e.g. for arm+amd64). Even for the version of the package selected, launchpad does not copy both the arm and the amd64 wheel. It appears to choose only one wheel (for every case I examined, it copied the arm wheel). Again, I'm not sure how it is making this choice, maybe it is the most recently uploaded wheel?
Thanks for investigating!
description: | updated |
description: | updated |
Please try `copyPackage` and see if you get along any better with that. It at least accepts a `version` argument.