See the tracker bug. if [[ ${REPLACING_VERSIONS%-r*} == ${PV} || -z ${REPLACING_VERSIONS} ]] && ... Doesn't account for >1 value in RV.
commit fe65dbd02d9a1131340e7c5aff86b3f53030d0d4 Author: Ian Stakenvicius <axs@gentoo.org> Date: Mon Jul 25 12:15:27 2016 -0400 sys-fs/eudev: ensure REPLACING_VERSIONS is processed as a list REPLACING_VERSIONS is used in eudev ebuilds during pkg_postinst to determine when udevadm control --reload should be called: - when it is a new installation of udev - when it is a re-emerge of the same version (or a revision-only upgrade) REPLACING_VERSIONS *should* only ever have zero or one values, but it is theoretically possible for it to have more than that if, for instance, a previous upgrade failed to complete during qmerge. If this is the case, and only one of the multiple versions match the version of the ebuild, then we also abort as we don't know which one is the "good" one. Also removed duplicate code that reloads the hwdb (looks like it was a copy-paste from sys-fs/udev) Bug: http://bugs.gentoo.org/589530