Posts: 567 | Thanked: 2,965 times | Joined on Oct 2009
#11
Best codebase to go with would probably be the 24.8.1 ESR release at https://hg.mozilla.org/releases/mozilla-esr24/ as it would have had security fixes and such back-ported to it.
It doesn't contain the removals from bug 906072 so we are good there I hope.
 

The Following 6 Users Say Thank You to jonwil For This Useful Post:
Posts: 1,203 | Thanked: 3,027 times | Joined on Dec 2010
#12
I know embedlite (QT) built ok up to 29 development when they removed QT4 support. if I recall correctly I did try GTK build then but it didn't build because of it made user of features in newer GTK.
 

The Following 3 Users Say Thank You to Android_808 For This Useful Post:
Posts: 567 | Thanked: 2,965 times | Joined on Oct 2009
#13
If we are going to replace microb-engine (the best option IMO), we need to stick with GTK as the closed UI blobs send GTK objects (or rather xid's of GTK objects) to the browser daemon and vice versa. I see no reason we can't back-port the specific things in GTK 2.18 that FF24 needs back to the Maemo GTK 2.14 tree.
 

The Following 5 Users Say Thank You to jonwil For This Useful Post:
Posts: 567 | Thanked: 2,965 times | Joined on Oct 2009
#14
Oh and if we dropped support for Flash (the version we have in Maemo is ancient and has who knows how many security flaws and such) we could probably avoid the need to care about bug 653201 and related items (IIRC the Flash plugin is the only thing that used it)
 

The Following 9 Users Say Thank You to jonwil For This Useful Post:
Posts: 1,203 | Thanked: 3,027 times | Joined on Dec 2010
#15
Flash gone would be fine. Update would allow fixes for other plugins such as adblock. Versions supporting microb had awful memory leak iirc.

Agree about GTK. Only mentioned embedlite because I know dependency wise, other than GTK, we should be OK.
 

The Following 6 Users Say Thank You to Android_808 For This Useful Post:
Posts: 567 | Thanked: 2,965 times | Joined on Oct 2009
#16
I have compared the microb-engine sources from https://github.com/community-ssu/microb-engine to the matching Mozilla 1.9.2 sources and if we ignore the debian folder (and the patches in there), the only other differences are the change for
https://github.com/community-ssu/mic...7daa7b8e2cfa63
and the change for https://github.com/community-ssu/mic...405a7e12865ea2

Not sure if we need either of these changes in the new microb-engine or not.

In terms of the local patches applied by the build process, the list is in https://github.com/community-ssu/mic...series.microb2

We need to identify which of these changes already exist in FF24, which are no longer needed and which we still need going forward.

The biggest problem is going to be identifying all the bugs on bugzilla.mozilla.org that we may need to do something with (we found a few but finding them all will be difficult I suspect)

Last edited by jonwil; 2018-05-26 at 23:58.
 

The Following 15 Users Say Thank You to jonwil For This Useful Post:
Posts: 567 | Thanked: 2,965 times | Joined on Oct 2009
#17
I am analyzing the patches listed in the previously linked series.microb2 file. That list contains 114 patches. These are the patches I have analyzed so far and what I have found.

http://browser.garage.maemo.org/docs/patches.html is also potentially useful since it describes some of the patches.
Also https://bugzilla.mozilla.org/show_bug.cgi?id=401821 has lots of links to useful bugs in bugzilla.mozilla.org.

Patches that match to a bugzilla.mozilla.org bug: (the ones I have found so far anyway)
002_drawingMissingGlyphs.diff bug 463927 (fix never committed, looks easy to forward-port)
010_BUG376279_security_cross_compile.diff bug 376279 (build system has been changed so much in FF24 its unclear if this is needed or not)
010_BUILDFIX_embedding_tests.diff bug 93213 (related to the now removed gtk embedding stuff, will need to be sorted out as part of bringing that back)
020_nspr_dpkg_cross.diff bug 376256 (build system has been changed so much in FF24 its unclear if this is needed or not)
020_nsWindowCreator2_iface.diff bug 437018 (related to the now removed gtk embedding stuff, will need to be sorted out as part of bringing that back)
023_PC_CONFIG_sqlite_neededby_libsoftokn.diff bug 463928 (unclear if we still need this for Fremantle or not)
030_host_libidl_dpkg_cross.diff bug 401831 (build system has been changed so much in FF24 its unclear if this is needed or not)
130_456015.certview.diff bug 456015 (fix never completed, looks easy to forward port)

More analysis to come later.
 

The Following 9 Users Say Thank You to jonwil For This Useful Post:
Posts: 567 | Thanked: 2,965 times | Joined on Oct 2009
#18
More patches that match to a bugzilla.mozilla.org bug:
040_netwerk_buffer_count.diff bug 401836 (unclear if we still need this, too many changes to the networking code to tell where this code has moved to)
675_unknown_protocol_handling.diff bug 401848 (fix never committed, looks easy to forward-port)
GConfProxySettings.diff bug 458211 (fix never committed, dont know if we still need it, can't find where the relavent code has moved to)
020_BUG349921_toolkit_branding.diff bug 401851 (build system has been changed so much in FF24 its unclear if this is needed or not)
JSBreakExperimental.diff bug 449109 (fix never committed, looks easy to forward-port)
150_attachment.cgi?id=342275.diff bug 459078 (fix never committed, dont know if we still need it, can't find where the relavent code has moved to)
854ab30d101e.diff bug 513544 (already in FF24)
92422.workaround.diff bug 469667 (fix never committed, looks easy to forward-port)
attachment.cgi?id=408390.diff bug 485252 (already in FF24)
attachment.cgi?id=418542.diff bug 536031 (already in FF24)
attachment.cgi?id=419012.diff bug 536560 (already in FF24)
attachment.cgi?id=419536.diff bug 507811 (already in FF24)
attachment.cgi?id=45208.diff bug 532626 (fix never committed, dont know if we still need it, can't find where the relavent code has moved to)
attachment.cgi?id=45209.diff bug 532627 (already in FF24)
attachment.cgi?id=46259.diff bug 488046 (already in FF24)
BMO530075_connectivity_ui_fix.diff bug 530075 (fix never committed, looks easy to forward-port)
bug137606.diff bug 523941 (fix never committed, doesn't look important since its just string changes)
bug143563.diff bug 532612 (already in FF24)
bug491722.diff bug 491722 (already in FF24)
bug505018.jemalloc.diff bug 505918 (related to the now removed gtk embedding stuff, will need to be sorted out as part of bringing that back)
Bug513630.workaround.diff bug 513630 (related to the now removed gtk embedding stuff, will need to be sorted out as part of bringing that back)
bug513736.wr.diff bug 513736 (already in FF24)
bug533950_wr.diff bug 533950 (fix never committed, dont know if we still need it, can't find where the relavent code has moved to)
bug546074.diff bug 546074 (already in FF24)
bug588724.diff bug 588724 (fix never committed, looks easy to forward-port)
CheckCompatibilitySave.diff bug 532620 (fix never committed, the relavent code is gone now so we dont need this I guess)
conic.diff bug 532072 (already in FF24)
connectivity.diff bug 532078 (fix never committed, looks easy to forward-port)
DBFlush_systemIdle.diff bug 518804 (already in FF24)
disable_refresh_in_bg.diff bug 518805 (fix never committed, looks easy to forward-port)
enable_16bpp_format.diff bug 386440 (unclear from the bug if its in FF24 or not or what we need to do about it)
gnomevfs_ext_without_gnomevfs.diff bug 532621 (already in FF24)
hildon_mime_missing.diff bug 532610 (seems to not be required anymore due to other code changes)
idleservicetimer.diff bug 559784 (seems to not be required anymore due to other code changes)
LowMemoryManageImprovements.diff bug 532623 (seems to not be required anymore due to other code changes)
nb128288.diff bug 532614 (already in FF24)
nolibxul_pkgconfig.diff bug 482104 (fix never committed, looks easy to forward-port)
osso-mem.diff bug 532608 (already in FF24)
UICallback_CC.diff bug 508518 (already in FF24)
watchdog.diff bug 477850 (seems to not be required anymore due to other code changes)

"already in FF24" means the patch was committed to mozilla-central with a milestone that pre-dates FF24 and therefore the fix doesn't need to be applied.

There are a total of 47 patches that I can match to a bugzilla.mozilla.org bug (all of which I have mentioned here).

I suspect all of the remaining 67 patches will need to be manually checked (figure out if they need to be forward ported to FF24, rewritten to do something totally different or just ignored)
 

The Following 11 Users Say Thank You to jonwil For This Useful Post:
Posts: 567 | Thanked: 2,965 times | Joined on Oct 2009
#19
I have now taken the Firefox 24.8.1 ESR source code, copied over the /debian folder from microb-engine, disabled all the patches (since they obviously wont apply to FF24 cleanly) and tried to build. Doesn't get very far before complaining about a syntax error on line 80 of python/mozbuild/mozbuild/controller/clobber.py
with open(self.src_clobber, 'rt') as fh:

Turns out we need Python 2.7 (all the other dependencies listed on the "linux prerequisites" page that matches Firefox 24 seem to be correct/new enough/whatever, its just Python that is out of date.
But it looks like http://talk.maemo.org/showthread.php?t=91341 has instructions for getting Python 2.7 going so we should be good.
 

The Following 6 Users Say Thank You to jonwil For This Useful Post:
Posts: 567 | Thanked: 2,965 times | Joined on Oct 2009
#20
And now I found Python 2.7 in extras-devel. That should work
And yep, that works, now to find a newer GCC

Last edited by jonwil; 2018-05-28 at 11:40.
 

The Following 7 Users Say Thank You to jonwil For This Useful Post:
Reply

Thread Tools

 
Forum Jump


All times are GMT. The time now is 08:40.