Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 78424 - azureus-bin-2.2.0.2.ebuild could employ use flags to avoid revdep-rebuild errors
Summary: azureus-bin-2.2.0.2.ebuild could employ use flags to avoid revdep-rebuild errors
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High normal (vote)
Assignee: Petteri Räty (RETIRED)
URL:
Whiteboard:
Keywords:
: 64446 92315 140413 (view as bug list)
Depends on: 113389
Blocks:
  Show dependency tree
 
Reported: 2005-01-17 14:11 UTC by Philip Kovacs
Modified: 2007-02-10 21:36 UTC (History)
5 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 Philip Kovacs 2005-01-17 14:11:06 UTC
azureus-bin-2.2.0.2.ebuild installs the following shared libs in /usr/lib:

libswt-atk-gtk-3106.so
libswt-awt-gtk-3106.so
libswt-gtk-3106.so
libswt-mozilla-gtk-3106.so
libswt-pi-gtk-3106.so
libswt-gnome-gtk-3106.so
libswt-kde-gtk-3106.so

These libs will produce revdep-rebuild -pv "dynamic linking consistency" errors depending on the system configuration.  In my case, I do not have gnome or kde installed (GTK w/XFCE4 here) and revdep-rebuild -pv yields:

---revdev-rebuild -pv ---------------------------------------------
Collecting system binaries and libraries... done.
  (/root/.revdep-rebuild.1_files)

Collecting complete LD_LIBRARY_PATH... done.
  (/root/.revdep-rebuild.2_ldpath)

Checking dynamic linking consistency...
  broken /usr/lib/libswt-gnome-gtk-3106.so (requires libgnomeui-2.so.0 libbonoboui-2.so.0 libgnomecanvas-2.so.0 libgnome-2.so.0 libbonobo-2.so.0 libgconf-2.so.4 libgnomevfs-2.so.0 libbonobo-activation.so.4 libORBit-2.so.0 liblinc.so.1)
  broken /usr/lib/libswt-kde-gtk-3106.so (requires libkdecore.so.4 libqt-mt.so.3 libkparts.so.2)
 done.
  (/root/.revdep-rebuild.3_rebuild)

Assigning files to ebuilds... done.
  (/root/.revdep-rebuild.4_ebuilds)

Evaluating package order... done.
  (/root/.revdep-rebuild.5_order)

Dynamic linking on your system is consistent... All done. 
---end-------------------------------------------------------

These errors could be prevented by not installing (or deleting after the installation) those libraries that are unneeded.  An extra USE flag "gnome"
would be helpful.   Again, in my case, USE flags -gnome -kde would cause deletion of libs: libswt-gnome-gtk-3106.so and libswt-kde-gtk-3106.so and thereby make revdep-rebuild -pv come up clean.

Reproducible: Always
Steps to Reproduce:
1.(example)install azureus-bin on gtk+ system without kde and revdep-revuild -pv
2.(example)install azureus-bin on kde system without gtk+ and revdep-revuild -pv
3. etc.

Actual Results:  
revdep-rebuild -pv yields "Checking dynamic linking consistency..." errors on
unused and unneeded libs installed by azureus-bin

Expected Results:  
not install or delete unneeded libs during the installation based on USE flags.
 Some new USE flags would be helpful, e.g. gnome.

