Bug 211792 - www/firefox: Update to 48.0.2
Summary: www/firefox: Update to 48.0.2
Status: Closed FIXED
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-gecko (Nobody)
URL:
Keywords: patch-ready
Depends on:
Blocks:
 
Reported: 2016-08-12 20:11 UTC by Jochen Neumeister
Modified: 2016-09-11 23:59 UTC (History)
8 users (show)

See Also:
bugzilla: maintainer-feedback? (gecko)


Attachments
firefox48.0.diff (16.17 KB, patch)
2016-08-12 20:11 UTC, Jochen Neumeister
no flags Details | Diff
poudriere log 10.3amd64 (57.87 KB, text/x-log)
2016-08-12 20:11 UTC, Jochen Neumeister
no flags Details
wip (59.20 KB, patch)
2016-08-14 02:06 UTC, Jan Beich
no flags Details | Diff
Patch for 10.3 + 12 (52.71 KB, patch)
2016-08-17 20:17 UTC, Jochen Neumeister
no flags Details | Diff
Firefox 48.0.1 port directory (35.62 KB, application/x-compressed-tar)
2016-08-19 19:18 UTC, Ruslan Makhmatkhanov
no flags Details
Patch to update to 48.0.2 (31.72 KB, patch)
2016-09-05 21:58 UTC, Sean Farley
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jochen Neumeister freebsd_committer freebsd_triage 2016-08-12 20:11:07 UTC
Created attachment 173609 [details]
firefox48.0.diff

Today, beat from gecko@ helps me, to update Firefox 48.0

make patch works fine, but poudriere stop with a configure_error (mozbuild.configure.options.InvalidOptionError: Environment variable name must be all uppercase).
I have no idea how I could solve the problem.

I upload the patch, as it is currently, and the log from Poudriere 10.3 amd64.

I hope, some people have a idea.

cheers
Jochen
Comment 1 Jochen Neumeister freebsd_committer freebsd_triage 2016-08-12 20:11:33 UTC
Created attachment 173610 [details]
poudriere log 10.3amd64
Comment 2 Jan Beich freebsd_committer freebsd_triage 2016-08-14 02:06:24 UTC
Created attachment 173645 [details]
wip

My version isn't much different except it breaks after some configure options were refactored upstream.
Comment 3 Jochen Neumeister freebsd_committer freebsd_triage 2016-08-17 20:16:01 UTC
Currently builds FreeBSD 10.3 and 12 amd64 and i386.

