Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 536930 - dev-libs/libevent should set a sub-SLOT
Summary: dev-libs/libevent should set a sub-SLOT
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Library (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Jeroen Roovers (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-01-18 01:37 UTC by Mike Gilbert
Modified: 2015-10-12 01:50 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Mike Gilbert gentoo-dev 2015-01-18 01:37:41 UTC
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)
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2015-02-05 10:45:38 UTC
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?
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2015-02-05 10:47:25 UTC
I.e.:

-SLOT="0"
+SLOT="0/$(get_version_component_range 1-2)"
Comment 3 Mike Gilbert gentoo-dev 2015-02-05 16:09:09 UTC
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".
Comment 4 Jeroen Roovers (RETIRED) gentoo-dev 2015-02-05 19:12:11 UTC
(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.
Comment 5 Mike Gilbert gentoo-dev 2015-10-04 15:43:21 UTC
Ping. Any idea how you want to proceed here?
Comment 6 Jeroen Roovers (RETIRED) gentoo-dev 2015-10-04 17:56:56 UTC
I think your suggestions from comment #3 are fine.
Comment 7 Mike Gilbert gentoo-dev 2015-10-09 11:39:08 UTC
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(-)
Comment 8 Jeroen Roovers (RETIRED) gentoo-dev 2015-10-11 04:49:35 UTC
You didn't commit that, it seems.
Comment 9 Mike Gilbert gentoo-dev 2015-10-12 01:35:39 UTC
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?
Comment 10 Mike Gilbert gentoo-dev 2015-10-12 01:50:06 UTC
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(-)