Re: Lifting the moratorium

2023-08-26 Thread Christoph Berg
Re: Timo Röhling
> * Helmut Grohne  [2023-08-26 11:39]:
> > > Who is this going to be? Do you, Helmut, feel comfortable as driver?
> > 
> > Yes, though I'm not opposed to sharing the load.

Thanks Helmut!

> It does not even have to be much, maybe a
> short paragraph such as
> 
> "Please monitor the document at  for the current transition
> status. Helmut has graciously agreed to coordinate the transition.
> Please reach out to him if you want to help with the effort, or if
> you have affected packages and are unsure how you should proceed."
> 
> in the CTTE announcement is sufficient.

I like this very much.

Christoph



Re: Lifting the moratorium

2023-08-26 Thread Timo Röhling

Hi Helmut,

* Helmut Grohne  [2023-08-26 11:39]:

Who is this going to be? Do you, Helmut, feel comfortable as driver?


Yes, though I'm not opposed to sharing the load.


Ack.


Do you prefer if the Release Team takes over with you in an advisory
role? If you continue as main driver, should the DPL formally
delegate that role somehow?


On a micro level, the Release Team will be involved. The plan is for me
to file RC bugs. There will be disagreement about such bugs and the
Release Team is the arbiter of severities and testing migration here.


Ack.


I'm surprised. We did have some contentious questions such as whether
changing dpkg would be part of the solution and how the bootstrap
protocol should look like. These seem settled now. Beyond these, the
feedback mostly was that we should simply get it done. We will still see
individual disagreements on particular packages, but those cannot be
settled by some form of delegation as in effect they touch the package
ownership and overriding that currently requires CTTE involvement.

I'd rather see us not using the constitution hammer just because we see
a nail and hope that I'm right about the expected cooperation.



Maybe DPL delegation invokes the wrong kind of image here. I'm not
asking for some dictator who pushes the transition through no matter
what. What I do like to see is transparent commmunication about the
process; we should be upfront about the fact that you drive this
transition and not just kind of let it happen (which is what it has
felt like to me at times). It does not even have to be much, maybe a
short paragraph such as

"Please monitor the document at  for the current transition
status. Helmut has graciously agreed to coordinate the transition.
Please reach out to him if you want to help with the effort, or if
you have affected packages and are unsure how you should proceed."

in the CTTE announcement is sufficient. All the usual channels for
dispute resolution remain available, but everyone is brought to the
same page, even if they missed (or ignored) the d-devel discussion
up this point. 


Also, any developer who just wants to "get it done" but does not
have the time or energy to fully grok DEP-17 has the option to defer
to you / the developers coordinating the transition, similar to what
has happened with the debhelper NMU.


Cheers
Timo

--
⢀⣴⠾⠻⢶⣦⠀   ╭╮
⣾⠁⢠⠒⠀⣿⡁   │ Timo Röhling   │
⢿⡄⠘⠷⠚⠋⠀   │ 9B03 EBB9 8300 DF97 C2B1  23BF CC8C 6BDD 1403 F4CA │
⠈⠳⣄   ╰╯


signature.asc
Description: PGP signature


Re: Lifting the moratorium

2023-08-26 Thread Helmut Grohne
Hi Timo,

On Sat, Aug 26, 2023 at 01:32:25AM +0200, Timo Röhling wrote:
> Practically, lifting the moratorium means that the CTTE relinquishes
> control of the /usr-merge transition to whoever drives the
> transition, i.e., maintains that living document and thereby makes
> decisions on how to proceed.

Yes.

> Who is this going to be? Do you, Helmut, feel comfortable as driver?

Yes, though I'm not opposed to sharing the load.

> Do you prefer if the Release Team takes over with you in an advisory
> role? If you continue as main driver, should the DPL formally
> delegate that role somehow?

Isn't this "just" a transition? I mean it's a larger one spanning
multiple releases and it's one that will not migrate to testing in one
step, but other than that, it is a change affecting many packages in a
coordinated way which is what we usually call transition. A transition
bug probably is a good idea, but other than that, transitions are
usually managed by those doing the work without exercising
constitutional powers. I sincerely hope that we as a project can get
this done in a consensual way without requiring the use of
constitutional mechanisms to make it work. Yes, there have been a lot of
bad feelings and even questionable actions and so forth about this, but
on a lot of sides I also see an interest to listen to each other and
cooperation. People who formerly have indicated to be too annoyed by
this matter to consider discussing it start doing so again. Why not try
another time to put trust in our community? The worst thing that could
happen seems to be us messing up the transition and making some systems
unbootable until we figure out a solution. Given dumat, we can likely
keep that out of trixie. If things fail that way, we can still consider
the use of more constitutional powers, but I'd rather see us getting
done without needing them.

