KSShooter
Posts: 23
Joined: Wed Jul 17, 2013 9:38 pm

To install bluetooth I've got to install 10 tons of cr*p?

Wed Jul 24, 2013 10:45 pm

Why is it that to install bluetooth, bluez-utils and bluesman, I have to install cups, sane, python, and tons of other extraneous garbage? I'm setting up a bluetooth device which is NOT a printer or scanner, etc.

Is it REALLY ALL REQUIRED for a simple bluetooth install to access and pair a bluetooth keyboard or mouse or gps....?

funkeywoookey
Posts: 7
Joined: Fri Jun 07, 2013 5:22 am

Re: To install bluetooth I've got to install 10 tons of cr*p

Thu Jul 25, 2013 3:06 am

Well, yes, in a way this is all required.
Each package (ie blueman AKA Bluetooth Manager) has dependencies. Each of those dependencies are a package themselves, which also have dependencies.

Let's say you want to buy (read "install") a car.
Well, if you want to do that, you have to have a license. So you have to be 16. So you have to have taken drivers ed. So you have to have passed your driver's test. So you have to have insurance.
Well if you want to buy a car you have to put gas in it. If you want to put gas in it, you have to have money. If you want to have money, you have to have a job.
Well if you want to buy a car you have to change the oil. If you're going to change the oil, you need to have a jack, a drain bucket, and tools. If you want to change your oil you have to have the knowledge (read "libraries") to do so.

Just like buying a car has dependencies, packages have dependencies. Without any one of those dependencies (say, not having a license), it's a complete failure.

User avatar
rpdom
Posts: 15184
Joined: Sun May 06, 2012 5:17 am
Location: Chelmsford, Essex, UK

Re: To install bluetooth I've got to install 10 tons of cr*p

Thu Jul 25, 2013 4:25 am

You don't need all of those extra packages, but you will need most of them for the bluetooth manager.

As stated by funkeywookie, software has dependencies. Actually, there are three levels of that. There are:

Depends: This packages are required for the normal full functioning of the software you selected.
Recommends: These are optional, but can add extra features to the software.
Suggests: Not needed, but they may come in handy.

At some point in Debian, someone decided that Recommended packages should be installed by default, as well as Depends packages. This is why you are getting cups.

I don't agree with that choice and always disable it.

You can do that by creating a file /etc/apt/apt.conf.d/90local with the following in it

Code: Select all

APT::Install-Recommends "false";
Then when you try and install bluetooth stuff it won't try to install cups and some of the other software. :)

There will still be a lot of packages that do get installed though :(

KSShooter
Posts: 23
Joined: Wed Jul 17, 2013 9:38 pm

Re: To install bluetooth I've got to install 10 tons of cr*p

Thu Jul 25, 2013 12:16 pm

I'm well aware of dependencies in Linux. Been using it since 1995 (I've mostly been using RH and rpm), and been a sysadmin for *nix boxes for over 25 years (Linux for 15 years). And there have been NUMEROUS times since the advent of rpm or apt-get and the ability to specify, and pull, other dependent software down when some dev goes nuts with dependencies in their packages, and they usually get ironed out - usually. But only after MANY complaints. So, I don't know how the Pi packaging goes - someone just takes the normal Debian stuff and compiles it for ARM "as-is", or they do some other work on it - but what I experienced is ridiculous.

But let's get real - cups? sane? That's insane. I had to install 78 (seventy-eight) other packages (because cups needs foomatic, and that drives a bunch of other stuff, and a host of other printer drivers - hplip, sane needs it's crap, etc.) I don't need printing on this box. Nor will I ever do any scanning with sane on this box. Total of 83MB JUST to install bluetooth? That's nuts.

Let's face it - if it's for ARM - it's for a "limited" device. Limited in memory and storage. That needs attention over and above the usual Debian/Ubuntu "install 'er all" for a desktop/laptop approach. Ubuntu is nice - I've used it before - on a desktop or laptop. But I don't have that in a Pi.

I can't believe that someone has created this "dependency hell" just to install bluetooth. I might understand a few others for the graphical tools, but bluetooth needs a driver, maybe a library or two - low-level libraries that are actually probably already installed. It interfaces with the kernel, so if some other drivers are installed, those libraries are most likely present for BT as well. So, we've got a driver, and we've got a daemon. daemons generally rely on drivers, and don't require lots of other stuff.

KSShooter
Posts: 23
Joined: Wed Jul 17, 2013 9:38 pm

Re: To install bluetooth I've got to install 10 tons of cr*p

Thu Jul 25, 2013 12:21 pm

rpdom wrote:You don't need all of those extra packages, but you will need most of them for the bluetooth manager.

As stated by funkeywookie, software has dependencies. Actually, there are three levels of that. There are:

Depends: This packages are required for the normal full functioning of the software you selected.
Recommends: These are optional, but can add extra features to the software.
Suggests: Not needed, but they may come in handy.

At some point in Debian, someone decided that Recommended packages should be installed by default, as well as Depends packages. This is why you are getting cups.

I don't agree with that choice and always disable it.

You can do that by creating a file /etc/apt/apt.conf.d/90local with the following in it

Code: Select all

APT::Install-Recommends "false";
Then when you try and install bluetooth stuff it won't try to install cups and some of the other software. :)

There will still be a lot of packages that do get installed though :(
Thanks much! As I said, I'm an rpm-head, and have mostly just dabbled with Ubuntu/Debian. This specific choice by the Debian crew is ridiculous, and you should be prompted when installing stuff, and the default is NOT to install the other crap. "Install required? (Y/n)", "Install recommend (y/N)", "Install Suggests (y/N)".

I'll have to spend an hour cleaning the crap out, or just go back to an image and start over. I detest having to install crap that isn't needed. As a dev, I'd spend hours going through library/function dependencies in C/C++ to stub out crap so it wouldn't get linked in. Better today, but 20 years ago, a "Hello World" app created an .EXE over 1MB. WIth careful selection, you could get that down to just about 100K.

User avatar
MattHawkinsUK
Posts: 538
Joined: Tue Jan 10, 2012 8:48 pm
Location: UK
Contact: Website

Re: To install bluetooth I've got to install 10 tons of cr*p

Fri Aug 30, 2013 12:43 pm

The "car" example here is fine but in this case it is like saying "I want to install a car" and the system installing everything you need for a car plus a coach, helicopter, oil tanker, space shuttle, mars rover, submarine, air balloon and skateboard as well.

The basic bluetooth stuff can be installed using :

Code: Select all

sudo apt-get install --no-install-recommends bluetooth
I just want to use a keyboard so I'm hoping this is enough (I'll try it later). I don't want 300 printer drivers I will never, ever use.
My Raspberry Pi blog and home of the BerryClip Add-on board : http://www.raspberrypi-spy.co.uk/
Follow me on Google+, Facebook, Pinterest and Twitter (@RPiSpy)

KSShooter
Posts: 23
Joined: Wed Jul 17, 2013 9:38 pm

Re: To install bluetooth I've got to install 10 tons of cr*p

Fri Aug 30, 2013 1:18 pm

MattHawkinsUK wrote:The "car" example here is fine but in this case it is like saying "I want to install a car" and the system installing everything you need for a car plus a coach, helicopter, oil tanker, space shuttle, mars rover, submarine, air balloon and skateboard as well.

The basic bluetooth stuff can be installed using :

Code: Select all

sudo apt-get install --no-install-recommends bluetooth
I just want to use a keyboard so I'm hoping this is enough (I'll try it later). I don't want 300 printer drivers I will never, ever use.
Lotsa luck. I simply gave up. You can get a driver that way - but you can't configure it. I still haven't run across anything Debian-like that allows you to configure BT from the command line, and do it successfully so it will actually work.

