Bug 1003692 - eio conflicts with libeio
eio conflicts with libeio
Status: CLOSED ERRATA
Product: Fedora
Classification: Fedora
Component: eio (Show other bugs)
20
Unspecified Unspecified
unspecified Severity unspecified
: ---
: ---
Assigned To: Dan Mashal
Fedora Extras Quality Assurance
:
Depends On: 634908 eio
Blocks:
  Show dependency treegraph
 
Reported: 2013-09-02 14:54 EDT by Michael Schwendt
Modified: 2013-10-09 10:25 EDT (History)
7 users (show)

See Also:
Fixed In Version: eio-1.7.8-2.fc20
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2013-10-05 21:31:59 EDT
Type: Bug
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---


Attachments (Terms of Use)

  None (edit)
Description Michael Schwendt 2013-09-02 14:54:14 EDT
eio  from  eio
    provides libeio.so.1()(64bit)
libeio  from  libeio
    provides libeio.so.1()(64bit)
    required by: eio-devel-1.7.8-1.fc20.x86_64
    required by: emotion-1.7.8-8.fc20.x86_64
    required by: libeio-devel-4.18-3.fc20.x86_64

The conflict had been mentioned in the review request in bug 891244 comment 1 but later on nothing has been done to avoid/resolve the conflict. The original attempt (moving lib and pkgconfig files) has been invalid.
Comment 1 Michael Schwendt 2013-09-02 15:00:01 EDT
In this case, the colliding SONAME Provides are not even only a theoretical problem. The resolver did not choose "eio":

# yum install emotion
...
--> Processing Dependency: libeio.so.1()(64bit) for package: emotion-1.7.8-8.fc20.x86_64
...
---> Package libeio.x86_64 0:4.18-3.fc20 will be installed
...
Dependencies Resolved

================================================================================
 Package          Arch            Version                 Repository       Size
================================================================================
Installing:
 emotion          x86_64          1.7.8-8.fc20            fedora          107 k
Installing for dependencies:
 ecore            x86_64          1.7.8-2.fc20            fedora          357 k
 edje             x86_64          1.7.8-3.fc20            fedora          329 k
 eet              x86_64          1.7.8-2.fc20            fedora           76 k
 eeze             x86_64          1.7.8-2.fc20            fedora           18 k
 embryo           x86_64          1.7.8-3.fc20            fedora           87 k
 evas             x86_64          1.7.8-1.fc20            fedora          1.3 M
 libeina          x86_64          1.7.8-1.fc20            fedora          150 k
 libeio           x86_64          4.18-3.fc20             fedora           22 k
 tslib            x86_64          1.0-7.fc20              fedora           66 k
Comment 2 Dan Mashal 2013-09-05 17:52:03 EDT
Yeah. This sucks.
Comment 3 T.C. Hollingsworth 2013-09-06 20:16:35 EDT
Hi!  I see you requested ACLs on libeio, but it is unclear to me what exactly you plan to do to it to resolve this issue.