Portage 2.0.51-r3 (default-linux/x86/2004.3, gcc-3.3.5, glibc-2.3.4.20040808-r1,
2.6.10-gentoo-r5 i686)
=================================================================
System uname: 2.6.10-gentoo-r5 i686 Intel(R) Pentium(R) 4 CPU 2.40GHz
Gentoo Base System version 1.4.16
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.92.0.2-r1
Headers:  sys-kernel/linux26-headers-2.6.8.1-r2
Libtools: sys-devel/libtool-1.5.2-r7
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium4 -O2 -fomit-frame-pointer -pipe"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3/share/config /usr/share/config /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=pentium4 -O2 -fomit-frame-pointer -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms"
GENTOO_MIRRORS="http://mirror.datapipe.net/gentoo ftp://gentoo.mirrors.pair.com
http://gentoo.ccccom.com"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="x86 X aalib alsa avi bitmap-fonts cdr cups divx4linux dvd dvdr encode gpm
gtk gtk2 imlib jpeg mad mikmod mmx mpeg ncurses nls nptl oggvorbis opengl oss
png python readline sdl slang sse sse2 ssl tcpd truetype xml2 xprint xv xvid zlib"
Comment 1 Aurélien Francillon 2005-01-27 15:35:47 UTC
duplicate of bug #64446 ?
Comment 2 Philip Kovacs 2005-01-27 15:47:41 UTC
yes, but my bug report more accurately describes the problem and possible solution.
Comment 3 Martin Holzer (RETIRED) gentoo-dev 2005-06-12 06:24:54 UTC
*** Bug 64446 has been marked as a duplicate of this bug. ***
Comment 4 Martin Holzer (RETIRED) gentoo-dev 2005-06-12 06:25:44 UTC
*** Bug 92315 has been marked as a duplicate of this bug. ***
Comment 5 Philip Kovacs 2005-06-12 08:44:52 UTC
How about something like this (i'm looking at azureus-bin-2.3.0.2.ebuild now):

src_unpack() {
    ...
    # remove libraries for which no support is indicated and which will 
    # produce revdep-rebuild errors if present on systems without these 
    # desktop environments installed
    if ! use kde; then
        rm ${MY_PN}/azureus/libswt-kde-gtk-3106.so
    fi
    if ! use gnome; then
        rm ${MY_PN}/azureus/libswt-gnome-gtk-3106.so
    fi
    ...
}
        
there's also the azureus/libswt-mozilla-gtk-3106.so lib which i think requires
a Mozilla browser to be installed.  i'll leave it to other to suggest a USE flag
 check for that one.
Comment 6 Marcin Kryczek (RETIRED) gentoo-dev 2005-10-08 02:44:20 UTC
sejo is back now and i think he is the best person to decide about it. 
reassigning
Comment 7 Petteri Räty (RETIRED) gentoo-dev 2005-10-08 04:15:58 UTC
I think this is the way to go and am willing to do the change if net-p2p gives
me the permission.
Comment 8 Philip Kovacs 2005-10-08 11:31:34 UTC
This was my original bug report and, since so much time has passed, some
alternatives have arisen that you may wish to consider first.  In the latest
(still masked 0.2.1_pre8) gentoolkit, they modified revdep-rebuild to include
several new portage (/etc/make.conf) variables, one of which is:

SEARCH_DIRS_MASK="< a list of directory paths for revdep-rebuild to ignore >"

This was due to complaints, in general, about how revdep-rebuild presents errors
on many different binary packages, e.g. open office, sun jdk and, yes, azureus-bin.

I am now using the SEARCH_DIRS_MASK method to have revdep-rebuild ignore my
binary stuff.  It works well and you may consider simply printing some einfo's
at the end of the az-bin installation advising the user to add, e.g.
/use/lib/azureus to the SEARCH_DIR_MASK path in /etc/make.conf.
 
Something to think consider.

Phil
Comment 9 Paul Varner (RETIRED) gentoo-dev 2005-11-03 13:14:38 UTC
gentoolkit-0.2.1_pre9 supports the ability to have a file placed into
/etc/revdep-rebuild to adjust revdep-rebuilds environment. For example, adding
the file /etc/revdep-rebuild/10azureus-bin which contains the line
SEARCH_DIRS_MASK="/usr/lib/azureus" will cause revdep-rebuild to ignore that
directory when looking for broken dynamic linking.  The intent for this
directory is for package maintainers to have a place to adjust the behavior of
revdep-rebuild.
Comment 10 Petteri Räty (RETIRED) gentoo-dev 2005-11-26 09:44:18 UTC
This will be solved with the from sources version (dev-java/azureus) because it
does not install any native code.
Comment 11 Jakub Moc (RETIRED) gentoo-dev 2006-07-14 14:27:04 UTC
*** Bug 140413 has been marked as a duplicate of this bug. ***
Comment 12 Petteri Räty (RETIRED) gentoo-dev 2007-02-10 21:36:47 UTC
(In reply to comment #10)
> This will be solved with the from sources version (dev-java/azureus) because it
> does not install any native code.

azureus-bin removed from the tree so the revdep-rebuild errors are gone from the azureus part.