Debian wheezy: Iceweasel 4 beta 12

Iceweasel 4 betas are still not in the unstable repository, but as I've seen that people of mozila.debian.net do a fine job packaging Firefox betas, I decided to switch from official Firefox betas to Iceweasel Debian package. Although still at beta stage, Firefox 4 does work stable and is also quite faster than Iceweasel 3. IMHO.

Installing Iceweasel 4 beta 12 involves some preparation tasks. First, I added deb http://mozilla.debian.net/ experimental iceweasel-4.0 to my /etc/apt/sources.list as instructed on mozilla.debian.net. I also imported their GPG key, so that package manager doesn't complain that packages are unverified. At the first attempt to install new Iceweasel, I noticed that mozilla.debian.net provides all needed packages to install Iceweasel 4 except libnss3-{1d,dev,tools} set of packages. Those are present in unstable, but have lower version that can't satisfy Iceweasel 4 dependencies. Soon I found the needed packages (3.12.9-1) in experimental, downloaded and installed them manually. I don't like putting link to experimental repository in my /etc/apt/sources.list, although I admire people that have the courage to do that. :)

After little preparation as explained above, Iceweasel 4 installs smoothly, and also works nice. I was a little bit afraid that the upgrade would be more problematic, but it was not, really. But... there was one negative consequence of switching from Firefox to Iceweasel that I also had to resolve. Iceweasel 4 also insisted on upgrading libcairo2 to the newest version (1.10). If you followed this blog so far, you'll remember that I had issues with libcairo2 1.10 not playing very well with my NVIDIA binary driver. Some incompatibility (bug) between the two produces slowdown and stuttering of the whole desktop. So, with libcairo2 1.10 now mandatory, the only way out was to tamper with the package as installed, replace new shared library (libcairo.so.2.11000.2) with an older one (libcairo.so.2.10800.10) extracted from the old libcairo2 package. I manually rebuilt the symbolic links (libcairo.so, libcairo.so.2) and made sure the new shared library file is deleted so that ldconfig run doesn't unintentionally symlink back to the new library and revert my changes. I wasn't sure at first if this workaround would work, but it does. No issues last few days I have been running this setup. Of course, when new libcairo2 package arrives and gets installed, it will disable my hack, but that is actually OK, because I want to test it to see if it has been fixed. If the bug/slowdown is still there, I just need to repeat the above replace/relink steps, to reactivate the workaround.

Comment viewing options

Select your preferred way to display the comments and click "Save settings" to activate your changes.

Experimental in sources.list

I put experimental in sources.list and it's really not a problem. Packages from experimental will not be used unless you explicitly ask apt to use this repository, i.e. with apt-get install foo/experimental or apt-get install -t experimental foo.

That's because the Release file of experimental has a special flag "NotAutomatic" that lowers the priority of the repository to 1 (see man apt_preferences).

Thanks for another great tip,

Thanks for another great tip, Raphael!

I've tested it now, and you're right, putting experimental in sources.list definitely doesn't make any trouble. Packages are there, can be browsed, but there's no pressure to upgrade or install anything. Nice.

Still, I'm afraid that using experimental is not a good idea, at least for me. I like to test new stuff, and I've already seen too many interesting things in experimental that I'd like to install and test. So, soon this installation would be some pretty dangerous mix of unstable + experimental, I'm not sure I would be able to keep it all together after some time. :)

Yeah, I know I did the same thing when I decided to pull Iceweasel from an experimental branch, but we're speaking only of a dozen of packages or so. And I also know for the fact that the exact same stuff will end up in unstable soon (that's what prompted me to install it), so I'll be able to just fallback and remove mozilla.debian.net repository when time comes. I'm not sure that all packages in experimental are even scheduled to end up in sid?! Some might stay in experimental forever.

And BTW, newer libnss3-1d and company arrived to the unstable in the meantime, so at least for Iceweasel 4, there's no need to cherry pick stuff from experimental anymore.

But as I said, thanks for a great tip! At least I know that nothing dangerous will happen if I occasionally add experimental to my sources.list.