Contents

Firefox is getting a deb package repository

Yesterday Mozilla announced that Firefox nightly builds will be available in an APT repository with the Stable, ESR, and Beta versions coming after “a period of testing”.

Here’s the announcement from the nightly blog.

It’s about time?

I’m personally thrilled to see an official traditional package of Firefox coming directly from Mozilla instead of one of those new fangled Flatpak’s or a Snap’s.

Calm down - I don’t know a damn thing about flatpak’s I’m sure you are correct that they are the best thing since baby Jesus, I just haven’t had much luck with them, and given the choice I’ll stick with a traditional package everytime. Even if it makes baby Jesus cry.

For as long as I can remember all of the major Linux distributions shipped Firefox by default and for the same amount of time Mozilla has never really seemed to care a whole lot about making it easy to install Firefox outside of your distrobutions package manager. Which really isn’t that bad, except for the fact that usually updates would be a few days behind the upstream version.

It also sucks that Debian uses the ESR by default - so this will help me make a FrankenDebian! How exciting!

Now what do I do with my fancy install script?

I wrote this awesome install/update script for the Firefox tarball a little while ago, since Mozilla didn’t think Linux important enough to build an official package.

Here’s the script in case you want it - YMMV (I know it works on Debian 12).

#!/usr/bin/env bash
# tarball url found here https://ftp.mozilla.org/pub/firefox/releases/latest/README.txt
# Basically scripting the instructions found here:
#   https://support.mozilla.org/en-US/kb/install-firefox-linux#:~:text=1%20Download%20Firefox%20from%20the%20Firefox%20download%20page,script%20in%20the%20firefox%20folder%3A%20%22~%2Ffirefox%2Ffirefox%22%20See%20More

desktop_file_path="/home/${USER}/.local/share/applications/firefox.desktop"
get_desktop_file="https://raw.githubusercontent.com/mozilla/sumo-kb/main/install-firefox-linux/firefox.desktop"

if [[ -f firefox.tar.bz2 ]]; then
  echo "Removing old tarball"
  rm -f firefox.tar.bz2
fi

echo "Downloading latest Firefox tarball file..."
wget -qO firefox.tar.bz2 "https://download.mozilla.org/?product=firefox-latest&os=linux64&lang=en-US"

sudo tar -C /opt/ -xvf firefox.tar.bz2
if [[ ! -h /usr/local/bin/firefox ]]; then
  echo "linking firefox to /usr/local/bin/firefox"
  sudo ln -s /opt/firefox/firefox /usr/local/bin/firefox
fi

## If there is already a desktop file don't assume we want to overwrite it.
if [[ ! -f ${desktop_file_path} ]]; then
  echo "retrieving desktop file"
  cp firefox.desktop ${desktop_file_path}
fi
rm -f firefox.tar.bz2