ftpadmin will break again for GNOME 40.0 stable release
So !11 (merged) and !13 (merged) get us much of the way to being able to handle GNOME 40 versioning scheme, but I forgot to test whether a stable release like 40.0 would work properly. Sadly, it's still broken. Worse, it will not fail; instead, it will install tarballs improperly. Look:
$ ftpadmin install epiphany-40.0.tar.xz
Gathering information and sorting on version: ., done
Preparing installation of epiphany-40.0.tar.xz:
- Checking consistency: .............., done
- Checking previous tarball: .............., done
- NEWS, ignored (no change)
- Copying tar.xz, done
- Creating sha256sum, done
Module: epiphany
Version: 40.0 (previous version: 40.alpha)
Destination: /ftp/pub/GNOME/sources/epiphany/40.0/
Install epiphany? [Y/n]
Notice the installation destination: /ftp/pub/GNOME/sources/epiphany/40.0/. But it should be /epiphany/40/, not /epiphany/40.0! It's treating 40.0 as its own minor release series. Lots of stuff will break (including tarball-conversion).
But we still need to support traditional versioning as well.
I was at first thinking that we need to change the code such that major.minor gets used as the branch version when there are three or more components to the version number, and use only the major component otherwise. But that will fail pretty badly as soon as a maintainer releases a 40.0.1 brown paper bag release. I actually don't know what we can do about this. I guess we need some sort of terrible hack like "if version number is greater than 40 use major version, otherwise use major.minor" because I can't think of anything else to try.
Oh, and because installation does not fail, it's essential that we not forget to fix this before maintainers release 40.0 tarballs. Help? :P