Monday, March 7, 2011

NecesRC delays and living la vida stable

Mozilla has spun mozilla-2.0 off into its own stable branch to generate the Release Candidates. Congratulations, we made it! Whatever else happens, we are almost certain to continue surviving through future versions of Firefox 4/Mozilla 2, as it is highly unlikely that Mozilla will throw one of our known show-stopper insurmountable technical hurdles into a maintenance branch. (There is an early development hurdle with Firefox 5 which is going to present a problem, but I'll discuss that in due time. Fortunately, I am reasonably confident that this technical requirement can be worked around.)

Now that we are on a stable branch for sure, updates will be handled a little bit differently. Previously I would jump on the tree as soon as it was held for tagging by Release Engineering so that no or very few bugs would land that should not be in the beta release. Since our QA demands are much less than Mozilla's (only two supported OSes and one supported architecture), building, testing and certifying releases usually only took a day or two after that, and so routinely we were popping out betas sometimes as much as a week or more before the official betas would come out. Well, no longer. As I alluded to in the last post, it behooves us to wait as long as possible on a stable branch to make sure everything's on the branch that needs to be there, because the risk of waiting too long and getting an unstable patch in the pull is lower than the risk of jumping on the tree too early and missing a security or stability issue that lands at the last minute.

For that reason, 4.0 final and all subsequent releases off the stable Mozilla 2.0 branch will be released pretty much simultaneously with Mozilla's releases so I can make sure that changesets match. Unfortunately, you can't do this with about:buildconfig because the changeset displayed is based on the internal TenFourFox repo and not Mozilla's, but we can do this internally with a bit of Mercurial magic on the build system. Therefore, don't expect 4.0 final much before the official release day, nor any future 4.x release. We'll still be punctual, just not fashionably early. :)

Builders and our Fink-based audience will be happy to know that when these stable releases go out, they will also be accompanied by new changesets against mozilla-2.0 instead of mozilla-central, as I know the current changesets do not apply completely cleanly to the trunk repo. On a stable branch they should have much fewer variances and therefore ought to apply without much fuzzing. Our internal copy of mozilla-central will also be rebased on this clean changeset too so that everything is consistent. I plan to do this for each new branch in the future so that there will be much less junk metadata getting carried forward.

There are a couple of 10.4Fx-specific bugs that should also be fixed in 4.0 final, none serious showstoppers, but might as well get them in before the end as the changes should be very safe. In fact, I have preliminary fixes in my tree already and have been using the "RC" on my G5 for the past few hours now. Looks good so far; later this week I'll dump a build on the iBook G4 and see how it does with that.

So, champagne and drinks all around: we made it! Firefox 4 is still on the Power Mac and still on Tiger! I have some ideas for more PowerPC-specific optimizations for TenFourFox 5, too, but more on that once we branch.

7 comments:

  1. "So, champagne and drinks all around: we made it! Firefox 4 is still on the Power Mac and still on Tiger!"

    Thank you very much, good work. As PowerPC freak I use TenFourFox on three different machines and I am very happy with it.

    ReplyDelete
  2. This dude has figured out a way to install 10.2 Flash on PowerPC machines. I haven't tried this myself but it looks legit. Thought you might be interested.

    http://www.youtube.com/watch?v=w4gjkfZouOA

    ReplyDelete
  3. A fascinating video. Unfortunately, it doesn't work.

    For those who haven't watched the video, he grafts the internal installer pkg from the Flash 10.2 installer into the Flash 10.1 installer, and runs the 10.1 installer, which apparently succeeds. He then displays a video as proof.

    Critically, to make it (appear to) work, he deletes the postflight portion of the 10.2 pkg, and this is where it falls down. The installer copies a *compressed* copy of the plugin to /Library/Internet Plug-Ins (Flash Player.plugin.lzma), and the postflight executable is -- you guessed it -- the part that expands and activates the plugin. This never runs, so it never gets expanded, *and 10.1 never gets overwritten*. To prove this, do his steps as shown, and look in Plug-Ins folder. There is now Flash Player.plugin, which is 10.1.x.x, and Flash Player.plugin.lzma. If you right-click on a Flash applet when executing and ask About..., it will take you to the Flash version page, where the plugin will itself report its version: 10.1. That's why it appears to work, because the *old* plugin is still active.

    So what about running the postflight? Well, it's Intel-only. So much for that.

    The only way this could have possibly worked is if the plugin itself were accidentally built Universal, and based on the filesize alone I'd say there is little or no chance they made such an error. So, as written, this otherwise promising hack doesn't actually install 10.2. :(

    ReplyDelete
  4. Hi,
    Just a couple of lines to thank you so much for your work. I've tried TenFourFox7450-4.0b12 on my powerbook g4. It's faster-faster-faster, so smooth and seamless!

    Looking forward to RC

    Salute!-cheers

    ReplyDelete
  5. Cameron, thanks for explaining his smoke and mirrors. I tried it on my ibook G4 today and it was a no go, all I got was 10.1 installed. Guess all of us PowerPC holdouts will all just have to learn to live without flash in the future. I've heard someone is working on Lightspark for PPC on linux, maybe that could be ported over to the mac. Tenfourfox with flashbocker loads pages hellaciously fast (puts camino to shame) and there is no annoying screen tear from the plugin.

    ReplyDelete
  6. Thanks for all your hard work. I recently acquired a Mac Mini G4 (1.25GHz) from a friend and it's quite quickly become my primary computer (I've been a Linux guy for a good few years). Now I've got a web browser that runs at a usable speed for modern Javascript based content the little old mac isn't going anywhere!

    ReplyDelete

Due to an increased frequency of spam, comments are now subject to moderation.