Bug#994388: tech-ctte: More specific advice regarding merged-/usr and implications of #978636

2021-10-03 Thread Sean Whitton
Hello,

On Mon 27 Sep 2021 at 10:59AM +01, Simon McVittie wrote:

> On Thu, 16 Sep 2021 at 15:35:11 -0700, Sean Whitton wrote:
>> You write:
>>
>> >> - Because Debian 11 installations with the non-merged-/usr layout already
>> >>   exist, all packages in Debian 12 should be installable onto a 
>> >> non-merged-/usr
>> >>   system along with their dependencies, and work correctly on the 
>> >> resulting
>> >>   system.
>>
>> (1) The reason for this, to put it a bit simplistically, is that we
>> don't require apt to perform the upgrade between stable releases in any
>> particular order, right?  Or are there other reasons distinct from this
>> one that I'm missing?  I think it would be good to state the thing about
>> apt (in better language than mine) in the text.
>
> I think that's the main reason. We have not traditionally mandated
> the use of a special upgrade tool like Ubuntu's do-release-upgrade(8),
> so the upgrade happens in whatever order apt chooses, which can vary
> between machines.
>
> Another reason why I think we want Debian 12 packages to be installable
> onto non-merged-/usr systems is that to be able to do our development work,
> they need to be installable onto testing/unstable systems, which (again)
> means that the upgrade order is undefined.

Right, we're on the same page then, but would you agree with me that the
resolution should state this justification explicitly?

> We also have best-effort support for partial upgrades, either
> oldstable -> stable or stable -> testing/unstable: upgrading only a
> subset of the available packages, plus their mandatory dependencies,
> but without also upgrading apparently-unrelated packages. This can
> only ever be partially supported, because it leads to a combinatorial
> explosion of possible partially-upgraded systems, and realistically we
> can never test them all; but I think it's best if we try to avoid
> knowingly making this worse.

I'd suggest we don't mention this as it's much more obscure and the
above is sufficient justification.

>> (2) Some people on -devel would seem to think that we can have smooth
>> upgrades from bullseye to bookworm without requiring support for
>> non-merged-/usr in every single package in bookworm, i.e., without
>> supporting non-merged-/usr for testing/unstable installations during the
>> current release cycle.
>
> Some people on -devel have argued that it would be OK to require use of
> a special upgrade tool analogous to Ubuntu's do-release-upgrade just this
> once, or that it would be OK to require a particular upgrade sequence. For
> example, we could ask users to install the usrmerge package first, and
> then upgrade; or if dpkg is modified to special-case the merged-/usr
> aliasing symlinks, then we might ask users to upgrade dpkg first, and
> then upgrade the rest of the system.
>
> I think there is considerable anecdotal evidence that many Debian users
> do not read the release notes, and if we ask them to carry out an upgrade
> procedure more complicated than
>
> $editor /etc/apt/sources.list && apt update && apt full-upgrade
>
> they will often ignore that request and still expect their upgrade to
> work (because in practice it often does, and we've been training users
> to expect that for years). That makes me reluctant to require a special
> upgrade procedure if it is not strictly necessary.

This is persuasive.  What do you think about including it in the text?
Specifically, mentioning that we are deciding, for the project, that
we are not going to do this using something like do-release-upgrade(8).

>> What smcv has been arguing for is the most conservative option.  But
>> which of the following is it the TC wants to say:
>>
>> - we are sure that this is the only way to ensure smooth upgrades, such
>>   that it pretty much follows from our previous decision on merged-/usr
>>
>> - we think there might be viable alternatives to requiring every package
>>   in bookworm to work on both layouts, but we aren't sure they are safe
>>   enough, so we're recommending a simple and conservative approach
>>
>> - we think that ensuring non-merged-/usr testing/unstable installations
>>   work during this release cycle is reason enough to take this highly
>>   conservative approach
>
> I'm honestly not sure which of these is "the" reason why I'm recommending
> the conservative approach. Some combination of your second and third
> points, I suppose?

Based on what you say above I think it's the second and third, indeed.
If we add to the text the things I'm suggesting we add, I think this
sort of query about our motivations will not arise in the minds of
readers.

