https://bugzilla.redhat.com/show_bug.cgi?id=2137159
--- Comment #5 from Nils Philippsen nphilipp@redhat.com --- (In reply to Mads Kiilerich from comment #3)
(In reply to Nils Philippsen from comment #1)
NB^2: The reason for having a separate package for this new version is so people can choose which version of Ardour to use for existing and new projects.
As mentioned in https://src.fedoraproject.org/rpms/ardour6/pull-request/5 (currently offline):
I think that putting the first part for the version number in the package name is a bad idea. The package name should just be "ardour".
I think I remember we talked about this before, yeah. The naming is done this way according to the guidelines for the reasons I’ll go into below: https://docs.fedoraproject.org/en-US/packaging-guidelines/Naming/#multiple
- Ardour doesn't use semantic versioning. The step from 6.9 to 7.0 is not
necessarily bigger than the step from 7.0 to 7.1 . Allowing side-by-side installation only when the first number changes will in general miss the point and just "work" randomly.
Not using semantic versioning doesn’t preclude incompatible breaks between one major version and the next though…
- That is not how we do in Fedora. Unless there are very good reasons, we
package the latest and greatest version of end user software. We do for example not have two versions of for example OpenOffice, Firefox, GIMP, or Inkscape. It is unclear why this particular package needs it, and what problem this is solving.
…which is precisely what happened from version 2 to 3 and why we agreed on this scheme in a discussion on the (now largely defunct) fedora-music mailing list (i.e. this is why we did it that way in Fedora): Version 3 changed some internals in a way that it couldn’t fully interpret version 2 projects. So while version 3 would attempt to upgrade version 2 projects, any project utilizing the affected functionality would be converted effectively incurring data loss. Aside from the glitch Guido mentioned, another (minor) reason was significant changes in the UI which I believe was a hangup for some users going from version 3 to 4.
Anyway, the scheme was put in place so we would be free in the future to introduce new major versions with potentially breaking changes (functionality- or UI-wise) and give people a transition period in which they can adapt their workflows.
For reference, here's the discussion on the mailing list: https://lists.fedoraproject.org/pipermail/music/2015-May/002005.html
- Ardour 7 can read (and upgrade) Ardour 6 projects. There is no particular
good reason these two versions should be installed side-by-side. Supporting evidence: Upstream no longer makes Ardour 6 (easily) available for download.
This is all good in hindsight, but as I understand it, there are no guarantees that this will be the case for future major versions.
- Having the version number in the package does that a trivial update to a
new major version requires a new package review, for no good reason. That can potentially delay upgrades and put extra load on the review process.
Having to review a new major version as a package is obviously the downside of this scheme, but in my opinion it’s a relatively small price to pay (and nets us spec files with less accumulated cruft as a side effect).
- Having two versions side by side raise tricky upgrade questions. The
general user experience should of course be that Ardour automatically gets upgraded to Ardour 7 ... or at least that it is installed automatically so it is available for launch, next to Ardour 6. This spec doesn't handle that at all.
I’m open to improving things in that area. For instance, once things with version 7 have settled a little without breakage (say with 7.1 or 7.2), we can let it obsolete the ardour6 package. Making it install itself automatically side-by-side could be done as well, it's just a little bit more involved: we’d need a new ardour6 package and both it and ardour7 would obsolete the old ardour6 version-release (plus, ardour6 should then probably get a modified app icon so people can distinguish them in the list of apps).