Bug 191989 - app-editors/gedit has automagic dependency on libattr (sys-apps/attr)
Bug#: 191989 Product:  Gentoo Linux Version: unspecified Platform: All
OS/Version: Linux Status: RESOLVED Severity: normal Priority: P2
Resolution: FIXED Assigned To: gnome@gentoo.org Reported By: dsd@gentoo.org
Component: Ebuilds
URL: 
Summary: app-editors/gedit has automagic dependency on libattr (sys-apps/attr)
Keywords:  
Status Whiteboard: 
Opened: 2007-09-10 15:19 0000
Description:   Opened: 2007-09-10 15:19 0000
I tweaked USE flags a bit, did all world updates (with --newuse) then depclean,
and sys-apps/attr was removed. Then gedit stopped working:

gedit: error while loading shared libraries: libattr.so.1: cannot open shared
object file: No such file or directory

From gedit's configure.ac:
AC_CHECK_LIB(attr, attr_copy_fd)

I suggest this is either made an unconditional dependency (based on which
functionality it provides) or is conditional via a USE flag.

------- Comment #1 From Gilles Dartiguelongue 2007-09-10 15:41:52 0000 -------
same problem that bug #191426

------- Comment #2 From Daniel Drake 2007-09-10 16:12:41 0000 -------
No it's not. gedit correctly looks for the dynamic libattr which was on my
system.  It's not any more, libattr is *completely* gone.

The issue is with the ebuild dependency graph not being consistent with the
dependencies of gedit itself when installed on a system with libattr present.

------- Comment #3 From Gilles Dartiguelongue 2007-09-12 23:05:34 0000 -------
I turned attr into unconditional dependency because upstream doesn't provide a
switch for this. It's probably not the best thing to do but I'll look for a
cleaner solution and bug upstream when I get enough time for that.

fix is in CVS, thanks for reporting and sorry for the initial answer's
confusion.

------- Comment #4 From Doug Goldstein 2007-09-13 14:55:08 0000 -------
Unnecessary depend... and I hate unnecessary depends on my system.

The problem is dsd had sys-apps/attr on his system when he emerged attr. Now he
got rid of it and gedit is upset.

The exact "functionality" this depend provides is minimal at best. When you
open file "test.file" and save your changes as "zomg.new.file", it will copy
the attributes from the old file to the new file.

The established USE flag for this is called "acl" and should be used. Look at
sys-apps/coreutils for an example.

Attaching a patch for gedit, please kick it upstream as well.

------- Comment #5 From Doug Goldstein 2007-09-13 14:55:42 0000 -------
Created an attachment (id=130833) [details]
gedit-libattr-shadow-depend-remove

------- Comment #6 From Daniel Gryniewicz 2007-09-13 16:21:14 0000 -------
applied, thanks.

------- Comment #7 From Mart Raudsepp 2007-11-28 04:24:04 0000 -------
<solar> FYI.. stable gedit with USE="-xattr" if libattr.so is installed will
still link with it.

Paste showing the problem:

miranda:hardened  ~ # emerge -pvq gedit
[ebuild   R   ] app-editors/gedit-2.20.3  USE="spell -debug -doc -python
-xattr" 
miranda:hardened  ~ # qlist -oe gedit | scanelf -f - -n -q | grep libattr.so|
wc -l
11
miranda:hardened  ~ # emerge -Cq attr ; emerge gedit -q

------- Comment #8 From Jeroen Roovers 2007-11-29 17:52:50 0000 -------
Created an attachment (id=137326) [details]
app-editors:gedit-2.20.3:20071129-170920.log

The gedit-2.20.3.ebuild reintroduced the problem, probably because the patch
isn't applied in that ebuild and upstream hasn't done anything yet either.

------- Comment #9 From Jeroen Roovers 2007-11-29 17:57:18 0000 -------
The same patch does apply to 2.20.3 so maybe the ebuild needs a simple update.

------- Comment #10 From Jeroen Roovers 2007-11-29 18:15:33 0000 -------
(In reply to comment #9)
> The same patch does apply to 2.20.3 so maybe the ebuild needs a simple update.
> 

Fixed in CVS.

------- Comment #11 From Jeroen Roovers 2007-11-29 18:36:43 0000 -------
(In reply to comment #10)
> (In reply to comment #9)
> > The same patch does apply to 2.20.3 so maybe the ebuild needs a simple update.
> > 
> 
> Fixed in CVS.

Damn, it's not fixed at all. Reverting.

------- Comment #12 From Jeroen Roovers 2007-11-29 18:50:58 0000 -------
This seems to do it:

--- configure.ac.       2007-10-18 11:12:44.000000000 +0200
+++ configure.ac        2007-11-29 19:41:10.000000000 +0100
@@ -139,8 +139,6 @@
 dnl libattr checks
 dnl ================================================================

-AC_CHECK_LIB(attr, attr_copy_fd)
-
 AC_MSG_CHECKING([whether libattr support is requested])
 AC_ARG_ENABLE([attr],
        AS_HELP_STRING([--enable-attr],[Enable libattr support]),

------- Comment #13 From Jeroen Roovers 2007-11-29 19:23:45 0000 -------
Fixed in CVS.

------- Comment #14 From Jeroen Roovers 2007-11-29 19:34:18 0000 -------
http://svn.gnome.org/viewvc/gedit/branches/gnome-2-20/configure.ac?r1=5919&r2=5929

It seems the fix was never correctly applied in the first place: the original
library check at line 142 was never replaced.

------- Comment #15 From Arun Raghavan 2008-05-20 06:54:46 0000 -------
(In reply to comment #14)
> http://svn.gnome.org/viewvc/gedit/branches/gnome-2-20/configure.ac?r1=5919&r2=5929
> 
> It seems the fix was never correctly applied in the first place: the original
> library check at line 142 was never replaced.

It still not fixed (as of 2.23.1). Is there an upstream bug for this?

------- Comment #16 From Arun Raghavan 2008-05-20 06:56:54 0000 -------
(In reply to comment #15)
> It still not fixed (as of 2.23.1). Is there an upstream bug for this?

Just to clarify, I mean this hasn't been fixed upstream.

------- Comment #17 From Arun Raghavan 2008-06-13 21:06:12 0000 -------
This seems to have magically been fixed in 2.22.3. and trunk
(http://svn.gnome.org/viewvc/gedit/trunk/configure.ac?view=markup).

Good to close.

------- Comment #18 From Gilles Dartiguelongue 2008-08-03 19:06:31 0000 -------
indeed, it is in 2.22.3, closing.