Implementation virtually accept the delete request, the delete request will be
added another delreq-review review and also wipes the binary in the main
project, the backend will sync 'nothing' to ToTest and Snapshot after all. Once
all repository has no binary then remove the package in real.
The variable project might got changed through
map_ring_package_to_subject(), according to release process, we have to
given the origin project path to set_review() always.
* Create sub-package in case an adi request is multiple specfile package
* Use the consistent workflow in rm_from_prj(). The main package must to
through map_ring_package_to_subject() like what it did in
submit_to_prj()
The new logic is introduced, the description is below:
* If adi package: return sub-package list according to the specfiles
of main package.
* If ring package: return sub-package list by showlinked call and the
sub-package must be in another ring.
* The others: return empty list, no reason to return anything or even
checking it in the devel project. Otherwise selecting a non-ring
package to a letter staging probably would created unneededsub-package.
Make sure the links of package in Rings must are valid before processing,
otherwise someone had package linked to the Ring package in somewhere else than
Rings will breaks select/delete/rm_to_prj, ie. _link will be created. Therefore,
only return the candidate if it has proper linked from another ring and have
different package name.
Instead of always providing a full comment whenever packages are added
an original comment will be posted and diff comments will be replied to
the original comment. The diff comments will provide a summary of what
changed while the complete state can be seen in the project pseudometa.
We have a corner case that package A in Ring2 and points to package B in Ring1,
map_ring_package_to_subject have to handle that as another non-inner project
link case, ie. the sub-package link must be created.
https://github.com/openSUSE/osc-plugin-factory/issues/876
Otherwise, the rebuild command does not print output until all the
rebuilds for a whole staging are completed. With this change each package
should be printed immediately.