Overview

Request 812441 accepted

Use openSUSE:Leap:42.3:Update's package

Loading...

Dave Plater's avatar
author source maintainer

See sr#812414 which removes libopenmpt's devel requirement of libmodplug


Dominique Leuenberger's avatar

Somehow I'd also be in favor of the split-out libmodplug from the openmpt source; so essentially it's the same compat library we had all along - without the abi incompatibility reported by @jengelh by stepp;ing back to this version of libmodplug


Dave Plater's avatar
author source maintainer

I've investigated all of the other distros and they use the sourceforge package. Debian has both libmodplug and libopenmpt-modplug. The fact of the matter isn't the abi differences between libmodplug and libopenmpt-modplug but which one the developers used to build their packages with. I think they used the official one not the mpt emulation layer one. If you had read my comments in the prior request you would have seen openmpt's warning about building libopenmpt-modplug as libmodplug.


Dominique Leuenberger's avatar

you mean

WARNING: This will replace your current libmodplug installation. CAUTION: The emulation of the libmodplug interface is not complete as libmodplug exposes lots of internal implementation details. If any of those is used by an application, the emulation via libopenmpt will fail and/or crash.

That's kinda obvious and intentional - it's what our old libopenmpt package did as well already. So in fact we DID replace the legacy libmodplug a long time ago.

Reverting back to that code ofl ibmodplug is just inferior to keep on using the now split-out libopenmpt-modplug. Keeping the libmodplag wrappen on the new openmpt-modplug is just natural evolution from the existing openmpt package


Dominique Leuenberger's avatar

But we have you as the maintainer - so for me it's ok to move (back) to libmodplug

Staging it together with libopenmpt - if they happen to be checked in async we would have duplictae builds of libmodplug1, which can cause even more damage


Dave Plater's avatar
author source maintainer

See sr#812414 that's the libopenmpt without libmodplug. I've slapped together libopenmpt-modplug as well in case somebody need the openmpt version.


Jan Engelhardt's avatar

+3. good approach.


Jan Engelhardt's avatar

Why not https://lib.openmpt.org/libopenmpt/2020/04/14/release-libopenmpt-modplug-0.8.9.0-openmpt1/ ?


Dave Plater's avatar
author source maintainer

That produces libopenmpt_modplug not libmodplug. All the other distributions have libmodplug, I can vaguely remember it in openSUSE as well, was most probably deleted in favor of the one provided by libopenmpt.


Jan Engelhardt's avatar

I have checked the ABIs.

First, libmodplug-0.9.8's libmodplug.so.1 against libopenmpt-0.4.12's libmodplug.so.1:

» abidiff $a/libmodplug.so.1 $b/libmodplug.so.1
[...]
3 Removed function symbols not referenced by debug info:

  _ZN10CSoundFile13InitializeDSPEb
  _ZN10CSoundFile14ProcessMonoDSPEi
  _ZN10CSoundFile16ProcessStereoDSPEi

Well that's a great start :-/ so libopenmpt was binary incompatible all along. But no one noticed, so openmpt has that going for it.

Now, libopenmpt-0.4.12's libmodplug.so.1 against libopenmpt-modplug-0.8.9.0's libopenmpt_modplug.so.1:

» abidiff $b/libmodplug.so.1 $c/libopenmpt_modplug.so.1
ELF SONAME changed
Functions changes summary: 0 Removed, 0 Changed, 0 Added function
Variables changes summary: 0 Removed, 0 Changed, 0 Added variable

SONAME changed from 'libmodplug.so.1' to 'libopenmpt_modplug.so.1'

So no ABI change there. This suggests that if libopenmpt-modplug was built with the right SONAME, we would have the same situation as a few days ago. Sounds like a plan?


Dave Plater's avatar
author source maintainer

I was looking for a quick clean solution I also dislike long names, somebody else is welcome to create libopenmpt_modplug1 and provide libmodplug1 Have a look at the git fork https://github.com/Konstanty/libmodplug, it is a currently active fork of the original libmodplug


Dave Plater's avatar
author source maintainer

The libopenmpt_modplug also has this option: --enable-libmodplug Enable libmodplug replacement library based on libopenmpt. WARNING: This will replace your current libmodplug installation. CAUTION: The emulation of the libmodplug interface is not complete as libmodplug exposes lots of internal implementation details. If any of those is used by an application, the emulation via libopenmpt will fail and/or crash.


Dave Plater's avatar
author source maintainer

I was stupid not to search for libmodplug in openSUSE it's last days were in Leap:42.3:Update using the github version. modplug is very old and it's only use is for converting music that was made in the 90s but it's nice to have it around. It still builds with gcc10


Jan Engelhardt's avatar

Well even for 90s music, one can use openmpt or xmp or something :-)

Request History
Dave Plater's avatar

plater created request

Use openSUSE:Leap:42.3:Update's package


Factory Auto's avatar

factory-auto added opensuse-review-team as a reviewer

Please review sources


Factory Auto's avatar

factory-auto accepted review

Check script succeeded


Dominique Leuenberger's avatar

dimstar_suse added as a reviewer

Being evaluated by staging project "openSUSE:Factory:Staging:adi:104"


Dominique Leuenberger's avatar

dimstar_suse accepted review

Picked "openSUSE:Factory:Staging:adi:104"


Saul Goodman's avatar

licensedigger accepted review

ok


Jan Engelhardt's avatar

jengelh accepted review


Dominique Leuenberger's avatar

dimstar added dimstar_suse as a reviewer

abi incompatible - better go with the openmpt wrapper that was being split out


Dominique Leuenberger's avatar

dimstar_suse accepted review

Works for me - but needs to be staged together with libopenmpt - as both produce the libmodplug1 sub package (with a random one being published in the FTP tree - clearly not what we want)


Dominique Leuenberger's avatar

dimstar_suse accepted review

Unstaged from project "openSUSE:Factory:Staging:adi:104"


Dominique Leuenberger's avatar

dimstar_suse added factory-staging as a reviewer

Being evaluated by group "factory-staging"


Dominique Leuenberger's avatar

dimstar_suse set openSUSE:Factory:Staging:E as a staging project

Being evaluated by staging project "openSUSE:Factory:Staging:E"


Dominique Leuenberger's avatar

dimstar_suse accepted review

Picked "openSUSE:Factory:Staging:E"


Dominique Leuenberger's avatar

dimstar_suse accepted review

Staging Project openSUSE:Factory:Staging:E got accepted.


Dominique Leuenberger's avatar

dimstar_suse approved review

Staging Project openSUSE:Factory:Staging:E got accepted.


Dominique Leuenberger's avatar

dimstar_suse accepted request

Staging Project openSUSE:Factory:Staging:E got accepted.

openSUSE Build Service is sponsored by