Mike Hommey: xulrunner 1.9.1.6-2 diff stats
As part of preparing xulrunner 1.9.2 (which would lead to Iceweasel 3.6), I have gone through all the patches currently applied to the latest xulrunner release, to keep track of what should be upstreamed, what needed feedback, what patches I needed to update in upstream bugzilla, etc.
As I have talked about our differences with upstream on a few occasions already, and as I was doing this grunt work anyway, I thought it would be nice to make the results public.
First, a few reference numbers (excluding changes to generated
Those that were picked from upstream, or sent and eventually applied in 1.9.2 or trunk (12 files changed, 68 insertions(+), 41 deletions(-)):
configure files):
- Changes between upstream 1.9.0.1 and Debian release 1.9.0.1-1: 85 files changed, 1163 insertions(+), 644 deletions(-)
- Changes between upstream 1.9.0.16 and Debian release 1.9.0.16-1: 86 files changed, 1177 insertions(+), 634 deletions(-)
- Changes between upstream 1.9.1 and Debian release 1.9.1-1: 70 files changed, 770 insertions(+), 363 deletions(-)
- Changes between upstream 1.9.1.6 and Debian release 1.9.1.6-1: 76 files changed, 796 insertions(+), 380 deletions(-)
- Changes between upstream 1.9.1.5 and upstream 1.9.1.6: 165 files changed, 3094 insertions(+), 1387 deletions(-)
- Changes between upstream 1.9.1 and upstream 1.9.1.6: 1263 files changed, 64322 insertions(+), 67376 deletions(-) (though more than half of that relates to upstream bump of sqlite3 and the vorbis stack)
- There are less changes between upstream and Debian than between two consecutive upstream versions.
- Debian changes only account for changes to the xulrunner package, i.e. it excludes changes to Iceweasel itself, or to nspr or nss, but these are far less important in number.
- The number of changes applied decreases when switching to a new upstream branch. This is mostly due to patches getting applied upstream.
- Debian patches on a given branch are pretty stable. In other words, most of the work is done on the first release of the branch.
make clean/distclean doesn t leave stuff around and that xulrunner can be properly built twice in a row.
Differences between 1.9.1.6-1 and 1.9.1.6-2 look like this: 31 files changed, 341 insertions(+), 167 deletions(-).
Some were stolen from bugzilla (13 files changed, 162 insertions(+), 70 deletions(-)):
- https://bugzilla.mozilla.org/show_bug.cgi?id=458631
- https://bugzilla.mozilla.org/show_bug.cgi?id=519468
- https://bugzilla.mozilla.org/show_bug.cgi?id=525047
- Test suite issues (2 files changed, 3 insertions(+), 4 deletions(-)):
make clean/distcleanissues (10 files changed, 28 insertions(+), 15 deletions(-)):- https://bugzilla.mozilla.org/show_bug.cgi?id=541767
- https://bugzilla.mozilla.org/show_bug.cgi?id=541768
- https://bugzilla.mozilla.org/show_bug.cgi?id=541769
- https://bugzilla.mozilla.org/show_bug.cgi?id=541770
- https://bugzilla.mozilla.org/show_bug.cgi?id=541774
- https://bugzilla.mozilla.org/show_bug.cgi?id=543464
- https://bugzilla.mozilla.org/show_bug.cgi?id=543469
- Other issues (8 files changed, 112 insertions(+), 49 deletions(-)):
- https://bugzilla.mozilla.org/show_bug.cgi?id=538929
- https://bugzilla.mozilla.org/show_bug.cgi?id=542749
- Disable python-xpcom tests for now.
- Disable javaxpcom tests at build time when DEB_NO_JAR is unset.
- Synchronize config/rules.mk and js/src/config/rules.mk for check-sync-dirs.py (we used to localize the changes required in each config/rules.mk, but as we now run <core>make check they need to be synchronized)</core>
- Workaround for https://bugzilla.mozilla.org/show_bug.cgi?id=455238
- Remove enable-system-lcms check, which somehow resisted merges with upstream
- Properly clean xulrunner/installer/*.system.conf
Those that were picked from upstream, or sent and eventually applied in 1.9.2 or trunk (12 files changed, 68 insertions(+), 41 deletions(-)):
- https://bugzilla.mozilla.org/show_bug.cgi?id=331779 (this one was applied on Fennec)
- https://bugzilla.mozilla.org/show_bug.cgi?id=442196
- https://bugzilla.mozilla.org/show_bug.cgi?id=444918
- https://bugzilla.mozilla.org/show_bug.cgi?id=481350
- https://bugzilla.mozilla.org/show_bug.cgi?id=491617
- https://bugzilla.mozilla.org/show_bug.cgi?id=491646
- https://bugzilla.mozilla.org/show_bug.cgi?id=501241
- https://bugzilla.mozilla.org/show_bug.cgi?id=502369
- https://bugzilla.mozilla.org/show_bug.cgi?id=510040
- https://bugzilla.mozilla.org/show_bug.cgi?id=514151
- https://bugzilla.mozilla.org/show_bug.cgi?id=331776 (the part that remains in Debian needs to be sent in a new bug as this one is closed)
- https://bugzilla.mozilla.org/show_bug.cgi?id=349985
- https://bugzilla.mozilla.org/show_bug.cgi?id=356011
- https://bugzilla.mozilla.org/show_bug.cgi?id=428765
- https://bugzilla.mozilla.org/show_bug.cgi?id=434190 (we actually don t have a patch for this one, but a workaround is in bz#486681 below)
- https://bugzilla.mozilla.org/show_bug.cgi?id=435683
- https://bugzilla.mozilla.org/show_bug.cgi?id=440908
- https://bugzilla.mozilla.org/show_bug.cgi?id=444440
- https://bugzilla.mozilla.org/show_bug.cgi?id=444477
- https://bugzilla.mozilla.org/show_bug.cgi?id=486681
- https://bugzilla.mozilla.org/show_bug.cgi?id=501300
- https://bugzilla.mozilla.org/show_bug.cgi?id=506224
- https://bugzilla.mozilla.org/show_bug.cgi?id=530534
- https://bugzilla.mozilla.org/show_bug.cgi?id=445128
- https://bugzilla.mozilla.org/show_bug.cgi?id=501434
- https://bugzilla.mozilla.org/show_bug.cgi?id=528687
- xulrunner-config: Give more appropriate cflags and libs
- Install applications in /usr/local/lib instead of /usr/lib
- Unhide release notes link in about: but only if app.releaseNotesURL is defined
- In about:, Don t put an about:blank link when there is no vendorURL defined
- Don t use static strings when setting environment variables
- Exec instead of uselessly forking in xulrunner launcher script
- Disable optimization on alpha for the url-classifier component (this will probably wait for the test suite failures on various architectures to be fixed)
- Build js shell and xpcshell against system libreadline
- Don t export js_SetTraceableNativeFailed, which is only used internally
- Increase stability and performance on mips and mipsel
- Feature changes:
- Disable APNG support when system libpng doesn t support it (6 files changed, 71 insertions(+), 10 deletions(-) ; mostly #ifdef ing parts of the code related to animation)
- Use application.ini from where the xulrunner-stub lies (1 files changed, 14 insertions(+), 3 deletions(-) ; This one may be dropped and replaced by something totally different, possibly upstreamed)
- Don t register plugins if the MOZILLA_DISABLE_PLUGINS environment variable is set (1 files changed, 25 insertions(+), 0 deletions(-) ; very useful to isolate plugin-related crashes ; I don t think it s worth upstreaming considering the upcoming plugin-in-separate-process work)
- Remove (un )registering system (1 files changed, 0 insertions(+), 43 deletions(-) ; xulrunner versions that are installed by a package manager don t need to be registered, since the package does it already ; a variant that conditionally removes it may be upstreamable)
- Preferences changes:
- Set javascript.options.showInConsole (1 files changed, 1 insertions(+), 0 deletions(-))
- Set DPI to system settings (1 files changed, 1 insertions(+), 1 deletions(-))
- Cosmetic changes:
- Install loading_16_grey.gif in classic.jar, and add an override for loading16.png (1 files changed, 2 insertions(+), 0 deletions(-) ; Since we don t support APNG, we replace the most used one by its (ugly) GIF equivalent)
- Add links for about:bugs and about:README.Debian in about: (3 files changed, 19 insertions(+), 0 deletions(-) ; I d like to make that something living in debian/extra-stuff)
- Integration changes:
- Add another preferences directory for applications: defaults/syspref (1 files changed, 2 insertions(+), 0 deletions(-))
- Add an rpath to libpyloader.so and _xpcom.so (2 files changed, 2 insertions(+), 0 deletions(-) ; allows python xpcom to work out of the box)
- Forward-port nsIBadCertListener from 1.8 (4 files changed, 266 insertions(+), 1 deletions(-) ; This is necessary for at least galeon and kazehakase, because the new interface is useless for embedding applications)
- Build-related changes:
- Allow to override the PYTHON_SO variable (1 files changed, 1 insertions(+), 1 deletions(-))
- Put the crmf library before the NSS libraries (1 files changed, 1 insertions(+), 1 deletions(-))
- Allow to build java jar files in 2 pass (2 files changed, 8 insertions(+), 2 deletions(-))
- Avoid libxpcom being excluded from linked libraries by -Wl, as-needed (1 files changed, 2 insertions(+), 0 deletions(-))
- Ignore system libjpeg, libpng and zlib version checking (1 files changed, 3 insertions(+), 3 deletions(-))
- Force to not use -fshort-wchar (1 files changed, 1 insertions(+), 1 deletions(-))
- Add soversion to libmozjs (2 files changed, 19 insertions(+), 2 deletions(-) ; useful for couchdb, libjavascript-perl and others)
- Don t build example component (1 files changed, 0 insertions(+), 1 deletions(-))
- Don t install system profile (1 files changed, 0 insertions(+), 2 deletions(-))
The first time we looked at this condo that we ended up buying, I looked at
the cupboard under the stairs, and could visualise a small 19 inch rack in
the lower part of it, with all of my computer gear in it.
When we got structured cabling installed, I had the CAT-6 cabling terminated
onto a basic 19 inch patch panel, with the intent of mounting this in a
rack.
Then it became a case of trying to find a rack.
My favourite junk shop,
Agile Business Analysts?
I have recently been fleshing out my thoughts on the role of business analysts in an Agile team. This is something I have historically addressed on a case-by-case basis with clients, but when thinking about it last week at a client site, I realized that I do have a general take on how the role and responsibilities of a business analyst change when a group moves to using an Agile process. Per the usual, I ll be using Scrum as the example process where needed.
The Classical Roles
Historically the business analyst has had two primary roles. In a process where cross-functional communication and collaboration are minimized, these roles are essential. What little communication that takes place between the business and the software development teams purporting to serve them passes almost exclusively through one or more business analysts. I view the business analyst in a phased development approach as having two roles; Translator and Gatekeeper.
The Translator
The business analyst is primarily tasked with taking the needs of the business and translating them into a written document that is then handed to the software developers and testers. This role s necessity is based upon some fundamental assumptions. First, programmers and testers are on the whole, too socially retarded to actually talk to the business persons and find out what they want. Second, the business is primarily viewed as being unable to focus its thought long enough to tell the programmers and testers what they need. Since a key value of an Agile approach to software development is to have individuals and their interactions be the driving force rather than processes an tools (see

Yesterday, and about nine days after
I have been playing a bit around with Maemo and writing Qt apps for n900. I ended up needing a rotation aware QMainWindow a couple of times, so I ended up abstracting it away in my own MaemoMainWindow, which I just wanted to share. It has enough ifdefs to also build against normal Qt, outside Maemo.
Have fun. Available under any license.
maemomainwindow.h:
On Wednesday I got DAM approval and since Saturday late evening
... please try to prevent your upload from hitting the