2006-03-15

Easier Updating to the Latest Nightly Build

I frequently fall behind on nightly trunk updates, usually because I brush off pending updates and then go for days before restarting Firefox.  Occasionally it's because I'm away from my computer on vacation.

Once I'm behind, it's painful to catch up, since the app update service feeds updates to Firefox one day at a time, so I have to Check for Updates, wait for Firefox to find and download the next one, restart the app to apply the update, and then repeat the process over and over again until I'm finally up-to-date.

Bug 306864 is about fixing this on the server side by making the app update service hand nightlies a single update to the latest nightly build, but it doesn't have much traction, so I hacked up a dumb but effective client-side fix in the form of an extension that checks for updates, downloads them, applies them, and then repeats the process until Firefox is fully updated.

Using the extension is simple: just select Make Me Up-To-Date from the Help menu, and the extension will do its thing.  Warning: it doesn't prompt you before restarting Firefox to apply an update, and it doesn't tell you what it's doing (except on the console).  So make sure you know what you're doing before you use it (i.e. finish filling out and submitting web forms, save tabs you want to access afterwards, start Firefox with a console, etc.).

I've tested it with various Linux nightlies from the last couple months, and it worked as expected except when the app update service or client was busted.  Since it uses the same backend components as the regular updater, if Check for Updates doesn't work, then Make Me Up-To-Date won't work either.

If you try it out, post a comment with your results, and include your starting and ending builds plus what platform you're on so I can get a sense of where it is and isn't working.  And, of course, back things up in case this horks your build, since it's new, untested code, and it may well be buggy.

Install Make Me Up-To-Date 0.1

13 comments:

Cameron said...

Dude, that's sexy!

Bram said...

Ah, finally! Nice work, man.

Barry said...

Doesn't seem to like Win32 builds.

I had to force it in with the Nightly Tester Tools (since it doesn't like 1.6a1) to get it into the Extensions list, force it again with the Make All Compatible button, but it still sits greyed out and no menu options.

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20060312 Firefox/1.6a1 ID:2006031205

Mahesh said...

Nice!

Joe Hughes said...

On my WinXP/1.8branch/20060313 build, it installed fine but doesn't seem to do much of anything when I select the menu item.

Dao said...

Well, Windows partitial updates are still not created, I think. At least for me "Check for Updates..." never finds anything. So this extension won't help much for the moment ...

Dao said...

Ah, and I was speaking about trunk nightlies ...

Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9a1) Gecko/20060314 Firefox/1.6a1

Joe Hughes said...

Ah, indeed, dao. I'm even subscribed to the partial-update bug in bugzilla, so I should've known better. :]

Lu-Tze said...

I installed it on my XP machine. I guess I have to wait for the partial updates to work again.

Hope this works. Have been waiting for this forever. Thanks a lot for making this.

Lu-Tze said...

Please...please...please

Can you also make one for Thunderbird trunk also?

Thank you again

Aaron said...

Does it work for branch nightlies? The check for updates button isn't working right now either, so it might just be that.

Myk said...

Branch nightly updates haven't been working per bug 327140. Until that's fixed (which looks imminent, given comments; but you may still have to update manually once to get to a build that updates automatically), neither "Check for Updates" nor Make Me Up-To-Date will work.

Stebs said...

The 0.2 Version does not work here (simply nothing happens) with Bon Echo and Minefield Nightlies.
When using the 0.1 Version (installing with Nightly Tester Tools), it works!

I tried to install/uninstall several times (also with fresh "installs"), but always 0.1 works and 0.2 dont.

AS Bug 327140 says now, currently all auto-updates work except apparently 1.5.0.x Branch.