FreeBSD 9.3 breaks with an error rate: http://builder.miwibox.org/data/93amd64-ports/2016-08-17_16h49m55s/logs/errors/firefox-48.0,1.log
Comment 4 Jochen Neumeister freebsd_committer freebsd_triage 2016-08-17 20:17:09 UTC
Created attachment 173799 [details]
Patch for 10.3 + 12
Comment 5 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2016-08-19 16:05:08 UTC
(In reply to Jochen Neumeister from comment #4)
Aren't some patches in files/ directory should be removed? `make patch` fails to apply cleanly for me. It complains to patch-bug1233275, patch-bug1256136, and patch-bug1285501
Comment 6 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2016-08-19 16:07:33 UTC
And there is firefox 48.0.1 released already, that is fixing some breakages. May be it worth to adjust the patch to that version?
Comment 7 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2016-08-19 19:16:50 UTC
So here is my attempt of porting to 48.0.1 (was built fine in 12 poudriere, not tested with others versions). Actually this is a combination of patches by Jochen and jbeich@. Most important is that style of widgets finally looks as it should with gtk 3.20! It's just port directory tarball.
Comment 8 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2016-08-19 19:18:48 UTC
Created attachment 173872 [details]
Firefox 48.0.1 port directory
Comment 9 Kurt Jaeger freebsd_committer freebsd_triage 2016-08-21 19:46:48 UTC
testbuilds@work
Comment 10 Jochen Neumeister freebsd_committer freebsd_triage 2016-08-22 16:45:41 UTC
Hi all,

today, i start at zero with 48.0.1.

now I have a problem with patch-modules-libpref-init-all.js


The following part in modules/libpref/init/all.js is no longer exists:


// Set the default values, and then override per-platform as needed
 pref("layers.offmainthreadcomposition.enabled", true);

Does it make sense, the patch to use anyway?


While, when "pref(......, true);" not longer exist, make "pref(....., false);" no sense, or have I got that wrong?

Your feedback?
Comment 11 Jan Beich freebsd_committer freebsd_triage 2016-08-29 16:14:29 UTC
files/patch-modules-libpref-init-all.js can be removed as long as BUNDLED_CAIRO=off doesn't make firefox crash after a hour of usage.
Comment 12 Shawn Webb 2016-09-04 13:32:52 UTC
(In reply to Jochen Neumeister from comment #0)

I'm getting the exact same error when using the latest patch (the tarball uploaded by Ruslan on 19 Aug 2016).
Comment 13 Sean Farley freebsd_committer freebsd_triage 2016-09-05 21:58:26 UTC
Created attachment 174398 [details]
Patch to update to 48.0.2

I took everything that others--Thank you, all!--had put together, updated to 48.0.2 and deleted patches that are no longer needed.

Removed:
- patch-bug1233275 (included in 48.0.2)
- patch-bug1285501 (included in 48.0.2)
- patch-modules-libpref-init-all.js (apparently no longer needed)

Regarding the last patch that disabled layers.offmainthreadcomposition.enabled by default, I have been running with that enabled for a long time.  With 48.0.1 and 48.0.2 (and previous versions), I have not noticed any crashes with Firefox built with BUNDLED_CAIRO=off.  Currently, my system has cairo-1.14.6_1,2.  This was all tested on FreeBSD 10-STABLE amd64.

Please let me know if there was a specific way to crash Firefox with layers.offmainthreadcomposition.enabled set to true, so I may test it.
Comment 14 Kurt Jaeger freebsd_committer freebsd_triage 2016-09-06 18:33:38 UTC
testbuilding right now
Comment 15 Jan Beich freebsd_committer freebsd_triage 2016-09-07 02:32:45 UTC
Comment on attachment 174398 [details]
Patch to update to 48.0.2

Mk/Uses/gecko.mk change has to be careful to not break -i18n port(s), Mk/bsd.gecko.mk - not break www/firefox-esr, www/seamonkey, etc.

  $ make all-depends-list -C www/firefox-i18n
  /usr/ports/ports-mgmt/pkg
  /usr/ports/archivers/zip
  /usr/ports/archivers/unzip
  /usr/ports/www/xpi-quick-locale-switcher

  $ make -C www/firefox-esr
  ...
  rm -f libjemalloc.a libjemalloc.a.desc
  /wrkdirs/usr/ports/www/firefox-esr/work/firefox-45.3.0esr/obj-x86_64-portbld-freebsd10.3/_virtualenv/bin/python /wrkdirs/usr/ports/www/firefox-esr/work/firefox-45.3.0esr/config/expandlibs_exec.py --extract -- : crs libjemalloc.a ctl.o Unified_c_memory_jemalloc0.o Unified_c_memory_jemalloc1.o  
  error: Launching [':', 'crs', 'libjemalloc.a', 'ctl.o', 'Unified_c_memory_jemalloc0.o', 'Unified_c_memory_jemalloc1.o'] : [Errno 2] No such file or directory
  Traceback (most recent call last):
    File "/wrkdirs/usr/ports/www/firefox-esr/work/firefox-45.3.0esr/config/expandlibs_exec.py", line 354, in <module>
      exit(main(sys.argv[1:]))
    File "/wrkdirs/usr/ports/www/firefox-esr/work/firefox-45.3.0esr/config/expandlibs_exec.py", line 343, in main
      raise e
  OSError: [Errno 2] No such file or directory

>-.elif ${OPSYS} != FreeBSD || ${OSVERSION} < 1000012 || ${MOZILLA_VER:R:R} >= 37
>+.elif ${OPSYS} != FreeBSD || ${OSVERSION} < 1000012 || \
>+	${MOZILLA_VER:R:R} >= 37 && ${MOZILLA_VER:R:R} < 48
> MOZ_OPTIONS+=	--enable-jemalloc
> .endif

Bundled jemalloc is still useful to plug missing functionality[1] not provided by base malloc(3) on old FreeBSD systems. What broke upstream is passing MOZ_JEMALLOC4=1 together with --enable-jemalloc as one is supposed to use --enable-jemalloc=4 instead. --enable-jemalloc alone never worked on FreeBSD because Mozilla's fork has bitrotten[2] the support but no such an issue exists in upstream jemalloc. Unfortunately, Mozilla doesn't allocate (human) resources to fix issues on Tier3 platforms. jemalloc 3.0 is when things started to converge for Facebook, Mozilla, various BSDs, but even with jemalloc 4.2.1 it's still not enabled by default for Firefox (release branches).

[1] jemalloc API usage in gecko ports:
    - heap-* stats via mallctl(3) in about:memory (a warning otherwise)
    - freeing dirty pages on memory pressure via mallctl(3)
    - optimized allocation via nallocx(3) in sqlite and AudioCompactor
    - MALLOC_CONF=narenas:1,tcache:false tuning
    - G_SLICE=always-malloc tuninig

[2] https://bugzilla.mozilla.org/show_bug.cgi?id=1153683
Comment 16 Jan Beich freebsd_committer freebsd_triage 2016-09-07 09:40:32 UTC
Firefox 49.0 is going to be released around 2016-09-13, so you may want to adjust update pending new security advisories.
Comment 17 Kurt Jaeger freebsd_committer freebsd_triage 2016-09-07 10:06:28 UTC
(In reply to Kurt Jaeger from comment #14)
testbuilds are all fine (except 9.3a, which depends on ftp/curl, which fails to build.

So: Should this update be committed ?
Comment 18 Ruslan Makhmatkhanov freebsd_committer freebsd_triage 2016-09-07 10:19:46 UTC
(In reply to Kurt Jaeger from comment #17)
I'm not in charge here, but I was under expression that 9.3 reaches it's EOL at 1 of September. Now I see that it was extended to 31 of December((
Comment 19 Jan Beich freebsd_committer freebsd_triage 2016-09-07 11:27:02 UTC
(In reply to Kurt Jaeger from comment #17)
> testbuilds are all fine (except 9.3a...)

Did you confirm other consumers are fine with Mk/* changes (see comment 15)? Otherwise, wait for beefy* boxes to start building past ports r421490 in order to avoid mixing regression windows.
Comment 20 Kurt Jaeger freebsd_committer freebsd_triage 2016-09-07 11:43:44 UTC
(In reply to Jan Beich from comment #19)
No, I only verified www/firefox itself.
Comment 21 commit-hook freebsd_committer freebsd_triage 2016-09-08 06:49:08 UTC
A commit references this bug:

Author: jbeich
Date: Thu Sep  8 06:48:55 UTC 2016
New revision: 421531
URL: https://svnweb.freebsd.org/changeset/ports/421531

Log:
  www/firefox: update to 49.0 (rc2)

  Bump PORTREVISION to account for slightly different behavior in other
  gecko@ ports and to get a discrete regression window.

  Changes:	https://www.mozilla.org/firefox/49.0/releasenotes/
  PR:		211792
  Submitted by:	Jochen Neumeister <joneum@bsdproject.de> (based on)
  Security:	2c57c47e-8bb3-4694-83c8-9fc3abad3964
  MFH:		2016Q3

Changes:
  head/Mk/Uses/gecko.mk
  head/Mk/bsd.gecko.mk
  head/mail/thunderbird/Makefile
  head/www/firefox/Makefile
  head/www/firefox/Makefile.options
  head/www/firefox/distinfo
  head/www/firefox/files/patch-bug1013882
  head/www/firefox/files/patch-bug1021761
  head/www/firefox/files/patch-bug1233275
  head/www/firefox/files/patch-bug1245076
  head/www/firefox/files/patch-bug1268816
  head/www/firefox/files/patch-bug1269171
  head/www/firefox/files/patch-bug1285501
  head/www/firefox/files/patch-bug1288587
  head/www/firefox/files/patch-bug847568
  head/www/firefox/files/patch-ijg-libjpeg
  head/www/firefox/files/patch-modules-libpref-init-all.js
  head/www/firefox/files/patch-z-bug517422
  head/www/firefox-esr/Makefile
  head/www/firefox-i18n/Makefile
  head/www/firefox-i18n/distinfo
  head/www/libxul/Makefile
  head/www/seamonkey/Makefile
  head/www/seamonkey/files/patch-bug1234033
Comment 22 commit-hook freebsd_committer freebsd_triage 2016-09-08 06:50:14 UTC
A commit references this bug:

Author: jbeich
Date: Thu Sep  8 06:49:11 UTC 2016
New revision: 421532
URL: https://svnweb.freebsd.org/changeset/ports/421532

Log:
  www/firefox: re-enable OMTC for BUNDLED_CAIRO=off (backing out r393805)

  OMTC is also required to support Electrolysis (called Multiprocess Windows in
  about:support) introduced in Firefox 48 via e10srollout@mozilla.org system addon.

  PR:		202174, 211792
  Tested by:	scf
  MFH:		2016Q3

Changes:
  head/www/firefox/Makefile
  head/www/firefox/files/patch-modules-libpref-init-all.js
Comment 23 Jan Beich freebsd_committer freebsd_triage 2016-09-08 07:08:03 UTC
If I've missed something file a new bug. 9.x should build fine but fixing it required lang/gcc5 to build widevine-adaptor[1] and disabling DTRACE because "javascript-trace.d: failed to allocate space for probe".

[1] unused on FreeBSD per https://bugzilla.mozilla.org/show_bug.cgi?id=1295853#c4
Comment 24 commit-hook freebsd_committer freebsd_triage 2016-09-11 23:56:43 UTC
A commit references this bug:

Author: jbeich
Date: Sun Sep 11 23:56:32 UTC 2016
New revision: 421884
URL: https://svnweb.freebsd.org/changeset/ports/421884

Log:
  MFH: r421531 r421645

  www/firefox: update to 49.0 (rc2)

  Bump PORTREVISION to account for slightly different behavior in other
  gecko@ ports and to get a discrete regression window.

  Changes:	https://www.mozilla.org/firefox/49.0/releasenotes/
  PR:		211792
  Submitted by:	Jochen Neumeister <joneum@bsdproject.de> (based on)
  Security:	2c57c47e-8bb3-4694-83c8-9fc3abad3964
  Approved by:	ports-secteam (feld)

Changes:
_U  branches/2016Q3/
  branches/2016Q3/Mk/Uses/gecko.mk
  branches/2016Q3/Mk/bsd.gecko.mk
  branches/2016Q3/mail/thunderbird/Makefile
  branches/2016Q3/www/firefox/Makefile
  branches/2016Q3/www/firefox/Makefile.options
  branches/2016Q3/www/firefox/distinfo
  branches/2016Q3/www/firefox/files/patch-bug1013882
  branches/2016Q3/www/firefox/files/patch-bug1021761
  branches/2016Q3/www/firefox/files/patch-bug1233275
  branches/2016Q3/www/firefox/files/patch-bug1288587
  branches/2016Q3/www/firefox/files/patch-bug847568
  branches/2016Q3/www/firefox/files/patch-ijg-libjpeg
  branches/2016Q3/www/firefox/files/patch-modules-libpref-init-all.js
  branches/2016Q3/www/firefox/files/patch-z-bug517422
  branches/2016Q3/www/firefox-esr/Makefile
  branches/2016Q3/www/firefox-i18n/Makefile
  branches/2016Q3/www/firefox-i18n/distinfo
  branches/2016Q3/www/libxul/Makefile
  branches/2016Q3/www/seamonkey/Makefile
  branches/2016Q3/www/seamonkey/files/patch-bug1234033
Comment 25 commit-hook freebsd_committer freebsd_triage 2016-09-11 23:59:49 UTC
A commit references this bug:

Author: jbeich
Date: Sun Sep 11 23:58:51 UTC 2016
New revision: 421886
URL: https://svnweb.freebsd.org/changeset/ports/421886

Log:
  MFH: r421532

  www/firefox: re-enable OMTC for BUNDLED_CAIRO=off (backing out r393805)

  OMTC is also required to support Electrolysis (called Multiprocess Windows in
  about:support) introduced in Firefox 48 via e10srollout@mozilla.org system addon.

  PR:		202174, 211792
  Tested by:	scf
  Approved by:	ports-secteam (feld)

Changes:
_U  branches/2016Q3/
  branches/2016Q3/www/firefox/Makefile
  branches/2016Q3/www/firefox/files/patch-modules-libpref-init-all.js