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.
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!
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
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
# 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.
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.