Friday, July 29, 2011

Downgrading Google Chrome (unstable) on Ubuntu Ain't Easy

‹prev | My Chain | next›

Up tonight, I would like to see if it is possible to downgrade my Chrome installation. A few days back, Chrome stopped working with the Speed Tracer extension. At this point in SPDY Book development, I pretty much have everything I need from a research standpoint, but I would hate to find this weekend that I absolutely have to redo a Speed Tracer screen shot and have no way of doing so.

I have no idea if the old google-chrome-unstable package is still on the Google download server, but there is one way to find out. I can never remember how packages map to download URLs in Debian/Ubuntu. Fortunately, there is the --print-uris option to apt-get which can help:
➜  ~  sudo apt-get install -qq --reinstall --print-uris google-chrome-unstable
➜ ~
Or maybe not.

I would think that the --reinstall option would instruct apt-get to, well, re-install. Well, what happens when I pick the stable version?
➜  ~  sudo apt-get install -qq --reinstall --print-uris google-chrome-stable                                        
'http://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-stable/google-chrome-stable_12.0.742.124-r92024_amd64.deb' google-chrome-stable_12.0.742.124-r92024_amd64.deb 22241936 MD5Sum:f0c30436363cb2f3965ee0c41a8723cb
Ah better.

I currently have Chrome version 14.0.835.8-r94414 installed. So that ought to translate into http://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-unstable/google-chrome-unstable_14.0.835.8-r94414_amd64.deb. And, indeed, it does.

Looking through /var/log/apt/history.log, I see the following recent upgrades took place:
...
google-chrome-unstable:amd64 (14.0.797.0-r89638, 14.0.803.0-r90483)
google-chrome-unstable:amd64 (14.0.803.0-r90483, 14.0.814.0-r91661)
google-chrome-unstable:amd64 (14.0.814.0-r91661, 14.0.825.0-r92801)
google-chrome-unstable:amd64 (14.0.825.0-r92801, 14.0.835.0-r94025)
google-chrome-unstable:amd64 (14.0.835.0-r94025, 14.0.835.8-r94414)
I reported the Speed Tracer no-worky issue back at revision 4.0.835.0. I think it actually broke in the previous release, so I would like try to grab two releases before 4.0.835.0, which is 14.0.814.0-r91661. The URL for that would then be:http://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-unstable/google-chrome-unstable_14.0.814.0-r91661_amd64.deb.

Unfortunately, that results in a 404:



Dang. Looks like Google removes old builds relatively quickly. I wonder if yesterday's build is still around?

Checking http://dl.google.com/linux/chrome/deb/pool/main/g/google-chrome-unstable/google-chrome-unstable_14.0.835.0-r94025_amd64.deb, I get yet another 404. Darn it. They are nothing if not efficient.

So, to summarize:It is only at this point that I remember /var/cache/apt:
➜  ~  ls /var/cache/apt/archives/google-chrome-unstable*      
/var/cache/apt/archives/google-chrome-unstable_14.0.803.0-r90483_amd64.deb
/var/cache/apt/archives/google-chrome-unstable_14.0.814.0-r91661_amd64.deb
/var/cache/apt/archives/google-chrome-unstable_14.0.825.0-r92801_amd64.deb
/var/cache/apt/archives/google-chrome-unstable_14.0.835.0-r94025_amd64.deb
/var/cache/apt/archives/google-chrome-unstable_14.0.835.8-r94414_amd64.deb
Yay! Good thing I rarely autoremove my apt-get!

Before downgrading, I close Chrome and backup my config:
➜  ~  tar zcf google-chrome_config.tar.gz .config/google-chrome
I do not think I have anything in there that I cannot lose, but better safe. With that out of the way, I install my target archive:
➜  ~  sudo dpkg -i /var/cache/apt/archives/google-chrome-unstable_14.0.814.0-r91661_amd64.deb 
dpkg: warning: downgrading google-chrome-unstable from 14.0.835.8-r94414 to 14.0.814.0-r91661.
(Reading database ... 327451 files and directories currently installed.)
Preparing to replace google-chrome-unstable 14.0.835.8-r94414 (using .../google-chrome-unstable_14.0.814.0-r91661_amd64.deb) ...
Unpacking replacement google-chrome-unstable ...
Setting up google-chrome-unstable (14.0.814.0-r91661) ...
Processing triggers for python-gmenu ...
Rebuilding /usr/share/applications/desktop.en_US.utf8.cache...
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf.index...
Processing triggers for desktop-file-utils ...
Processing triggers for menu ...
Processing triggers for man-db ...
Processing triggers for python-support ...
Yay! It looks like that worked. When I start up Chrome (with the --enable-extension-timeline-api command line option required by Speed Tracer), I am greeted with:



Meh. I can live with that. If it give me my precious Speed Tracer back. And it does!



I wind up downgrading one more version to 14.0.803.0-r90483 because of an annoyance with new tabs. The bottom line is that I have Speed Tracer back and life is good.

Now I have no obstacles to finishing off SPDY Book. Except it's a huge book and I only have 3 days to proof read it. Ugh.


Day #86

No comments:

Post a Comment