New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Propose a "type" property to <release/> tag. #158
Conversation
s/The the/The/
To differentiate from dev or stable releases in particular.
|
Note: in my current proposition, I list 3 possible values for the type property: stable (the default when not setting the property), development and RC. Actually I am thinking that maybe just "stable" and "development" could be enough (RC would just be categorized as a development release, which would be a broader naming for anything which is not "stable"). |
|
I like |
As per bug report discussion.
|
Done. No RC anymore. This was definitely too much. I discovered of 2 more issues about the release tag, but I don't know if I should have them in separate pull requests or can just add commits here: (1) I wanted to add URL to the release news but (2) If we add a description to a release, we need to prepare it enough time before release so that translators can do their job on the And anyway, I don't think this is right to set a future date, nor a past date just to trick the system. This could be quite a problem if we release and forgot to set the So I propose to allow a If you are ok, I propose I also make these 2 changes in the repo. |
|
I was initially a bit skeptical about this, because a metainfo file is supposed to describe one software component - if it contains details of multiple branches of that software, it is harder to know which one we have now, because there will be two versions that are considered "current", one in the development branch and one in the stable branch - and we don't know which one we have if we have a metainfo file describing both. So yeah, this looks good to me - thank you for writing the necessary documentation! I'll not merge this right away, since I am currently traveling much and want to think about this a bit more and ideally implement the feature when merging the spec change, as usual. So, I guess I'll get to this in the beginning of January. @Jehan Point (1) requires a new thread/issue/PR, and for (2) I would actually like much more to see appstream-util be a little less strict instead of messing with the spec. For example, |
This is a valid concern since I wondered myself, especially since I don't think that current appstream spec defines anywhere the version of the currently installed software, does it? But then I also realized that anyway we obviously won't include 2.9.x dev But of course, it would be even better if the appstream data had maybe a
Cool.
About this, setting a date in the future is not always possible. Well it may be for perfectly oiled release process (typically in a company or a big project well organized). Typically in GIMP, we are never sure 100% when the release will be until the moment we actually make it (so we know the date for sure like in the last hours of making it). This is basically a process where most developers are volunteers, and so on. In such a context, I would say that setting no date is more suitable than setting a wrong date. Also it makes sense (like semantically) that a release without a date is simply a release not done yet. I don't see anything bad, there, no? :-) |
|
I've just pushed support for this in appstream-glib too, thanks to both. |
- appstream-util returns a "style-invalid" error: "<ul> cannot start a description [(null)]". So I add a <p> introduction to the 2.9.8 <release> tag. This was part of unit test failure on the appdata file. - I also add a type property for 2.9.8. This is a new property which I proposed and which just got accepted in the appstream specification: ximion/appstream#158 - I add <release> tags for all previous 2.9.x releases. No description for these, just a type property. But feel free to propose patches adding short non-technical description for these. Note: it was originally proposed in the bug report to use the appdata file in place of NEWS (and have this one generated from appdata). But after discussion with appstream project, appdata is expected to be concise, non-technical and more "marketing" than exhaustive. This is quite a different usage than NEWS which is more an exhaustive summary of new features and major changes. So these 2 files will likely remain distinct.
The logics behind this proposition is that in GIMP, we have development release. Someone is proposing us to add tag in our appdata. So far so good.
But he also wants items for the development releases. And that's where I am wondering if that is really relevant information. Well this is definitely relevant for anyone installing such development versions. But for most people, these are releases they will never see (and barely know they exist), and that's normal (distributions are certainly not expected to distribute them). Therefore if such a release listing (is there any software making usage of this tag by the way? GNOME Software 3.26 at least doesn't seem to do anything from it) were to include development versions, this would confuse people.
This is why I am proposing this change so that the tags can be properly categorized.
As a result, any software which is expected to make usage of the release listing should only show stable versions, unless development versions are distributed/installed.