[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#1109323: developers-reference: extend documentation of delayed/deferred queue



On Tue 15 Jul 2025 at 12:03pm +02, Otto Kekäläinen wrote:
If I am
completely missing, I would be fine if somebody posted a MR and then
after a few weeks went and merged it themselves and uploaded. This
would still feel more collaborative than noticing a new package
version as NMU in DELAYED. Does this resonate with others?

Expanding a little on what Sean said, let's suppose your foobar_1.2-3 package has a sufficiently bad bug to justify a NMU, and I have some time available and I want to fix that bug.

What I would often want to do as the contributor, if I have limited time, is:

* ensure there is a bug open with a solution-neutral problem statement
  about the bug I'm fixing (open it if necessary)
* make and test the change
* send a MR (and/or a patch in email), either versioned as
  "1.2-4 (UNRELEASED)" or without touching the changelog at all, with
  the change that I'm proposing you should make
* mention in the bug/MR that I'm going to NMU it to DELAYED to make sure
  that a fix will land in a timely way
* locally adjust the changelog to be a NMU versioned as 1.2-3.1 or
  1.2-3+nmu1, and build and re-test it
* upload my NMU to some appropriate DELAYED queue
* send the nmudiff to the bug because devref says I must, but point to
  the MR as the "canonical" version

That way, if neither you nor I act on it further because we're both busy, the "default" will be that my NMU reaches the archive a few days later and the bug gets fixed; and getting a fix into the archive doesn't depend on me remembering to come back to this bug several days later, by which time I might have become distracted by some other priority.

If one of us *does* have time later, the maintainer can preempt the DELAYED change by either converting it into a higher-version-numbered maintainer upload if they approve, or uploading a better solution if they do not approve; or the other contributor can cancel their delayed NMU if it becomes clear that it shouldn't be accepted, or re-upload without delay if they're given permission to do so (or even without permission, if they find out that fixing the bug is more urgent than they had previously thought).

Hopefully that's a workflow that everyone could be reasonably happy with?

If I happen to have the time available at the time that my delayed NMU hits the archive, *then* I could optionally come back and merge the MR (although I would personally tend to just update it with the NMU's changelog entry at that point, leaving it up to the maintainer whether they want to merge it as-is or do something completely different, because that way the maintainer gets to control their package's "official" history).

went and merged it themselves

The contributor doesn't necessarily have commit/merge access to every repo where they might find themselves stepping in and fixing a nasty bug (especially if they are a non-DD who needs to get their NMU sponsored), but they certainly have the ability to send patches-in-email, and hopefully MRs as well.

On Tue, 15 Jul 2025 at 11:43:01 +0100, Sean Whitton wrote:
The thing about DELAYED is that it's fire-and-forget for the contributor
actually doing the work, which is an advantage.

I agree that when the contributor doing the work can only spend a limited amount of time and attention on it, there is value in grouping together all of the work to be done the same day (make the change, send to BTS, send MR if desired, upload to DELAYED) so that in the absence of any other action being taken, the proposed fix will reach the archive without the contributor needing to actively herd it through the process. I'm not sure that I see a situation where it would be rational to use DELAYED, but unacceptably slow to open BTS bugs or MRs?

For any upload to DELAYED, I would usually expect a bug in the BTS whatever else happens: an uploader should only use DELAYED in cases where it's acceptable for there to be a delay of a few days before the fix actually reaches the archive, and if that's the case then opening a BTS bug before uploading is not going to have a significant impact on the time-to-fix. I'd personally prefer the actual proposed change to be in the form of a MR rather than patches-in-email, but I think there's often value in reporting a solution-neutral problem statement to the BTS before (or at the same time as) proposing a solution, because sometimes the first solution proposed is not actually the best answer to the stated problem, and we should make it as easy as possible for a maintainer to be able to say "yes, this is a good solution" or "no, this isn't a good solution" (or even "no, this isn't a valid bug").

In cases where the time taken to open a BTS bug or a MR would be unacceptable, like a very bad regression or an actively-exploited security vulnerability, surely the time delay of DELAYED would not be acceptable either? In this case I'd expect the uploader to NMU first (very carefully!) without using DELAYED, and then open a BTS bug with the nmudiff afterwards, again accompanied by a MR if they're feeling helpful.

    smcv


Reply to: