In general my problem is that I am using elementary OS Freya and need newer versions of packages to build projects from sources.
In particular, I tried to fix a bug in Gala. But since there was a commit dropping support for mutter versions below 3.14.4, I was unable to finish the build process. The obvious reason was that the newest version of libmutter-dev availiable on Freya is 3.12.2.
I found out there were newer versions of libmutter-dev for Ubuntu Vivid and tried to install them via apt-pinning, following this guide.
/etc/apt/preferences
Package: libmutter-dev
Pin: release n=vivid
Pin-Priority: 990
Explanation: Uninstall or do not install any Ubuntu-originated
Explanation: package versions other than those in the oneiric release
Package: *
Pin: release n=trusty
Pin-Priority: 900
Package: *
Pin: release o=Ubuntu
Pin-Priority: -10
Then, I copied my
/etc/apt/sources.list
to /etc/apt/sources.list.d/vivid.list
and replaced all occurences of trusty with vivid.
After executing apt-get update
and apt-get upgrade
I had to realize that there were a lot of other dependencies for the update to libmutter 3.14.4.
So I came to wonder if I really had to add every single package and its dependendent packages to the pinning list. How do other developers handle that problem?
Thanks in advance for your answers!