Upgrade note for kscreenlocker to Plasma 5.10
Martin Gräßlin
mgraesslin at kde.org
Thu Mar 9 17:02:09 GMT 2017
Am 2017-03-09 17:07, schrieb Fabian Vogt:
> Hi,
>
> Am Donnerstag, 9. März 2017, 16:49:09 CET schrieb Martin Gräßlin:
>> Am 2017-03-09 08:56, schrieb Fabian Vogt:
>> > Hi,
>> >
>> > Am Donnerstag, 9. März 2017, 07:10:30 CET schrieb Martin Gräßlin:
>> >> Am 2017-03-08 20:12, schrieb Fabian Vogt:
>> >> > Hi!
>> >> >
>> >> > Am Mittwoch, 8. M?rz 2017, 19:50:40 CET schrieb Martin Gr??lin:
>> >> >> Hi distributions,
>> >> >>
>> >> >> I'm currently planning to change the interaction between
>> >> >> kscreenlocker_greet and kcheckpass. As a result a kscreenlocker_greet
>> >> >> started in Plasma 5.9 won't be able to unlock with a kcheckpass from
>> >> >> Plasma 5.10. This is a situation which could happen during an upgrade.
>> >> >> Kcheckpass gets invoked when trying to unlock, so an upgrade while the
>> >> >> session is locked could result in this situation.
>> >> >
>> >> > Thanks for letting us know!
>> >> > Isn't there a way to make kscreenlocker from the next 5.9 release
>> >> > capable
>> >> > of unlocking the 5.10 kcheckpass? That way nothing special would
>> >> > happen.
>> >>
>> >> Even if it were technically possible (which it isn't) it would not
>> >> solve
>> >> the
>> >> problem as we also want to support transitions like 5.8 (or earlier)
>> >> to
>> >> 5.10 (or later)
>> >
>> > Wouldn't it be technically feasible for kscreenlocker_greet to just
>> > restart
>> > itself if it notices that it cannot talk to kcheckpass anymore?
>>
>> No, the old kscreenlocker_greet doesn't know anything about it. Thus
>> it
>> cannot.
>
> Why does it need to? kscreenlocker_greet could just invoke kcheckpass
> --protocolver
> and compare (if it fails, too old). Or cmake writes the version id into
> a file
> in /usr/share and kscreenlocker compares that, or...
> KScreenlocker has all the information it needs available as far as I
> can tell.
>
> Obviously it needs to be handled on the distro side at least once for
> 5.x -> 5.10.
> After that we know that a 5.10 -> X update is always safe.
oh misunderstanding. I talked about the transition to 5.10. For future
transitions it can be different. But I still would like to have this
handled in the upgrade step. We have had problems with upgrading:
* Interaction ksld -> kscreenlocker_greet
* Interaction kscreenlocker_greet and lnf package
* Interaction kscreenlocker_greet and kcheckpass
In many cases this results in very ugly checks in the code which I don't
like as it's security critical code. (e.g. your suggestion for a
protversion command line check is a no-no given the code in question)
And we never know when we can remove the checks. Is an upgrade path 5.8
-> 5.10 without 5.9 in between legit? How long do we need to support it?
We are doing ourself a big disservice by trying to support a runtime
situation with parts of version x and x+1. This is a situation which is
hardly tested and we have seen it fail soooo often in the past (I could
give you a long list of bug reports).
Given that I would love to see all distros switching their upgrades of
Plasma version to being offline. Kscreenlocker is in my opinion only the
tip of the iceberg. It's the one thing where we see it fail because we
get the complaints if the system cannot be unlocked any more. For any
other part it's quite unknown how it behaves. Is a KWin of version x
compatible with an Alt+Tab theme of x+1? Can Plasma handle the exchange
of all Qml components? Given that my personal recommendation is to do
offline updates.
Cheers
Martin
More information about the Distributions
mailing list