Also having funky wifi problems I've never run into using Linux for 15 years, that I can't get to the bottom of. But that's another topic.

flyinghappy
Posts: 115
Joined: Mon Nov 05, 2012 5:31 pm

Re: To install bluetooth I've got to install 10 tons of cr*p

Fri Aug 30, 2013 9:22 pm

Install archlinux... :twisted:
Pi with ArchLinux running a minidlna/samba home server

Oakham
Posts: 366
Joined: Tue Aug 20, 2013 9:11 pm

Re: To install bluetooth I've got to install 10 tons of cr*p

Fri Aug 30, 2013 9:53 pm

+1 for Arch Linux Arm if one wants an up-to-date command line distro and also has the following Bluez Packages

armv6 extra bluez-firmware 1.2-7 Firmwares for Broadcom BCM203x and STLC2300 Bluetooth chips
armv6 extra libbluedevil 1.9.3-2 A Qt4 wrapper for bluez used in the new KDE bluetooth stack
armv6 community python2-pybluez 0.18-6 Python wrapper for the BlueZ Bluetooth stack
armv6 extra bluez4 4.101-3 Deprecated daemon and tools for the Bluetooth protocol stack
armv6 extra bluez-utils 5.7-1 Development and debugging utilities for the bluetooth protocol stack
armv6 extra bluez 5.7-1 Daemons for the bluetooth protocol stack
armv6 extra bluez-libs 5.7-1 Deprecated libraries for the bluetooth protocol stack


https://wiki.archlinux.org/index.php/Bluetooth
Searching is easy, most questions have been asked before !

User avatar
solar3000
Posts: 1051
Joined: Sat May 18, 2013 12:14 am

Re: To install bluetooth I've got to install 10 tons of cr*p

Sat Dec 07, 2013 8:21 pm

funkeywoookey wrote:Well, yes, in a way this is all required.
Each package (ie blueman AKA Bluetooth Manager) has dependencies. Each of those dependencies are a package themselves, which also have dependencies.

Let's say you want to buy (read "install") a car.
Well, if you want to do that, you have to have a license. So you have to be 16. So you have to have taken drivers ed. So you have to have passed your driver's test. So you have to have insurance.
Well if you want to buy a car you have to put gas in it. If you want to put gas in it, you have to have money. If you want to have money, you have to have a job.
Well if you want to buy a car you have to change the oil. If you're going to change the oil, you need to have a jack, a drain bucket, and tools. If you want to change your oil you have to have the knowledge (read "libraries") to do so.

Just like buying a car has dependencies, packages have dependencies. Without any one of those dependencies (say, not having a license), it's a complete failure.

Man! Forget it I'm not driving a car anymore! Its too complicated.
Antikythera

ant_thomas
Posts: 115
Joined: Fri May 04, 2012 4:33 pm

Re: To install bluetooth I've got to install 10 tons of cr*p

Tue May 20, 2014 8:10 pm

MattHawkinsUK wrote:The basic bluetooth stuff can be installed using :

Code: Select all

sudo apt-get install --no-install-recommends bluetooth
A bit late here but had to say thanks for that tip.

After installing all the other cups/printer rubbish which subsequently failed and caused a number of issues and took over 100MB (which was upsetting on my 2GB card!) I ended up restoring a backup image and using your method and in total it ended up taking less than 10MB. But more importantly it didn't break anything.

Return to “HATs and other add-ons”