2

I recently installed the brew command on my Debian machine to install tldr man pages on my system. The command looks useful for installing programs that aren't packaged by Debian, also it does not require sudo to install packages . However, there is a limitation: only a few packages can be installed through the command brew.

Is it possible to configure brew to install packages from Debian repositories?

  • 2
    What's the underlying motivation? Would you like to be able to use brew to install Debian packages in your home directory? Or just use brew instead of apt to install packages in their usual place? – Stephen Kitt Oct 24 '16 at 11:48
  • @StephenKitt the 2 propostions should be accepted as answer – GAD3R Oct 24 '16 at 11:55
6
+50

Is it possible? Yes. Both programs are open source. Is it convenient? Not really.

Why?

Package managers work more or less like this:

  • They track packages installed on your system(and their version)
  • To do this, they specify their own format of packages(e.g. .deb), and use these packages as instructions on how to install the program and how to track it
  • They also track dependancies (e.g. "this program needs openssl to work!")

This is why having a system that would use few package managers isn't the best idea:

  1. Each package manager would have to be informed about the package being installed(e.g. brew would have to know that you installed firefox, and apt would have to know that you installed tldr)
  2. Each package manager would have to resolve dependancies from other package managers(e.g. "Brew: This program needs ncurses, but apt already installed ncurses, so I don't need to pull them!").

You see, the problem with 2 is that package managers are abstraction for the underlying repositories. People like Debian folks choose the packages they want users to use, and they make them available to others. However, they also select these packages so that system is consistent; they want the least amount of packages to offer the most functionality. Why install ncurses version 1,2, and 3, when you can get everything to work with version 2?

The first problem is also bad news. The package managers would have to inform each other about what they do, or they could collide(brew wouldn't know that ncurses is already installed).

So why is it hard?

  1. Package managers would need to cooperate tightly
  2. Package managers would have to have strict policy about what to do when they can't agree on package
  3. Package managers would have to be able to work almost interchangebly, with the only visible difference being available programs
  4. Package managers would have to be able to track each others' repositories in case of updates.

This effectively means you would need a package manager that would consist of the two package managers. You would need a new program.

So what can I do?

First of all, I would ask myself "Why do I want to do this?". Honestly, your distribution should supply you with plenty of packages. If you aren't happy with how many packages you have, you might consider switching to other distribution that has more packages that you need.

If you are really desperate to get this brew to work, I would propose the following solution, although I'm not sure if this is fully possible:

  1. Grab the sources of brew.
  2. Learn the brew recipes format.
  3. Write a program that automatically translates recipes to Debian packages.
  4. Modify brew so that whenever you run it, it calls the program to translate recipes to .deb packages/searches for the programs in your distro's repos, then call apt to install this package.

Making such modifications would probably take much time and isn't the easy thing. I suggest changing distro or sticking to your package manager instead.

0

Yes but it would be a non-trivial waste of effort. It would make more sense to make a ppa for tldr or get it accepted to the main Debian repositories, or to just use https://tldr.ostera.io .

  • I have successfully installed tldr , the qustion is about linux-brew , How to install package using brew command like apt do? – GAD3R Nov 1 '16 at 14:11

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.