On Thu, 29 Jan 2015 at 17:06:43, Georg Altmann wrote: > [...] > On 29.01.2015 14:22, Bardur Arantsson wrote: > > If the problem here is that it would be a chore to do this for > > maintainers for every X.Y -> X.(Y+1) upgrade, then maybe Arch > > package descriptions could grow a field or flag to handle such > > things semi-automatically? Maybe something as simple as "if the > > version number is about to change in *this way*, then warn loudly > > using *this message*". > > Wouldn't that be a sensible way? The increased overhead for the > maintainer would be to tick a flag in addition to the version bump. > In the case of postgresql this would be a as simple as > > if (oldMajor < newMajor || > ((oldMajor == newMajor) && (oldMinor < newMinor)) { > printUpgradeWarning(); > } > > Of course the condition would have to be serialized in the package > meta-data some way. I have only very limited knowledge on the pacman > internals. Maybe someone can come up with an estimate how big the > effort would be to implement this. > [...] It isn't that easy. You cannot simply tick a flag, you need to maintain a variable that keeps track of the last version that caused a warning. Otherwise, there's no way to warn a user who upgrades straight from 1.0.0 to 2.1.0 when there were intermediate releases 1.1.0 and 2.0.0 and some change between 1.1.0 and 2.0.0 that is worth a warning. And as a matter of fact, that is what we already do in a lot of packages. You can have a look at the install scriptlets of btrfs-progs, cups, dhcp, dmraid, dovecot, ebtables, intel-ucode, linux, lirc, lvm2, mariadb, nginx, openvpn, systemd, varnish, just to get an idea of what it looks like. As I mentioned before, adding a similar check to PostgreSQL might be a good idea but I, as a non-PostgreSQL user, cannot judge whether that works and is worthwhile.