How do I install binary packages on GoboLinux? (e.g. firefox)

I would like to ask how to install binary packages on GoboLinux.

Especially web browsers take an unbearable amount of time to compile unfortunately, so I’d like to take the Firefox 87.0 binary as an example.

Upon unpacking firefox-87.0.tar.bz2 the contents look like so:

application.ini     firefox-bin.sig         plugin-container.sig
browser             firefox.sig          precomplete
crashreporter       fonts           removed-files
crashreporter.ini   gmp-clearkey   minidump-analyzer  Throbber-small.gif
defaults            gtk2            omni.ja            updater
dependentlibs.list  icons          pingsender         updater.ini
firefox       platform.ini       update-settings.ini
firefox-bin  plugin-container

I am able to run ./firefox-bin but now I would like to install it into the /Programs/Firefox/87.0 folder.
The current Firefox 76.0.1 installation folder looks like this:

$ ls /Programs/Firefox/76.0.1 
bin  package  Resources  share

So it looks like there is some work to do :slight_smile:

Two questions:

  1. How would I go about installing the package correctly, in a manual fashion?
  2. Is there an automatic way to do this?

I have found a Documentation article addressing Binary Packages. So I have tried to create a binary recipe in the fashion of MakeRecipe Firefox_bin 87.0 <bin_archive_url> .

However it seems MakeRecipe does not automatically handle _bin type recipes: MakeRecipe: Could not detect recipe type. Recipe needs to be completed manually.

Follow-up question: Is MakeRecipe missing this on the implementation side (to install it automatically), or is it firefox-87.0.tar.bz2 simply missing the required information to process it in an (semi-)automated manner?

Thanks in advance! I hope this type of information might be of benefit for future GoboLinux users aswell! :))

Not sure if this is the “official” method, but I unpack the binary FF distribution in /Programs/Firefox/Official and then link the Current symlink to that.

Then I add a firefox.desktop shortcut in ~/.local/share/applications but it’s quite possible you’re better off creating one in /Programs/Firefox/Official and then linking that one into /System/Index/share/applications/ yourself.

I also make sure that the /Programs/Firefox/Official folder is writable by either the owner or the group of my user such that autoupdates work seamlessly.

1 Like

Indeed, building Firefox can be quite time consuming. What I do is just the same as what @ermo described: I download the tarball from and uncompress it under /Programs/Firefox/<version>/package.

The bin and share directories you see on your tree have been prepared by ourselves; the former is basically a wrapper that executes firefox.bin whereas the latter contains the .desktop file and icons. I just copy those two directories over the new version and call SymlinkProgram Firefox <version> to activate it.

Recipes are meant to deal with the compilation of source code. While we do have some tricks to allow recipes to download binary packages, we don’t recommend publishing them on the recipe store, as that may lead to misunderstandings.

1 Like