Thanks!

-- 
Sean Whitton


signature.asc
Description: PGP signature


Bug#994275: Reverting breaking changes in debianutils

2021-10-03 Thread Clint Adams
On Sat, Sep 25, 2021 at 11:31:41AM +0100, Simon McVittie wrote:
> This seems a good opportunity to ask what I think is a key question here:
> what do you consider debianutils' mission to be?

The package description uses the phrases "specific to Debian" and
"installation scripts of Debian packages".  The fact that
debianutils is used on non-deb operating systems suggests a failure
at the former.  The fact that 95% of my inbox consists of hatemail
about the interactive usage of `which` suggests a failure at the
latter.

debianutils should consist solely of utilities that are actually
deserving of Essential status, that are maintained by debianutils
upstream, and do not needlessly duplicate functionality provided by
other sources.

Divestiture of mktemp, readlink, sensible-editor, sensible-pager,
sensible-browser, tempfile, and possibly mkboot were adjustments
toward a better debianutils.

mktemp and readlink have been replaced by superior versions.
sensible-* live in a non-Essential package in which presumably
someone cares about them.  tempfile and mkboot are no longer
around to confuse people.  Did people see these things as
progress when they happened?  I would imagine that the people
who were verbally abusing me and flinging stop energy around
at the time did not.  Does anyone really miss the old debianutils
mktemp now?



Re: Bug#995569: debhelper: act on service files placed in usr/lib/systemd/system

2021-10-03 Thread Niels Thykier
Control: blocked -1 by 994388

(@Tech-ctte in BCC: Consider this email as an FYI that this bug is
waiting for your resolution of #994388.  I do not expect follow up from
you in any official capacity, but I would strongly appreciate if you
would explicitly clarify how this request will fit into your advice for
the transition plan once you have that.)

Ferenc Wágner:
> Package: debhelper
> Version: 13.5.2
> Severity: normal
> 
> Dear Maintainer,
> 
> If some upstream install procedure places service files under
> /usr/lib/systemd/system, dh_installsystemd won't notice those in
> debian/tmp during package build, thus such units won't be enabled and
> started on the installation of the resulting package.
> 
> I think this could (and should) be done irrespective of the usrmerge
> transition and whether maintainer-provided unit files are installed into
> /usr/lib or /lib, because this has little chance to change anything
> automatically (unless some packages have been shipping unit files under
> /usr/lib with the very purpose of not activating and starting them).
> 

Hi Ferenc,

Thanks for your bug report and I appreciate why you want this feature.

Unfortunately, I have no intention of acting on this request until the
tech-ctte has resolved their advice on how they want the /usr-merge
transition to be resolved (per #995569).

Some might argue that this request is independent of the /usr-merge
transition.  However, adding support for this feature will enable
maintainers to move files from / to /usr much easier than previously and
a key point here is whether that would be seen as supporting/enabling
maintainers in going against the (likely) advice of the tech-ctte to not
do "per package/path" transitions.
  Obviously, a maintainer *can* do this manually without debhelper - but
they would do so at their own peril. Whereas if I add this support
someone will definitely leverage that feature to move from / to /usr
even if that would contradict the recommendation from the tech-ctte.

Sadly, it does leave you hanging if you have an upstream package that
uses /usr/lib where you would manually have to move that to /lib or not
use debhelper at all. And if you move it to /lib, you would eventually
have to "undo" that at a later stage.
  I wish I could provide you with something better, but I am personally
not ready to invest in implementing this feature while there is a
considerably risk that I would need to revert it again or it would be
interpreted as "promoting dissent" against the upcoming /usr-merge
transition[1].


~Niels

PS: The tech-ctte have not officially clarified their resolution on the
/usr-merged migration, but so far I have yet to see a draft / suggestion
that include "migrate paths manually in packages before $FLAG_DAY" as a
proposed solution.  Instead the drafts point to quite the opposite.

[1] I have raised objections in public about some of the /usr-merge
transition plans. I feel this is not an entirely theoretical concern
that other project members would see it as a statement from me if I was
to implement this feature without the explicit approval of the tech-ctte
at this point in time.