Hi, folks!
It's been noted a few times before that we have a release criterion that requires *updating* packages (or, these days, 'software', to cover things like modules) to work...but we don't have criteria covering other basic software management tasks, notably installing and removing. There is a possible justification for this: so long as update works, bugs in installation and removal can be fixed with updates. But really, it seems reasonable to me that we should require basic installation/removal of packages (and modules, and anything else we may choose to consider release critical now or in future, e.g. flatpaks, Shell extensions...) to work on release.
So, I'm proposing we modify the existing Basic and Beta criteria that cover only updates, to also cover installation and removal. I like this a bit more than adding separate criteria as the footnotes would be very similar, and combining allows the footnotes to be shared.
So, the Basic criterion would change from:
"The installed system must be able to download and install appropriate updates with the default console tool for the relevant update type (e.g. default console package manager)."
to:
"The installed system must be able to install, remove, and install appropriate updates for software with the default console tool for the relevant software type (e.g. default console package manager). This includes downloading of packages to be installed/updated."
the Beta criterion would similarly change from:
"The installed system must be able to download and install appropriate updates with the default tool for the relevant update type in all release-blocking desktops (e.g. default graphical package manager)."
to:
"The installed system must be able to install, remove, and install appropriate updates for software with the default tool for the relevant update type in all release-blocking desktops (e.g. default graphical package manager). This includes downloading of packages to be installed/updated."
the footnotes would be tweaked to refer more generically to 'software' and stuff instead of 'updates', just kinda logical changes to reflect the broadened criterion; I can go into detail on that if anyone wants.
Obviously if the criterion change is agreed upon, we will add test cases to the test matrices.
Thoughts, comments, suggestions, acks and nacks? Thanks!
On Tue, Jun 12, 2018 at 11:35:21AM -0700, Adam Williamson wrote:
"The installed system must be able to install, remove, and install appropriate updates for software with the default console tool for the relevant software type (e.g. default console package manager). This includes downloading of packages to be installed/updated."
+1 in theory. The wording is a bit awkward, though -- it sounds like "updates" are things we must be able to install, remove, and install again. Why not just:
"The installed system must be able to install, remove, and update software with the default console tool for the relevant software type (e.g. default console package manager). This includes downloading of packages to be installed/updated."
On Tue, 2018-06-12 at 21:51 -0400, Matthew Miller wrote:
On Tue, Jun 12, 2018 at 11:35:21AM -0700, Adam Williamson wrote:
"The installed system must be able to install, remove, and install appropriate updates for software with the default console tool for the relevant software type (e.g. default console package manager). This includes downloading of packages to be installed/updated."
+1 in theory. The wording is a bit awkward, though -- it sounds like "updates" are things we must be able to install, remove, and install again. Why not just:
"The installed system must be able to install, remove, and update software with the default console tool for the relevant software type (e.g. default console package manager). This includes downloading of packages to be installed/updated."
We already have a thread about exactly this wording problem. :P The reason I didn't go for that wording is that it loses the 'appropriate' concept, which is important and was specifically included. It appears that people are having trouble parsing the intended sense of the wording I chose - there are three actions, "install", "remove" and "install appropriate updates for", all of which affect "software" - so I'm trying to think of another way to put it.
On Wed, Jun 13, 2018 at 09:56:07AM -0700, Adam Williamson wrote:
"The installed system must be able to install, remove, and update software with the default console tool for the relevant software type (e.g. default console package manager). This includes downloading of packages to be installed/updated."
We already have a thread about exactly this wording problem. :P The reason I didn't go for that wording is that it loses the 'appropriate' concept, which is important and was specifically included. It appears
Don't we also want appropriate software installed and removed?
"The installed system must be able to appropriately install, remove, and updates software with ..." ?
That just seems like filler — "appropriate" seems like it's already understood.
Or do you mean "update, if an update is available"? Or "update to the latest one"? Or "update and not screw things up"? What _is_ appropriate, anyway?
On Thu, 2018-06-14 at 11:48 -0400, Matthew Miller wrote:
On Wed, Jun 13, 2018 at 09:56:07AM -0700, Adam Williamson wrote:
"The installed system must be able to install, remove, and update software with the default console tool for the relevant software type (e.g. default console package manager). This includes downloading of packages to be installed/updated."
We already have a thread about exactly this wording problem. :P The reason I didn't go for that wording is that it loses the 'appropriate' concept, which is important and was specifically included. It appears
Don't we also want appropriate software installed and removed?
It doesn't really...apply in that case. It's about the selection of appropriate updates when updating.
"The installed system must be able to appropriately install, remove, and updates software with ..." ?
That just seems like filler — "appropriate" seems like it's already understood.
Or do you mean "update, if an update is available"? Or "update to the latest one"? Or "update and not screw things up"? What _is_ appropriate, anyway?
There's a footnote explaining that already:
"Appropriate means that the relevant update mechanism(s) for any given deployment must apply the correct updates to the correct components, and not apply incorrect updates. To give a specific example of why this wording is included, there was previously a case where newer package versions from modules were being installed as 'updates' to systems which did not have those modules installed, only the package with the same name from the non-modular system repositories. This would be an example of 'inappropriate' updating that violated this criterion."
as explained there, we actually *specifically* added this wording because there was a bug with packages from modules being selected as updates when the modules they were from weren't installed, and we felt it was best to have the criterion explicitly cover this kind of situation.
On Thu, Jun 14, 2018 at 03:47:25PM -0700, Adam Williamson wrote:
There's a footnote explaining that already:
Ah, that clears it up. Thanks :)
as explained there, we actually *specifically* added this wording because there was a bug with packages from modules being selected as updates when the modules they were from weren't installed, and we felt it was best to have the criterion explicitly cover this kind of situation.
Hmmm; this *could* apply to install, too -- for example, installing a package from a module that's not supposed to be enabled, or failing to from one that is.
On Thu, 2018-06-14 at 19:25 -0400, Matthew Miller wrote:
On Thu, Jun 14, 2018 at 03:47:25PM -0700, Adam Williamson wrote:
There's a footnote explaining that already:
Ah, that clears it up. Thanks :)
as explained there, we actually *specifically* added this wording because there was a bug with packages from modules being selected as updates when the modules they were from weren't installed, and we felt it was best to have the criterion explicitly cover this kind of situation.
Hmmm; this *could* apply to install, too -- for example, installing a package from a module that's not supposed to be enabled, or failing to from one that is.
Hum, that's a decent point. /me continues to cogitate
On Thu, 2018-06-14 at 17:31 -0700, Adam Williamson wrote:
On Thu, 2018-06-14 at 19:25 -0400, Matthew Miller wrote:
On Thu, Jun 14, 2018 at 03:47:25PM -0700, Adam Williamson wrote:
There's a footnote explaining that already:
Ah, that clears it up. Thanks :)
as explained there, we actually *specifically* added this wording because there was a bug with packages from modules being selected as updates when the modules they were from weren't installed, and we felt it was best to have the criterion explicitly cover this kind of situation.
Hmmm; this *could* apply to install, too -- for example, installing a package from a module that's not supposed to be enabled, or failing to from one that is.
Hum, that's a decent point. /me continues to cogitate
So, having cogitated, how about this wording?
Basic:
"The installed system must be able appropriately to install, remove, and update software with the default console tool for the relevant software type (e.g. default console package manager). This includes downloading of packages to be installed/updated."
Beta:
"The installed system must be able appropriately to install, remove, and update software with the default tool for the relevant software type in all release-blocking desktops (e.g. default graphical package manager). This includes downloading of packages to be installed/updated."
Grammatically, this means the "appropriately" applies to all three actions ("install, remove and update").
The footnote would read:
"Appropriately?
''Appropriately'' means that the relevant software mechanism(s) for any given deployment must choose the software to be installed, updated or removed in ways that are broadly in line with the user's intent and typical expectations, and the project's intent as to which software should be provided from which repositories etc.
To give a specific example of why this wording is included, there was previously a case where newer package versions from modules were being installed as 'updates' to systems which did not have those modules installed, only the package with the same name from the non-modular system repositories. This would be an example of 'inappropriate' updating that violated this criterion. Other examples might include installing packages from the wrong module stream, or failing to include available updates from an enabled official repository."
Does that sound good to everyone? Thanks!
desktop@lists.stg.fedoraproject.org