Installing the BadWolf browser on Ubuntu and Linux Mint

BadWolf is a minimalist and privacy-oriented WebKitGTK+ browser. I’ve been wanting to try it out for a while now, but that meant that I also needed to manually build/install it. One problem is that it uses webkitgtk and Ubuntu (which I use) aparently has a broken version of it packaged . At first I tried to build webkitgtk myself, but figuring that out turned out to be even more work than I feared. I didn’t get it to build, but I did learn a couple of things fom it, including what package is needed to install Ubuntu’s webkit. In this article I show how to install and update BadWolf using the system packages. It’s possible that I’ll update this article to include building webkit as well if I find both the need and time.

Installing BadWolf

In general I just followed the general installation instructions, but there are some remarks I like to make.
First of all I decided to get the sources using git instead of downloading tarballs. The reason is simply because I think working with git is easier than jugling around with tarballs.
Secondly, I’ve used pkg-config instead of the recommended pkgconf. I have no idea what the difference is, but pkg-config was already installed and installing pkgconf would remove pkg-config. I did not encounter any problems, so it seems better to just keep what my system has by default.
As already mentioned before, the webkit that we’ll be using may not be the best webkit around, but it’s the easiest to just use the system default.
And lastly, I prefer my dependencies to be dependencies of a package. That way, when I want to remove them, I can just remove the “parent” package. Also note that I’m installing version 1.0. You’ll need to check the repository to see what branch or tags you can use if you want to install another version.

So let’s install BadWolf!

Install dependencies

Quick and dirty

The quick and dirty way is to just install them via apt. There’s nothing wrong with that per sé, but if you want to remove BadWolf later, you’ll need to be carefull to not break other things on your system that may be dependend on these packages.

# Install or update dependencies
sudo apt install -y gcc libwebkit2gtk-4.0-dev libxml2 make pkg-config gettext git

Using equivs

Another way to go is to create a .deb package which has the dependencies needed for BadWolf. The easiest way I know is to use equivs.

# install equivs
sudo apt install equivs
# Create a 'badwolf.control' file
equivs-control badwolf.control
# Now we'll change some of the content:
# The package name I choose "Package: equivs-badwolf-deps"
# Uncomment the "Depends" and add the dependencies in a comma separated list:
#    gcc, libwebkit2gtk-4.0-dev, libxml2, make, pkg-config, gettext, git
nano badwolf.control
# Then we'll create the .deb file
equivs-build badwolf.control
# And install it
sudo apt install ./equivs-badwolf-deps_1.0_all.deb

Install BadWolf

# Get sources
git clone https://gitlab.com/lanodan/badWolf
cd badWolf
git checkout release-1.0
# Build
make
sudo make install
# Make executable
chmod 774 badwolf.desktop

You should find a folder called badWolf in your home folder. In it is a file badwolf.desktop which starts BadWolf. You should also find BadWolf in the start menu and be able to start it from there.

Updating

In the installation instructions we installed version 1.0, however, new versions have already been released. You can check the repository what tags it has for releases. At the time of writing there’s already a tag v1.0.3, so let’s update to that one.

First close BadWolf or the last step will fail.

# Update dependencies
sudo apt update && sudo apt upgrade
# cd into the badWolf folder
cd ~/badWolf
# Get the new version
git pull
git checkout v1.0.3
# Build the new version
make
sudo make install

Now you can start BadWolf again. If it failed for whatever reason, you can always checkout an earlier version and build that.