The webkitgtk library is used by Eclipse's SWT GTK port for showing formatted content such as in Content Assist. We have been experiencing frequent lock ups of Eclipse when using Content Assist on Ubuntu. It turns out the issue is with customization of the library on Ubuntu.
The following is a set of notes how I re-built the package and uploaded it to my PPA.
Links
- Install essential packages and tools
sudo apt install gnupg pbuilder ubuntu-dev-tools apt-file
- Setup Launchpad Account and GPG key
In order to work with PPA you need to have an account on https://launchpad.net/. You also need a PGP key for signing. The key must be uploaded to Launchpad. The article linked above contains all the essential steps.
You can use Keybase to manage your keys across computers.
I ran into an issue with importing the secret key with GPG (while pipeing from keybase to gpg).
A simple export GPG_TTY=$(tty)
fixed it for me.
- Update
.bashrc
with the exports as mentioned in the article.
Links
Do the following steps in an empty directoy for convenience.
cd ~
mkdir webkitgtk
cd webkitgtk
apt-get source webkit2gtk # no sudo!
When this is complete, the directory should contain three files and a sub directory. The specific version numbers maybe different.
webkit2gtk-2.30.5
webkit2gtk_2.30.5-0ubuntu0.20.04.1.debian.tar.xz
webkit2gtk_2.30.5-0ubuntu0.20.04.1.dsc
webkit2gtk_2.30.5.orig.tar.xz
Change into the directory of processing operations.
$ cd webkit2gtk-2.30.5
$ pwd
/home/username/webkitgtk/webkit2gtk-2.30.5
Next we have to revert the Debian/Ubuntu patches (this requires the quilt
utility)
$ quilt pop -a
Removing patch debian/patches/...
...
No patches applied
Once this is done open debian/patches/series
in an editor and remove the line prefer-pthread.patch
.
Then re-apply the patches.
$ quilt push -a
Applying patch debian/patches/...
...
Now at patch ... # this should match the last line from series file
Next we need to update the version and generate an entry in the changelog.
debchange -i
This command increases the version. You need to change a few things.
webkit2gtk (2.30.5-0ubuntu0.20.04.2) UNRELEASED; urgency=medium
* <cursor>
-- Your Name <email> Fri, 19 Feb 2021 12:00:00 +0100
webkit2gtk (2.30.5-0ubuntu0.20.04.1) focal-security; urgency=medium
* ...
- Replace
UNRELEASED
withfocal
(or whatever Ubuntu distribution codename this is intended for). - Revert the version
2.30.5-0ubuntu0.20.04.2
to the same as the previsou entry (2.30.5-0ubuntu0.20.04.1
) and appendppa1
(full version should be2.30.5-0ubuntu0.20.04.1ppa1
). This is a best practise as explained in https://help.launchpad.net/Packaging/PPA/BuildingASourcePackage
We are now ready to build the new source package
Links
- https://help.launchpad.net/Packaging/PPA/BuildingASourcePackage
- https://help.launchpad.net/Packaging/PPA/Uploading
After the package was updated build it with this single command.
debuild -S -sd
This creates a changes file which we'll upload to PPA.
dput ppa:your-username/your-ppa ../webkit2gtk_2.30.5-0ubuntu0.20.04.1ppa1_source.changes
Now sit back and wait while PPA is building your package. This can be checked online on the page of your PPA.
For Eclipse and Ubuntu 20.04 please don't hesitate and use my PPA: https://launchpad.net/~g-u-w/+archive/ubuntu/ubuntu20