BTW, it's generally considered polite to contact the existing maintainers of a package and announce your intentions with regards to it when you wish to join them as a comaintainer.  I usually don't bother responding when the only message I get is from a robot.
Comment 4 Dan Mashal 2013-09-06 23:47:05 EDT
(In reply to T.C. Hollingsworth from comment #3)
> Hi!  I see you requested ACLs on libeio, but it is unclear to me what
> exactly you plan to do to it to resolve this issue.
> 
> BTW, it's generally considered polite to contact the existing maintainers of
> a package and announce your intentions with regards to it when you wish to
> join them as a comaintainer.  I usually don't bother responding when the
> only message I get is from a robot.

Hi TC. Plans are to retire/block this package and update/use libeio instead.

I hope that clears it up?
Comment 5 Dan Mashal 2013-09-06 23:50:03 EDT
Never mind. Let me try the patch mentioned in comment 1..

TC can you confirm that libeio is used for a different purpose?
Comment 6 Michael Schwendt 2013-09-07 04:47:59 EDT
The only reason why I've mentioned bug 891244 comment 1 is that during the review the conflict has been discovered but has not been replied to, and it has been ignored completely later.

Moving the library to some other location won't help, since the SONAME and the automatic Provides/Requires would still conflict. And putting back the lib into run-time linker's search path with a ld.so.conf script would not be a solution either, since that would only be an option for _compatible_ libs in alternative packages where you only need to work around the file conflict, and where _either one_ would satisfy a run-time dependency on the lib name.

What would need to happen?

Try to get either library renamed. Talk to the upstreams.

libeio is: http://software.schmorp.de/pkg/libeio.html
At Fedora, nothing uses it yet. Are there public projects that use it already?
Comment 7 Dan Mashal 2013-09-07 06:51:27 EDT
(In reply to Michael Schwendt from comment #6)
> The only reason why I've mentioned bug 891244 comment 1 is that during the
> review the conflict has been discovered but has not been replied to, and it
> has been ignored completely later.
> 
> Moving the library to some other location won't help, since the SONAME and
> the automatic Provides/Requires would still conflict. And putting back the
> lib into run-time linker's search path with a ld.so.conf script would not be
> a solution either, since that would only be an option for _compatible_ libs
> in alternative packages where you only need to work around the file
> conflict, and where _either one_ would satisfy a run-time dependency on the
> lib name.
> 
> What would need to happen?
> 
> Try to get either library renamed. Talk to the upstreams.
> 
> libeio is: http://software.schmorp.de/pkg/libeio.html
> At Fedora, nothing uses it yet. Are there public projects that use it
> already?

Thanks Michael for being so helpful. E upstream hasn't been very responsive unfortunately. I would like to see TC's reply to see if these 2 are related. We can just use the patch previously mentioned and/or wait for TC's reply.
Comment 8 Michael Schwendt 2013-09-07 07:15:24 EDT
> if these 2 are related.

How do you mean that? They implement similar things but with an entirely different API, a different implementation and a different feature set.

> We can just use the patch previously mentioned

No, we can't. See comment 6, please.
Comment 9 T.C. Hollingsworth 2013-09-07 21:05:30 EDT
(In reply to Dan Mashal from comment #5)
> Never mind. Let me try the patch mentioned in comment 1..
> 
> TC can you confirm that libeio is used for a different purpose?

Yeah, it's a completely different codebase.  That's why I was confused at first.  :-)

(In reply to Michael Schwendt from comment #6)
> What would need to happen?
> 
> Try to get either library renamed. Talk to the upstreams.
> 
> libeio is: http://software.schmorp.de/pkg/libeio.html
> At Fedora, nothing uses it yet. Are there public projects that use it
> already?

Actually, nothing uses it *anymore*.  ;-)

Node.js used to bundle it, and it was packaged during the effort to unbundle all the libraries from node.  But upstream "fixed" their bundling problem by not using this library anymore, so it's no longer needed.  I've kept it alive because some of the old packages I maintained in a third-party repository back before node got into Fedora depended on it, but they haven't been built since F17 so it's high time I just killed it.  I have already sent the requisite missive to devel@lists.fp.o.

If nobody else needs it, retiring it should solve your problem nicely.
Comment 10 Dan Mashal 2013-09-08 00:22:13 EDT
Works for me.
Comment 11 Michael Schwendt 2013-09-09 08:04:43 EDT
Meanwhile, I've received a reply from both upstreams. One eio maintainer has responded in less than a quarter of an hour. That's very fast.

So, at least they are informed about the issue.
Comment 12 Michael Schwendt 2013-09-09 20:15:48 EDT
D'oh! Somebody had pointed out the conflict already many months before when Fedora did not include package "eio" yet and the E17 release mentioned problems, too:

> http://edmann.com/Open-Source/2012/12/21/Enlightenment-17-Final-Release
>
> If you have issues with the yum install let me know. I know there was
> one person that said eio and libeio were causing issues. If you have
> issues please post in the comments and let me know about your setup.
> I am trying to figure out why i cannot replicate this issue.

In the comments:

> libeio conflicts with eio
> 
> March 27th 2013 at 09:03 am
> 
> If you already have libeio package, you cannot install your eio
> package since it provides a file which is already in libeio from
> fedora: file /usr/lib64/libeio.so.1 from install of
> libeio-4.18-1.fc18.x86_64 conflicts with file from package 
> eio-1.7.5-0.enl.fc18.x86_6 

[...]

Also interesting, in Debian there is EIO as libeio1 and libeio-dev (EIO headers and static libraries).

Plans from 2011 about unbundling libeio:
http://debian.2.n7.nabble.com/Packaging-libeio-used-by-nodejs-and-libio-aio-perl-separately-td1849744.html
Comment 13 T.C. Hollingsworth 2013-09-17 12:35:04 EDT
(In reply to Michael Schwendt from comment #11)
> Meanwhile, I've received a reply from both upstreams. One eio maintainer has
> responded in less than a quarter of an hour. That's very fast.
> 
> So, at least they are informed about the issue.

But no plans to do anything?  :-(

(In reply to Michael Schwendt from comment #12)
> Also interesting, in Debian there is EIO as libeio1 and libeio-dev (EIO
> headers and static libraries).
> 
> Plans from 2011 about unbundling libeio:
> http://debian.2.n7.nabble.com/Packaging-libeio-used-by-nodejs-and-libio-aio-
> perl-separately-td1849744.html

Those plans never seem to have come to fruition.  Their "libeio1" is the Enlightenment codebase and there's no evidence of the schmorp.de in their package repository that I can find.

Anyway, since the perl-IO-AIO doesn't seem to care about that package much anymore and unbundling libeio from looks like a lot of effort nobody is interested in (see my mail to devel) it looks like this still will get fixed with the death of libeio.
Comment 14 Dan Mashal 2013-09-18 14:48:21 EDT
(In reply to T.C. Hollingsworth from comment #13)
> (In reply to Michael Schwendt from comment #11)
> > Meanwhile, I've received a reply from both upstreams. One eio maintainer has
> > responded in less than a quarter of an hour. That's very fast.
> > 
> > So, at least they are informed about the issue.
> 
> But no plans to do anything?  :-(
> 
> (In reply to Michael Schwendt from comment #12)
> > Also interesting, in Debian there is EIO as libeio1 and libeio-dev (EIO
> > headers and static libraries).
> > 
> > Plans from 2011 about unbundling libeio:
> > http://debian.2.n7.nabble.com/Packaging-libeio-used-by-nodejs-and-libio-aio-
> > perl-separately-td1849744.html
> 
> Those plans never seem to have come to fruition.  Their "libeio1" is the
> Enlightenment codebase and there's no evidence of the schmorp.de in their
> package repository that I can find.
> 
> Anyway, since the perl-IO-AIO doesn't seem to care about that package much
> anymore and unbundling libeio from looks like a lot of effort nobody is
> interested in (see my mail to devel) it looks like this still will get fixed
> with the death of libeio.

Thanks
Comment 15 T.C. Hollingsworth 2013-09-23 11:06:34 EDT
libeio is now retired.  Release Engineering will need to block libeio in koji, [1] and then these conflicts should vanish in the next compose following that.

[1] https://fedorahosted.org/rel-eng/ticket/5778
Comment 16 Michael Schwendt 2013-09-24 09:21:35 EDT
> Removed package:  libeio-4.18-3.fc20

With the last published build being libeio-4.18-2.fc19, "eio" will still need to do

  Obsoletes: libeio < 4.18-3

to replace/hide the conflicting "libeio" packages in the repos.
Comment 17 Dan Mashal 2013-09-24 09:25:22 EDT
(In reply to Michael Schwendt from comment #16)
> > Removed package:  libeio-4.18-3.fc20
> 
> With the last published build being libeio-4.18-2.fc19, "eio" will still
> need to do
> 
>   Obsoletes: libeio < 4.18-3
> 
> to replace/hide the conflicting "libeio" packages in the repos.

Doing it now. Thanks.
Comment 18 Michael Schwendt 2013-09-24 09:26:58 EDT
Oh, and the same in eio-devel for libeio-devel, of course.
Comment 19 Fedora Update System 2013-09-24 09:57:40 EDT
eio-1.7.8-2.fc19 has been submitted as an update for Fedora 19.
https://admin.fedoraproject.org/updates/eio-1.7.8-2.fc19
Comment 20 Fedora Update System 2013-09-24 09:57:55 EDT
eio-1.7.8-2.fc20 has been submitted as an update for Fedora 20.
https://admin.fedoraproject.org/updates/eio-1.7.8-2.fc20
Comment 21 Fedora Update System 2013-09-24 18:51:44 EDT
Package eio-1.7.8-2.fc20:
* should fix your issue,
* was pushed to the Fedora 20 testing repository,
* should be available at your local mirror within two days.
Update it with:
# su -c 'yum update --enablerepo=updates-testing eio-1.7.8-2.fc20'
as soon as you are able to.
Please go to the following url:
https://admin.fedoraproject.org/updates/FEDORA-2013-17513/eio-1.7.8-2.fc20
then log in and leave karma (feedback).
Comment 22 Fedora Update System 2013-10-05 21:31:59 EDT
eio-1.7.8-2.fc19 has been pushed to the Fedora 19 stable repository.  If problems still persist, please make note of it in this bug report.
Comment 23 Fedora Update System 2013-10-09 10:25:38 EDT
eio-1.7.8-2.fc20 has been pushed to the Fedora 20 stable repository.  If problems still persist, please make note of it in this bug report.

Note You need to log in before you can comment on or make changes to this bug.