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
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.
>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 :).
You're either claiming that openobex wasn't rebuild by emerge -N or that openobex doesn't honor USE=-bluetooth. Which one is it?
>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.
Created attachment 204392 [details] log
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
Reproduced. I will attach my emerge --info.
Created attachment 204394 [details] emerge --info
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.
merged obex and bluetooth useflag, left a word about why in the ebuild.