Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 285040 - packages dev-libs/openobex-1.5 sys-fs/obexfs-0.11 app-pda/libsyncml-0.4.6-r1 does not respect USE="-bluetooth"
Summary: packages dev-libs/openobex-1.5 sys-fs/obexfs-0.11 app-pda/libsyncml-0.4.6-r1 ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Piotr Jaroszyński (RETIRED)
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2009-09-15 02:39 UTC by Nikoli
Modified: 2009-11-15 21:16 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
log (emerge.log,11.86 KB, text/plain)
2009-09-17 05:54 UTC, Nikoli
Details
emerge --info (info,3.88 KB, text/plain)
2009-09-17 06:45 UTC, Nikoli
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Nikoli 2009-09-15 02:39:06 UTC
I compiled world with global USE="bluetooth", some time after I changed it to "-bluetooth", after executing "emerge -uNDvba world;emerge --depclean -a;revdep-rebuild -- -vba" I got:
...
* Checking dynamic linking consistency
[ 18% ] *   broken /usr/bin/obexautofs (requires libbluetooth.so.3)
*   broken /usr/bin/obexfs (requires libbluetooth.so.3)
*   broken /usr/bin/obex_test (requires libbluetooth.so.3)
[ 23% ] *   broken /usr/bin/syncml-obex-client (requires libbluetooth.so.3)
[ 70% ] *   broken /usr/lib64/libsyncml.so.0.0.0 (requires libbluetooth.so.3)
[ 100% ]                                                                     
* Generated new 3_broken.rr
...

Please fix this automagic dependencies.

Reproducible: Always
Comment 1 Alin Năstac (RETIRED) gentoo-dev 2009-09-16 20:47:16 UTC
I imagine your emerge -uND has failed somewhere because openobex do not have such problem (if you want to update your machine using big chain of commands, use && as command separator, not ;), so I'll close this as INVALID.

Now allow me to educate you in what revdep-rebuild is all about. Gentoo has this script for a reason and no, it is not a tool to find "automagic" dependencies. 
I'll give you one scenario that can be fixed only by revdep-rebuild. Imagine obexftp is installed first with bluetooth; this will install a pkg-config file for obexftp that will have "-lbluetooth" in its --libs. 
Of course, packages that depend on obexftp - such as obexfs - will be linked with -lbluetooth although these packages do not *directly* depend on bluetooth. Naturally this second hand dependencies are totally hidden to portage and packages like obexfs will not be recompiled by emerge -uDN. And here it comes revdep-rebuild to save the day... End of story.


Comment 2 Nikoli 2009-09-17 04:52:09 UTC
>I imagine your emerge -uND has failed somewhere because openobex do not have
such problem (if you want to update your machine using big chain of commands,
use && as command separator, not ;), so I'll close this as INVALID.

You are wrong, because in fact I did two commands: first "emerge -uNDvba world", it emerged _everything_ successfully, then I did "emerge --depclean
-a;revdep-rebuild -- -vba", in this bug I wrote it in one command only for short, sorry for giving a slightly wrong information.
p.s. Thanks for teaching, but I read "man bash" long time ago and know differences between "&&", ";", "&", "||" well :).

Comment 3 Alin Năstac (RETIRED) gentoo-dev 2009-09-17 05:42:06 UTC
You're either claiming that openobex wasn't rebuild by emerge -N or that openobex doesn't honor USE=-bluetooth. Which one is it?
Comment 4 Nikoli 2009-09-17 05:53:14 UTC
>You're either claiming that openobex wasn't rebuild by emerge -N or that
openobex doesn't honor USE=-bluetooth. Which one is it?

Second - openobex doesn't honor USE=-bluetooth.
It was rebuild by emerge -uNDvba world when bluez was installed and it was rebuild again by revdep-rebuild after uninstalling bluez.

Comment 5 Nikoli 2009-09-17 05:54:18 UTC
Created attachment 204392 [details]
log
Comment 6 Alin Năstac (RETIRED) gentoo-dev 2009-09-17 06:14:22 UTC
I cannot reproduce this on my box with bluez installed and USE=-bluetooth. Can you repeat the test please? Run the following commands:
  USE=bluetooth emerge openobex
  USE=-bluetooth emerge openobex
  emerge --depclean
  revdep-rebuild
Comment 7 Nikoli 2009-09-17 06:43:49 UTC
Reproduced. I will attach my emerge --info.
Comment 8 Nikoli 2009-09-17 06:45:10 UTC
Created attachment 204394 [details]
emerge --info
Comment 9 Alin Năstac (RETIRED) gentoo-dev 2009-09-20 11:17:56 UTC
Ah, my mistake. I couldn't reproduce it because I had -Wl,--as-needed in my LDFLAGS.

Fixed in openobex-1.5 w/o rev bump.

obexfs indirect dependency cannot be fixed because it is inherited through "pkg-config --libs obexftp".

The only thing remaining to be fixed is libsyncml. This package doesn't honor BLUETOOTH option; this option gets enabled if bluez libs are found.

Reassigning to libsyncml maintainer.
Comment 10 Gilles Dartiguelongue (RETIRED) gentoo-dev 2009-11-15 21:16:37 UTC
merged obex and bluetooth useflag, left a word about why in the ebuild.