The soname(s) changed in libevent-2.1.5. !!! existing preserved libs: >>> package: dev-libs/libevent-2.1.5 * - /usr/lib/libevent-2.0.so.5 * - /usr/lib/libevent-2.0.so.5.1.9 * used by /usr/lib/libunbound.so.2.3.3 (net-dns/unbound-1.5.1-r1) * - /usr/lib64/libevent-2.0.so.5 * - /usr/lib64/libevent-2.0.so.5.1.9 * used by /usr/bin/tmux (app-misc/tmux-1.9a) * used by /usr/bin/transmission-cli (net-p2p/transmission-2.84) * used by /usr/bin/transmission-create (net-p2p/transmission-2.84) * used by 14 other files * - /usr/lib64/libevent_core-2.0.so.5 * - /usr/lib64/libevent_core-2.0.so.5.1.9 * used by /usr/bin/sntp (net-misc/ntp-4.2.8-r2) * - /usr/lib64/libevent_pthreads-2.0.so.5 * - /usr/lib64/libevent_pthreads-2.0.so.5.1.9 * used by /usr/bin/sntp (net-misc/ntp-4.2.8-r2)
OK, how do I do this? Should I do revbumps for all, and would that include -9999, or do I just add those to each current ebuild?
I.e.: -SLOT="0" +SLOT="0/$(get_version_component_range 1-2)"
Yes, I would revbump to ensure that the new SLOT value gets stored in /var/db/pkg. I don't think package managers look at SLOT in the live portage tree when calculating slot-operator rebuilds. If you want to confirm that, ask the portage folks. From Makefile.am: # To increment a VERSION_INFO (current:revision:age): # If the ABI didn't change: # Return (current:revision+1:age) # If the ABI changed, but it's backward-compatible: # Return (current+1:0:age+1) # If the ABI changed and it isn't backward-compatible: # Return (current+1:0:0) # History: RELEASE VERSION_INFO # 2.0.1-alpha -- 2.0 1:0:0 # 2.0.2-alpha -- 2:0:0 # 2.0.3-alpha -- 2:0:0 (should have incremented; didn't.) # 2.0.4-alpha -- 3:0:0 # 2.0.5-beta -- 4:0:0 # 2.0.6-rc -- 2.0 2:0:0 # 2.0.7-rc -- 2.0 3:0:1 # 2.0.8-rc -- 2.0 4:0:2 # 2.0.9-rc -- 2.0 5:0:0 (ABI changed slightly) # 2.0.10-stable-- 2.0 5:1:0 (No ABI change) # 2.0.11-stable-- 2.0 6:0:1 (ABI changed, backward-compatible) # 2.0.12-stable-- 2.0 6:1:1 (No ABI change) # 2.0.13-stable-- 2.0 6:2:1 (No ABI change) # 2.0.14-stable-- 2.0 6:3:1 (No ABI change) # 2.0.15-stable-- 2.0 6:3:1 (Forgot to update :( ) # 2.0.16-stable-- 2.0 6:4:1 (No ABI change) # 2.0.17-stable-- 2.0 6:5:1 (No ABI change) # 2.0.18-stable-- 2.0 6:6:1 (No ABI change) # 2.0.19-stable-- 2.0 6:7:1 (No ABI change) # 2.0.20-stable-- 2.0 6:8:1 (No ABI change) # 2.0.21-stable-- 2.0 6:9:1 (No ABI change) # # For Libevent 2.1: # 2.1.1-alpha -- 2.1 1:0:0 # 2.1.2-alpha -- 2.1 1:0:0 (should have been 2:0:1) # 2.1.3-alpha -- 2.1 3:0:0 (ABI changed slightly) # 2.1.4-alpha -- 2.1 4:0:0 (ABI changed slightly) # 2.1.5-beta -- 2.1 5:0:0 (ABI changed slightly) It seems that each 2.1 release thus far has resulted in a soname change. A similar pattern took place early in the 2.0 cycle. I would use something like the following for the SLOT, using the hyphen differentiate between the library version and the soname version. libevent-2.0.22: SLOT="0/2.0-5" libevent-2.1.5: SLOT="0/2.1-5" If the soname changes in a future version (resulting in libevent-2.1.so.6), change it to SLOT="0/2.1-6".
(In reply to Mike Gilbert from comment #3) > It seems that each 2.1 release thus far has resulted in a soname change. A > similar pattern took place early in the 2.0 cycle. Well they would since 2.1 has only just reached the beta stage, meaning the API and ABI were being changed all over the place.
Ping. Any idea how you want to proceed here?
I think your suggestions from comment #3 are fine.
commit fee96559be9f148f3137503588999a15d68b1dbd Author: Mike Gilbert <floppym@gentoo.org> Date: Fri Oct 9 07:38:23 2015 -0400 dev-libs/libevent: Define a sub-slot Bug: https://bugs.gentoo.org/536930 Package-Manager: portage-2.2.22_p20 ...ent-2.0.22.ebuild => libevent-2.0.22-r1.ebuild} | 3 +- ...nt-2.1.5-r1.ebuild => libevent-2.1.5-r2.ebuild} | 3 +- dev-libs/libevent/libevent-2.1.5.ebuild | 63 ---------------------- 3 files changed, 4 insertions(+), 65 deletions(-)
You didn't commit that, it seems.
Yes, I forgot to push it. I see you added some sub-slots of your own; however, they bear no resemblance to the suggestion I made in comment 3. Do you mind if I correct this?
Sorry for not waiting, but this really makes a lot more sense. https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bf51b4901619fa77575e249b1e310bd77e638338 commit bf51b4901619fa77575e249b1e310bd77e638338 Author: Mike Gilbert <floppym@gentoo.org> Date: Sun Oct 11 21:45:57 2015 -0400 dev-libs/libevent: Set a more useful subslot The subslot should be based on SONAME, rather than the version digits that appear after ".so." Bug: https://bugs.gentoo.org/536930 Package-Manager: portage-2.2.22_p20 .../libevent/{libevent-2.0.22-r1.ebuild => libevent-2.0.22-r2.ebuild} | 3 ++- .../libevent/{libevent-2.1.5-r2.ebuild => libevent-2.1.5-r3.ebuild} | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-)