The systemd upstream project has accepted VARIANT as a cross-distribution feature, but with a minor change[1] from our original approach: they wanted a human-presentable VARIANT and a separate lower-case-only VARIANT_ID value. This patch implements this in Fedora to keep us aligned with systemd upstream[2].
Sorry for the churn on this. Fortunately, we only have one package depending on this at the moment in Fedora, which I can keep updated. I think it makes sense to get this in for Fedora 22 Final so we aren't maintaining different approaches in Fedora 21, 22 *and* 23.
I've got an update to the packaging guidelines prepared[3] as well, which I'll submit to FPC as soon as this is approved by rel-eng.
[1] http://lists.freedesktop.org/archives/systemd-devel/2015-April/031346.html [2] http://cgit.freedesktop.org/systemd/systemd/commit/?id=be7d0048ddda1e994f651... [3] https://fedoraproject.org/w/index.php?title=User%3ASgallagh%2FPer-Product_Co...
On Tue, May 05, 2015 at 03:38:47PM -0400, Stephen Gallagher wrote:
The systemd upstream project has accepted VARIANT as a cross-distribution feature, but with a minor change[1] from our original approach: they wanted a human-presentable VARIANT and a separate lower-case-only VARIANT_ID value. This patch implements this in Fedora to keep us aligned with systemd upstream[2].
Nice — thanks for championing this!
On Tue, May 5, 2015, at 03:38 PM, Stephen Gallagher wrote:
The systemd upstream project has accepted VARIANT as a cross-distribution feature, but with a minor change[1] from our original approach: they wanted a human-presentable VARIANT and a separate lower-case-only VARIANT_ID value. This patch implements this in Fedora to keep us aligned with systemd upstream[2].
It looks like this also adds the text "Edition"? Is there a rationale for this? I'm not objecting, just wondering.
Otherwise :+1: from me.
----- Original Message -----
From: "Colin Walters" walters@verbum.org To: rel-eng@lists.fedoraproject.org Sent: Friday, May 8, 2015 9:33:22 AM Subject: Re: [PATCHES] os-release: Populate VARIANT and VARIANT_ID values
On Tue, May 5, 2015, at 03:38 PM, Stephen Gallagher wrote:
The systemd upstream project has accepted VARIANT as a cross-distribution feature, but with a minor change[1] from our original approach: they wanted a human-presentable VARIANT and a separate lower-case-only VARIANT_ID value. This patch implements this in Fedora to keep us aligned with systemd upstream[2].
It looks like this also adds the text "Edition"? Is there a rationale for this? I'm not objecting, just wondering.
Well, this variable is meant for presentation, whereas the old version was only meant for parsing.
"Server Edition", "Workstation Edition", etc. is what the council settled on for how to address them. I figured that since we now had both representations here, I'd make this more verbose. I have no particular problem with striking the "Edition" component if people prefer that.
Otherwise :+1: from me.
Thanks.
On Fri, May 08, 2015 at 09:39:59AM -0400, Stephen Gallagher wrote:
Well, this variable is meant for presentation, whereas the old version was only meant for parsing.
"Server Edition", "Workstation Edition", etc. is what the council settled on for how to address them. I figured that since we now had both representations here, I'd make this more verbose. I have no particular problem with striking the "Edition" component if people prefer that.
I have a minor preference for including it, but a strong preference for getting the patch in either way. :) Since it is the presentation string, if we decide to change it in the future, no harm done.
On 05/08/2015 03:39 PM, Stephen Gallagher wrote:
"Server Edition", "Workstation Edition", etc. is what the council settled on for how to address them. I figured that since we now had both representations here, I'd make this more verbose. I have no particular problem with striking the "Edition" component if people prefer that.
Does the new system allow changing PRETTY_NAME and VERSION between different products / editions, such as PRETTY_NAME="Fedora 22 (Workstation Edition)" or PRETTY_NAME="Fedora 22 (Workstation)" instead of the current PRETTY_NAME="Fedora 22 (Twenty Two)" ?
----- Original Message -----
From: "Kalev Lember" kalevlember@gmail.com To: rel-eng@lists.fedoraproject.org Sent: Friday, May 8, 2015 9:51:39 AM Subject: Re: [PATCHES] os-release: Populate VARIANT and VARIANT_ID values
On 05/08/2015 03:39 PM, Stephen Gallagher wrote:
"Server Edition", "Workstation Edition", etc. is what the council settled on for how to address them. I figured that since we now had both representations here, I'd make this more verbose. I have no particular problem with striking the "Edition" component if people prefer that.
Does the new system allow changing PRETTY_NAME and VERSION between different products / editions, such as PRETTY_NAME="Fedora 22 (Workstation Edition)" or PRETTY_NAME="Fedora 22 (Workstation)" instead of the current PRETTY_NAME="Fedora 22 (Twenty Two)" ?
We could easily do this as well, if that was desired, but that should be a separate change. I'd slightly prefer to do that in Rawhide for F23 and not on F22, just on the off-chance that anyone is actually doing anything with PRETTY_NAME, which has been a standard value for a long time.
But yeah, that would probably be nice to do for F23.
On Fri, May 08, 2015 at 09:55:59AM -0400, Stephen Gallagher wrote:
We could easily do this as well, if that was desired, but that should be a separate change. I'd slightly prefer to do that in Rawhide for F23 and not on F22, just on the off-chance that anyone is actually doing anything with PRETTY_NAME, which has been a standard value for a long time.
Agree with in Rawhide. What about:
* change VERSION to just "23", * PRETTY_NAME to "Fedora $VERSION"
and update places which use $PRETTY_NAME to use "$PRETTY NAME ($VARIANT)" instead if appropriate? (Because in some cases the non-specific pretty name might be more appropriate.)
I guess PRETTY_NAME="Fedora $VERSION ($VARIANT)" would also be okay, but I'm imagining there might be some cases where having it separate might be useful. (Maybe not.)
Also, Stephen, a question — should spins set VARIANT and VARIENT_ID?
----- Original Message -----
From: "Matthew Miller" mattdm@fedoraproject.org To: "Stephen Gallagher" sgallagh@redhat.com Cc: "Kalev Lember" kalevlember@gmail.com, rel-eng@lists.fedoraproject.org Sent: Friday, May 8, 2015 10:30:28 AM Subject: Re: [PATCHES] os-release: Populate VARIANT and VARIANT_ID values
On Fri, May 08, 2015 at 09:55:59AM -0400, Stephen Gallagher wrote:
We could easily do this as well, if that was desired, but that should be a separate change. I'd slightly prefer to do that in Rawhide for F23 and not on F22, just on the off-chance that anyone is actually doing anything with PRETTY_NAME, which has been a standard value for a long time.
Agree with in Rawhide. What about:
- change VERSION to just "23",
- PRETTY_NAME to "Fedora $VERSION"
and update places which use $PRETTY_NAME to use "$PRETTY NAME ($VARIANT)" instead if appropriate? (Because in some cases the non-specific pretty name might be more appropriate.)
For the record, while /etc/os-release is meant to be source-able into a Bourne-compatible shell, it's at the very least frowned upon for it to have any variable substitutions in it. So let's please not do that.
That being said, the way we actually create this file is by complete substitution of the file, not by constructing it from component pieces. Each fedora-release-$EDITION package drops a file called os-release-$EDITION into place on the system and then symlinks it to /usr/lib/os-release if no symlink currently exists (which is how we can avoid collisions if someone installs fedora-release-workstation on a Fedora Server; it will just not do anything).
I guess PRETTY_NAME="Fedora $VERSION ($VARIANT)" would also be okay, but I'm imagining there might be some cases where having it separate might be useful. (Maybe not.)
If we chose to do something like this, it should use literal values, not the substitutions (It was unclear if that was what you were saying).
So PRETTY_NAME="Fedora 23 (Server Edition)"
Also, Stephen, a question — should spins set VARIANT and VARIENT_ID?
That's a question with more to it than you might think. Based on the way we're creating the os-release file, if a spin wanted to have a different VARIANT and VARIANT_ID, it would need to ship a spin-specific fedora-release-$SPIN package containing this os-release file.
The only reason to have VARIANTs defined here are for divergent configuration defaults, which we've previously asserted is only permissible with WG or FESCo permission, which is less likely for most spins. (I could see some of the more well-maintained spins like KDE possibly making such a request).
I'd say that spins should not set this value unless they have been granted permission by FESCo and at that point we should extend the fedora-release package to produce a fedora-release-$SPIN subpackage for them that handles this. I don't want us handing out permission to generate os-release willy-nilly or it devalues os-release.
On 05/08/2015 05:13 PM, Stephen Gallagher wrote:
For the record, while /etc/os-release is meant to be source-able into a Bourne-compatible shell, it's at the very least frowned upon for it to have any variable substitutions in it. So let's please not do that.
Yes, I second that. Variable substitutions would break all kinds of minimal os-release parsers that are out there.
On Fri, May 08, 2015 at 11:13:19AM -0400, Stephen Gallagher wrote:
and update places which use $PRETTY_NAME to use "$PRETTY NAME ($VARIANT)" instead if appropriate? (Because in some cases the non-specific pretty name might be more appropriate.)
For the record, while /etc/os-release is meant to be source-able into a Bourne-compatible shell, it's at the very least frowned upon for it to have any variable substitutions in it. So let's please not do that.
Oh, sorry — I was using that as shorthand for actually making those substitions for the appropriate value, not for introducing variables into the value themselves. I was going to mention that but forgot. :)
If we chose to do something like this, it should use literal values, not the substitutions (It was unclear if that was what you were saying).
So PRETTY_NAME="Fedora 23 (Server Edition)"
I was asking about that vs
PRETTY_NAME="Fedora 23"
leaving out the () part, but then altering things like /etc/issue to combine that with VARIANT. I dunno, it sounds like a bad idea now. :)
That's a question with more to it than you might think. Based on the way we're creating the os-release file, if a spin wanted to have a different VARIANT and VARIANT_ID, it would need to ship a spin-specific fedora-release-$SPIN package containing this os-release file.
*nod*
The only reason to have VARIANTs defined here are for divergent configuration defaults, which we've previously asserted is only permissible with WG or FESCo permission, which is less likely for most spins. (I could see some of the more well-maintained spins like KDE possibly making such a request).
Right, that's specifically what I'm thinking. But, also, they might find a distinct PRETTY_NAME valuable in its own right.
I'd say that spins should not set this value unless they have been granted permission by FESCo and at that point we should extend the fedora-release package to produce a fedora-release-$SPIN subpackage for them that handles this. I don't want us handing out permission to generate os-release willy-nilly or it devalues os-release.
Makes sense.
On Friday, May 08, 2015 11:13:19 AM Stephen Gallagher wrote:
----- Original Message -----
From: "Matthew Miller" mattdm@fedoraproject.org To: "Stephen Gallagher" sgallagh@redhat.com Cc: "Kalev Lember" kalevlember@gmail.com, rel-eng@lists.fedoraproject.org Sent: Friday, May 8, 2015 10:30:28 AM Subject: Re: [PATCHES] os-release: Populate VARIANT and VARIANT_ID values
On Fri, May 08, 2015 at 09:55:59AM -0400, Stephen Gallagher wrote:
We could easily do this as well, if that was desired, but that should be a separate change. I'd slightly prefer to do that in Rawhide for F23 and not on F22, just on the off-chance that anyone is actually doing anything with PRETTY_NAME, which has been a standard value for a long time.
Agree with in Rawhide. What about:
- change VERSION to just "23",
- PRETTY_NAME to "Fedora $VERSION"
and update places which use $PRETTY_NAME to use "$PRETTY NAME ($VARIANT)" instead if appropriate? (Because in some cases the non-specific pretty name might be more appropriate.)
For the record, while /etc/os-release is meant to be source-able into a Bourne-compatible shell, it's at the very least frowned upon for it to have any variable substitutions in it. So let's please not do that.
That being said, the way we actually create this file is by complete substitution of the file, not by constructing it from component pieces. Each fedora-release-$EDITION package drops a file called os-release-$EDITION into place on the system and then symlinks it to /usr/lib/os-release if no symlink currently exists (which is how we can avoid collisions if someone installs fedora-release-workstation on a Fedora Server; it will just not do anything).
I guess PRETTY_NAME="Fedora $VERSION ($VARIANT)" would also be okay, but I'm imagining there might be some cases where having it separate might be useful. (Maybe not.)
If we chose to do something like this, it should use literal values, not the substitutions (It was unclear if that was what you were saying).
So PRETTY_NAME="Fedora 23 (Server Edition)"
I have implemented this in rawhide. the productised versions will show the edition installed. while non productised versions will have Rawhide, Twenty Three, etc
Also, Stephen, a question — should spins set VARIANT and VARIENT_ID?
That's a question with more to it than you might think. Based on the way we're creating the os-release file, if a spin wanted to have a different VARIANT and VARIANT_ID, it would need to ship a spin-specific fedora-release-$SPIN package containing this os-release file.
I would rather not do so as it would lead to a bunch more fedora-release-foo packages, I think the variants shuold be limited to products and not spins. to me it is part of the differentiation.
The only reason to have VARIANTs defined here are for divergent configuration defaults, which we've previously asserted is only permissible with WG or FESCo permission, which is less likely for most spins. (I could see some of the more well-maintained spins like KDE possibly making such a request).
I'd say that spins should not set this value unless they have been granted permission by FESCo and at that point we should extend the fedora-release package to produce a fedora-release-$SPIN subpackage for them that handles this. I don't want us handing out permission to generate os-release willy-nilly or it devalues os-release. _______________________________________________ rel-eng mailing list rel-eng@lists.fedoraproject.org https://admin.fedoraproject.org/mailman/listinfo/rel-eng
On 05/08/2015 05:29 PM, Dennis Gilmore wrote:
On Friday, May 08, 2015 11:13:19 AM Stephen Gallagher wrote:
So PRETTY_NAME="Fedora 23 (Server Edition)"
I have implemented this in rawhide. the productised versions will show the edition installed. while non productised versions will have Rawhide, Twenty Three, etc
Nice, thanks!
On Tuesday, May 05, 2015 03:38:47 PM Stephen Gallagher wrote:
The systemd upstream project has accepted VARIANT as a cross-distribution feature, but with a minor change[1] from our original approach: they wanted a human-presentable VARIANT and a separate lower-case-only VARIANT_ID value. This patch implements this in Fedora to keep us aligned with systemd upstream[2].
Sorry for the churn on this. Fortunately, we only have one package depending on this at the moment in Fedora, which I can keep updated. I think it makes sense to get this in for Fedora 22 Final so we aren't maintaining different approaches in Fedora 21, 22 *and* 23.
I've got an update to the packaging guidelines prepared[3] as well, which I'll submit to FPC as soon as this is approved by rel-eng.
[1] http://lists.freedesktop.org/archives/systemd-devel/2015-April/031346.html [2] http://cgit.freedesktop.org/systemd/systemd/commit/?id=be7d0048ddda1e994f65 1e2825f96266d537d10d [3] https://fedoraproject.org/w/index.php?title=User%3ASgallagh%2FPer-Product_C onfiguration_Packaging_Draft&diff=411881&oldid=410792
Applied and built, f22 update is at https://admin.fedoraproject.org/updates/fedora-release-22-0.16 there will need to be at least one more update to fedora-release for final. we need to disable updates-testing and do the final steps for GA
Dennis
rel-eng@lists.fedoraproject.org