On a micro level, the Release Team will be involved. The plan is for me
to file RC bugs. There will be disagreement about such bugs and the
Release Team is the arbiter of severities and testing migration here.

> I think these are questions we need answered, because it would be
> advisable to have someone with clearly defined responsibilities at
> the wheel for the transition. Otherwise, we risk stale-mating
> ourselves with endless debates on how to finish the transition
> "properly".

I'm surprised. We did have some contentious questions such as whether
changing dpkg would be part of the solution and how the bootstrap
protocol should look like. These seem settled now. Beyond these, the
feedback mostly was that we should simply get it done. We will still see
individual disagreements on particular packages, but those cannot be
settled by some form of delegation as in effect they touch the package
ownership and overriding that currently requires CTTE involvement.

I'd rather see us not using the constitution hammer just because we see
a nail and hope that I'm right about the expected cooperation.

Helmut



Re: Lifting the moratorium

2023-08-25 Thread Bdale Garbee
Timo Röhling  writes:

> I think these are questions we need answered, because it would be
> advisable to have someone with clearly defined responsibilities at
> the wheel for the transition. Otherwise, we risk stale-mating
> ourselves with endless debates on how to finish the transition
> "properly".

+1

Bdale


signature.asc
Description: PGP signature


Re: Lifting the moratorium

2023-08-25 Thread Timo Röhling

Hi,

* Helmut Grohne  [2023-08-25 13:40]:

You see that this goes into very much detail and having the CTTE decide
upon the precise way of lifting this seems suboptimal. That would amount
to micro-managing the transition. In effect, the most sensible way I see
forward is trusting our developers to the right things by formally
lifting the moratorium entirely and still asking them to be careful
about what they do. Then we could have a living document (not authored
by CTTE) describing what careful means precisely. With dumat being in
operation as a detection mechanism (though not yet performing
unsupervised RC bug filings), we've got the means to see what goes wrong
at least.

Does this make sense to you? Do you have other thoughts on how to move
forward on the CTTE side?


Practically, lifting the moratorium means that the CTTE relinquishes
control of the /usr-merge transition to whoever drives the
transition, i.e., maintains that living document and thereby makes
decisions on how to proceed.

Who is this going to be? Do you, Helmut, feel comfortable as driver?
Do you prefer if the Release Team takes over with you in an advisory
role? If you continue as main driver, should the DPL formally
delegate that role somehow?

I think these are questions we need answered, because it would be
advisable to have someone with clearly defined responsibilities at
the wheel for the transition. Otherwise, we risk stale-mating
ourselves with endless debates on how to finish the transition
"properly".


Cheers
Timo



--
⢀⣴⠾⠻⢶⣦⠀   ╭╮
⣾⠁⢠⠒⠀⣿⡁   │ Timo Röhling   │
⢿⡄⠘⠷⠚⠋⠀   │ 9B03 EBB9 8300 DF97 C2B1  23BF CC8C 6BDD 1403 F4CA │
⠈⠳⣄   ╰╯


signature.asc
Description: PGP signature


Re: Lifting the moratorium

2023-08-25 Thread Stefano Rivera
Hi Helmut (2023.08.25_11:40:33_+)
> You see that this goes into very much detail and having the CTTE decide
> upon the precise way of lifting this seems suboptimal. That would amount
> to micro-managing the transition. In effect, the most sensible way I see
> forward is trusting our developers to the right things by formally
> lifting the moratorium entirely and still asking them to be careful
> about what they do. Then we could have a living document (not authored
> by CTTE) describing what careful means precisely. With dumat being in
> operation as a detection mechanism (though not yet performing
> unsupervised RC bug filings), we've got the means to see what goes wrong
> at least.

Yeah, that sounds reasonable to me. It's obvious that we have to lift
the moratorium at some point soon, and it doesn't really make sense for
us to have to vote on each stage of lifting it.

With you actively working on pushing /usr-merge forward, you're in a
position to coordinate some of the next steps (to the degree that
maintainers follow your advice). We are in a very different position now
(with dumat in place and a concrete plan) than we were in when the
moratorium was first imposed.

