Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 292076 - net-libs/libnice-0.0.9: link level dependencies to net-libs/gssdp, net-libs/gupnp and net-libs/gupnp-igd when built with USE="-upnp"
Summary: net-libs/libnice-0.0.9: link level dependencies to net-libs/gssdp, net-libs/g...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: AMD64 Linux
: High normal (vote)
Assignee: voip herd (OBSOLETE)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-11-06 10:44 UTC by Niko Böckerman
Modified: 2010-09-29 11:48 UTC (History)
0 users

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 Niko Böckerman 2009-11-06 10:44:21 UTC
Emerge --depclean tells that libnice has link level dependencies on gssdp, gupnp and gupnp-igd even when libnice is built with USE="-upnp" if those packages are installed when compiling libnice.

Reproducible: Always

Steps to Reproduce:
1. USE="upnp" emerge libnice
2. USE="-upnp" emerge libnice
3. emerge --depclean -a

Actual Results:  
~ # emerge --depclean -a

...

Calculating dependencies... done!
>>> Checking for lib consumers...
>>> Assigning files to packages...
 * In order to avoid breakage of link level dependencies, one or more
 * packages will not be removed. This can be solved by rebuilding the
 * packages that pulled them in.
 * 
 *   net-libs/gssdp-0.6.4 pulled in by:
 *     net-libs/libnice-0.0.9 needs libgssdp-1.0.so.1
 * 
 *   net-libs/gupnp-0.12.8 pulled in by:
 *     net-libs/libnice-0.0.9 needs libgupnp-1.0.so.2
 * 
 *   net-libs/gupnp-igd-0.1.3 pulled in by:
 *     net-libs/libnice-0.0.9 needs libgupnp-igd-1.0.so.2
 * 
>>> Adding lib providers to graph...


Expected Results:  
emerge --depclean should eb able to remove dependencies installed with use flag upnp.

~ # emerge --info libnice
Portage 2.2_rc48 (default/linux/amd64/10.0/desktop, gcc-4.3.4, glibc-2.9_p20081201-r2, 2.6.30-gentoo-r5 x86_64)
=================================================================
                        System Settings
=================================================================
System uname: Linux-2.6.30-gentoo-r5-x86_64-Intel-R-_Core-TM-2_Quad_CPU_Q9550_@_2.83GHz-with-gentoo-2.0.1
Timestamp of tree: Thu, 05 Nov 2009 22:45:03 +0000
ccache version 2.4 [enabled]
app-shells/bash:     4.0_p28
dev-java/java-config: 2.1.9-r1
dev-lang/python:     2.6.2-r1
dev-python/pycrypto: 2.0.1-r8
dev-util/ccache:     2.4-r7
dev-util/cmake:      2.6.4-r3
sys-apps/baselayout: 2.0.1
sys-apps/openrc:     0.5.2-r1
sys-apps/sandbox:    2.2
sys-devel/autoconf:  2.13, 2.63-r1
sys-devel/automake:  1.9.6-r2, 1.10.2
sys-devel/binutils:  2.18-r3
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6a
virtual/os-headers:  2.6.27-r2
ACCEPT_KEYWORDS="amd64"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/udev/rules.d"
CXXFLAGS="-march=core2 -O2 -pipe"
DISTDIR="/var/portage/distfiles"
FEATURES="assume-digests ccache distlocks fixpackages news parallel-fetch paraller-fetch preserve-libs protect-owned sandbox sfperms strict unmerge-logs unmerge-orphans userfetch userpriv usersandbox"
GENTOO_MIRRORS="ftp://trumpetti.atm.tut.fi/gentoo/ http://mirror.mdfnet.se/mirror/gentoo http://trumpetti.atm.tut.fi/gentoo/"
LANG="en_GB.UTF8@euro"
LDFLAGS="-Wl,-O1"
LINGUAS="en en_GB"
MAKEOPTS="-j5"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage/layman/sunrise /usr/local/portage/layman/flameeyes-overlay /usr/local/portage/layman/java-overlay /usr/local/portage/my_overlay"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 avahi bash-completion berkdb bluetooth branding bzip2 cairo cdr cjk cli consolekit cracklib crypt cups dbus dri dts dvd dvdr eds emboss encode evo fam ffmpeg firefox flac fortran ftp gdbm gif gnome gpm gstreamer gtk hal htmlhandbook iconv ipv6 jack java jpeg ldap libnotify logitech-mouse mad mikmod mmx modules mono mp3 mp4 mpeg mudflap multilib nautilus ncurses nls nntp nptl nptlonly nsplugin ogg opengl openmp pam pcre pdf perl png ppds pppd pulseaudio python qt3support quicktime readline reflection samba sdl session smp spell spl sse sse2 ssl ssse3 startup-notification svg sysfs tcpd threads thunar tiff truetype unicode usb vim-syntax vorbis x264 xcomposite xml xorg xscreensaver xulrunner xv xvid zlib" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev joystick" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LINGUAS="en en_GB" USERLAND="GNU" VIDEO_CARDS="fglrx" 
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LC_ALL, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

=================================================================
                        Package Settings
=================================================================

net-libs/libnice-0.0.9 was built with the following:
USE="gstreamer (multilib) -upnp"
Comment 1 Niko Böckerman 2009-11-06 10:47:44 UTC
This patch to the ebuild solves the problem. Adding $( use_enable upnp gupnp) to econf.

diff -u /usr/portage/net-libs/libnice/libnice-0.0.9.ebuild libnice-0.0.9.ebuild 
--- /usr/portage/net-libs/libnice/libnice-0.0.9.ebuild	2009-10-24 21:36:24.000000000 +0300
+++ libnice-0.0.9.ebuild	2009-11-06 12:26:40.000000000 +0200
@@ -22,7 +22,9 @@
 	dev-util/pkgconfig"
 
 src_configure() {
-	econf $(use_with gstreamer)
+	econf \
+		$(use_with gstreamer) \
+		$(use_enable upnp gupnp)
 }
 
 src_install() {
Comment 2 Niko Böckerman 2009-11-06 11:04:55 UTC
I think that libnice should also depend on gssdp and gupnp with use flag upnp because it uses libraries from those. Currently it only depends on gupnp-igd which depends on gssdp and gupnp and so those get installed to the system. But I don't know how this kind of things are usually handled.
Comment 3 Diego Elio Pettenò (RETIRED) gentoo-dev 2009-11-07 13:10:39 UTC
Since you're not using --as-needed, the fact that it links to all three of them is due to libtool's crazy-ass linking system, so the dependency is correct; the econf is definitely not.
Comment 4 Pacho Ramos gentoo-dev 2010-09-29 11:48:24 UTC
+*libnice-0.0.13 (29 Sep 2010)
+
+  29 Sep 2010; Pacho Ramos <pacho@gentoo.org> +libnice-0.0.13.ebuild:
+  Version bump with bugfixes and pass proper configure upnp option (bug
+  #292076 by Niko Böckerman).
+