But I'm interested to see if there are other approaches suggested.

Stefano

-- 
Stefano Rivera
  http://tumbleweed.org.za/
  +1 415 683 3272



Lifting the moratorium

2023-08-25 Thread Helmut Grohne
Hi,

after bookworm, we extended the moratorium, because we saw that lifting
it would cause problems. We have a better understanding of those
problems now and are into preparations for actually moving files. I'd
like to initiate a discussion on how the moratorium is to be lifted.

DEP17 tells us about known problem classes. Let me go through them with
a focus on how they interact with the moratorium.

P1 file loss due to concurrent canonicalization and move.

The moratorium currently prevents this. There is little we can do about
this class before lifting the moratorium as the intention is to mitigate
this case by case by upgrading Replaces to Conflicts (M7) or employing
protective diversions (M8). I note that since bookworm no packages have
been restructured in a way that would cause an immediate P1 problem for
systemd units just yet.

P2 ineffective trigger interest

This is not mitigated, but the moratorium keeps the practical effects
low. Patches for all affected packages in Debian have been filed. They
should be upgraded to RC severity before lifting the moratorium. The
only two instances not yet fixed in unstable are #1043419 and #1043420.

P3 ineffective diversions

The moratorium currently prevents this. We don't quite have agreement as
to whether this should be mitigated centrally (by doing something to
dpkg-divert M6) or decentrally (by duplicating all of the diversions in
packages M18). If the decentral approach is chosen, we will handle this
case by case. I note that since bookworm, there are no P3 instances for
systemd units left.

P4 disagreeing alternatives

The moratorium currently prevents this and the idea is that we continue
to use aliased paths for update-alternatives where they already are used
in such a way (M13).

P5 ineffective dpkg-statoverride

The moratorium currently prevents this, but this is an aspect that
maintainers will have to handle on a per-package basis anyway.

P6 Empty directory loss

This is not prevented by the moratorium, but lifting it will make it
worse. Bugs for all current issues have been filed and as packages move,
there will likely be five more instances. The idea is to handle them
case by case.

P7 Shared multiarch file loss

This is prevented by the moratorium. Lifting is likely to spawn a
two-digit number of such losses. Thus far, the idea is to handle these
case by case using protective diversions (M10). I note that no systemd
units are currently affected by this problem though a number of udev
rules will be.

P8 bootstrapping

The moratorium currently keeps bootstrapping working. debootstrap in
trixie is forwards compatible with what we're heading to. Moving files
in transitively essential packages from / to /usr is prone to breaking
mmdebstrap or cdebootstrap though. As such a limited moratorium should
be retained for now.

P9 Loss of aliasing links

The moratorium currently prevents them from being lost. Once large
amounts of packages are converted, aliasing symlinks may vanish. Such a
failure is prone to making end user systems unbootable. As long as
essential packages are not converted, this cannot be practically
experienced.

P10 debian-installer

The debian-installer is still unmerged. If the moratorium were lifted,
files could move to /usr (even in udebs) and thereby break the
installer. There is a MR trying to make it use a merged layout.

Beyond the numbered problems, keep in mind that buildds are not yet
/usr-merged. This also depends on a SPU of debootstrap for bullseye.

Takeaway

If you read through this list, we should recognize two recurring ideas.

Much of the preparation has been done or initiated and what's left in
large part is doing mitigations after having lifted the moratorium.

Lifting the moratorium isn't exactly boolean. More than half of the
packages that ship files in aliased locations only do so due to
containing a systemd unit. For essential packages, we want to do the
conversion at a later time.

This gives rise to the question of how to lift the moratorium. I suggest
that simply saying "no moratorium anymore" is prone to causing breakage.
Lifting the flood gates could cause uncontrollable fallout. A more
sensible approach could be lifting it for certain categories (e.g.
systemd units once debhelper is updated to recognize units below /usr)
or performing targeted uploads specifically aimed to resolving the
resulting problems (e.g. canonicalizing specific m-a:same packages while
simultaneously adding the necessary diversions or canonicalizing
packages containing dpkg-statoverrides while specifically handling
them).

You see that this goes into very much detail and having the CTTE decide
upon the precise way of lifting this seems suboptimal. That would amount
to micro-managing the transition. In effect, the most sensible way I see
forward is trusting our developers to the right things by formally
lifting the moratorium entirely and still asking them to be careful
about what they do. Then we could have a livin