Bug 219963 - www/firefox: update to 55.0
Summary: www/firefox: update to 55.0
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 mailing list
URL: https://wiki.mozilla.org/Releases/Fir...
Keywords: patch
Depends on: 218912
Blocks: 221335
  Show dependency treegraph
 
Reported: 2017-06-13 20:24 UTC by Jan Beich
Modified: 2017-08-10 15:37 UTC (History)
4 users (show)

See Also:


Attachments
beta1 (lacks -i18n) (43.94 KB, patch)
2017-06-13 20:26 UTC, Jan Beich
no flags Details | Diff
beta2 (85.84 KB, patch)
2017-06-16 14:25 UTC, Jan Beich
no flags Details | Diff
beta4 (80.74 KB, patch)
2017-06-23 09:52 UTC, Jan Beich
no flags Details | Diff
beta4 (81.81 KB, patch)
2017-06-23 09:53 UTC, Jan Beich
no flags Details | Diff
beta5 (81.85 KB, patch)
2017-06-27 03:59 UTC, Jan Beich
no flags Details | Diff
beta6 (119.29 KB, patch)
2017-06-30 01:58 UTC, Jan Beich
no flags Details | Diff
beta7 (119.38 KB, patch)
2017-07-07 22:27 UTC, Jan Beich
no flags Details | Diff
beta8 (139.67 KB, patch)
2017-07-11 19:36 UTC, Jan Beich
no flags Details | Diff
beta9 (479.73 KB, patch)
2017-07-14 12:51 UTC, Jan Beich
no flags Details | Diff
beta12 (480.03 KB, patch)
2017-07-25 07:31 UTC, Jan Beich
no flags Details | Diff
rc1 (480.62 KB, patch)
2017-08-01 12:51 UTC, Jan Beich
no flags Details | Diff
sqlite3 fix (1.89 KB, patch)
2017-08-08 21:38 UTC, Jan Beich
jkim: maintainer-approval+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Jan Beich freebsd_committer 2017-06-13 20:24:38 UTC
+++ This bug was initially created as a clone of Bug #218912 +++

Firefox 55 is scheduled on 2017-08-08 with release candidates available a week earlier. Early testing for non-default options is welcome e.g., RUST=off or SNDIO=on.
Comment 1 Jan Beich freebsd_committer 2017-06-13 20:26:24 UTC
Created attachment 183457 [details]
beta1 (lacks -i18n)
Comment 2 Jan Beich freebsd_committer 2017-06-16 14:25:58 UTC
Created attachment 183533 [details]
beta2
Comment 3 Jan Beich freebsd_committer 2017-06-23 09:52:19 UTC
Created attachment 183736 [details]
beta4
Comment 4 Jan Beich freebsd_committer 2017-06-23 09:53:41 UTC
Created attachment 183737 [details]
beta4

git diff --no-renames, so regular patch(1) understands
Comment 5 Jan Beich freebsd_committer 2017-06-27 03:59:05 UTC
Created attachment 183827 [details]
beta5
Comment 6 Jan Beich freebsd_committer 2017-06-30 01:58:01 UTC
Created attachment 183933 [details]
beta6
Comment 7 Jan Beich freebsd_committer 2017-07-07 22:27:52 UTC
Created attachment 184163 [details]
beta7
Comment 8 Jan Beich freebsd_committer 2017-07-11 19:36:25 UTC
Created attachment 184285 [details]
beta8
Comment 9 Jan Beich freebsd_committer 2017-07-14 12:51:46 UTC
Created attachment 184351 [details]
beta9
Comment 10 Jan Beich freebsd_committer 2017-07-25 07:31:35 UTC
Created attachment 184692 [details]
beta12
Comment 11 Jan Beich freebsd_committer 2017-08-01 12:51:51 UTC
Created attachment 184908 [details]
rc1
Comment 12 commit-hook freebsd_committer 2017-08-07 18:23:52 UTC
A commit references this bug:

Author: jbeich
Date: Mon Aug  7 18:22:53 UTC 2017
New revision: 447501
URL: https://svnweb.freebsd.org/changeset/ports/447501

Log:
  www/firefox: update to 55.0

  This is the last release to support RUST=off. Later versions
  remove non-Rust codepaths e.g., via encoding_rs.

  Changes:	https://www.mozilla.org/firefox/55.0/releasenotes/
  PR:		216541 219963
  Security:	555b244e-6b20-4546-851f-d8eb7d6c1ffa
  MFH:		2017Q3

Changes:
  head/Mk/Uses/gecko.mk
  head/www/firefox/Makefile
  head/www/firefox/distinfo
  head/www/firefox/files/patch-bug1021761
  head/www/firefox/files/patch-bug1312182
  head/www/firefox/files/patch-bug1356709
  head/www/firefox/files/patch-bug1357874
  head/www/firefox/files/patch-bug1360321
  head/www/firefox/files/patch-bug1376411
  head/www/firefox/files/patch-bug1385597
  head/www/firefox/files/patch-bug702179
  head/www/firefox/files/patch-bug826985
  head/www/firefox/files/patch-bug847568
  head/www/firefox/files/patch-bug981348
  head/www/firefox/files/patch-python_futures_concurrent_futures_process.py
  head/www/firefox/files/patch-rust-option
  head/www/firefox/files/patch-third__party_python_futures_concurrent_futures_process.py
  head/www/firefox-i18n/Makefile
  head/www/firefox-i18n/Makefile.lang
  head/www/firefox-i18n/Makefile.option
  head/www/firefox-i18n/distinfo
Comment 13 VVD 2017-08-08 18:11:17 UTC
Build fail with sqlite 3.20.0:
checking for sqlite3 >= 3.19.3... yes
checking SQLITE_CFLAGS... -I/usr/local/include 
checking SQLITE_LIBS... -L/usr/local/lib -lsqlite3 
checking for SQLITE_SECURE_DELETE support in system SQLite... yes
checking for SQLITE_THREADSAFE support in system SQLite... yes
checking for SQLITE_ENABLE_FTS3 support in system SQLite... no
configure: error: System SQLite library is not compiled with SQLITE_ENABLE_FTS3.
DEBUG: <truncated - see config.log for full output>
DEBUG: configure:15551: checking for wget
DEBUG: configure:15924: checking for sqlite3 >= 3.19.3
DEBUG: configure:15931: checking SQLITE_CFLAGS
DEBUG: configure:15936: checking SQLITE_LIBS
DEBUG: configure:15967: checking for SQLITE_SECURE_DELETE support in system SQLite
DEBUG: configure:15990: /usr/bin/cc -std=gnu99 -o conftest -O2 -pipe -march=prescott  -O3 -DLIBICONV_PLUG -fstack-protector -isystem /usr/local/include -fno-strict-aliasing  -fno-strict-aliasing -ffunction-sections -fdata-sections -fno-math-errno -I/usr/local/include  -Qunused-arguments -D_GLIBCXX_USE_C99 -D_GLIBCXX_USE_C99_MATH_TR1  -D_DECLARE_C99_LDBL_MATH -DLIBICONV_PLUG -isystem /usr/local/include   -pthread  -Wl,--as-needed -fstack-protector -Wl,-z,noexecstack -Wl,-z,text conftest.c -L/usr/local/lib -L/usr/local/lib -lsqlite3  1>&5
DEBUG: configure:16013: checking for SQLITE_THREADSAFE support in system SQLite
DEBUG: configure:16036: /usr/bin/cc -std=gnu99 -o conftest -O2 -pipe -march=prescott  -O3 -DLIBICONV_PLUG -fstack-protector -isystem /usr/local/include -fno-strict-aliasing  -fno-strict-aliasing -ffunction-sections -fdata-sections -fno-math-errno -I/usr/local/include  -Qunused-arguments -D_GLIBCXX_USE_C99 -D_GLIBCXX_USE_C99_MATH_TR1  -D_DECLARE_C99_LDBL_MATH -DLIBICONV_PLUG -isystem /usr/local/include   -pthread  -Wl,--as-needed -fstack-protector -Wl,-z,noexecstack -Wl,-z,text conftest.c -L/usr/local/lib -L/usr/local/lib -lsqlite3  1>&5
DEBUG: configure:16059: checking for SQLITE_ENABLE_FTS3 support in system SQLite
DEBUG: configure:16082: /usr/bin/cc -std=gnu99 -o conftest -O2 -pipe -march=prescott  -O3 -DLIBICONV_PLUG -fstack-protector -isystem /usr/local/include -fno-strict-aliasing  -fno-strict-aliasing -ffunction-sections -fdata-sections -fno-math-errno -I/usr/local/include  -Qunused-arguments -D_GLIBCXX_USE_C99 -D_GLIBCXX_USE_C99_MATH_TR1  -D_DECLARE_C99_LDBL_MATH -DLIBICONV_PLUG -isystem /usr/local/include   -pthread  -Wl,--as-needed -fstack-protector -Wl,-z,noexecstack -Wl,-z,text conftest.c -L/usr/local/lib -L/usr/local/lib -lsqlite3  1>&5
DEBUG: configure: failed program was:
DEBUG: #line 16073 "configure"
DEBUG: #include "confdefs.h"
DEBUG: 
DEBUG:             #include "sqlite3.h"
DEBUG: 
DEBUG:             int main(int argc, char **argv){
DEBUG:               return !sqlite3_compileoption_used("SQLITE_ENABLE_FTS3");
DEBUG:             }
DEBUG: configure: error: System SQLite library is not compiled with SQLITE_ENABLE_FTS3.
ERROR: old-configure failed
*** Fix above errors and then restart with\
               "gmake -f client.mk build"
gmake[2]: *** [/usr/obj/usr/ports/www/firefox/work/firefox-55.0/client.mk:383: configure] Error 1
gmake[2]: Leaving directory '/usr/obj/usr/ports/www/firefox'
===>  Script "configure" failed unexpectedly.
Please report the problem to gecko@FreeBSD.org [maintainer] and attach the
"/usr/obj/usr/ports/www/firefox/work/firefox-55.0/config.log" including the
output of the failure of your make command. Also, it might be a good idea to
provide an overview of all packages installed on your system (e.g. a
/usr/local/sbin/pkg-static info -g -Ea).
*** Error code 1
Comment 14 Jan Beich freebsd_committer 2017-08-08 18:21:48 UTC
(In reply to vvd from comment #13)
> DEBUG: configure: error: System SQLite library is not compiled with SQLITE_ENABLE_FTS3.

Can you reproduce with firefox-54.0.1,1 (e.g., by downgrading or via 2017Q3)? If so file separate bug as this is probably a regression from ports r447541.
Comment 15 VVD 2017-08-08 19:26:29 UTC
(In reply to Jan Beich from comment #14)
You are right:

checking for sqlite3 >= 3.17.0... yes
checking SQLITE_CFLAGS... -I/usr/local/include 
checking SQLITE_LIBS... -L/usr/local/lib -lsqlite3 
checking for SQLITE_SECURE_DELETE support in system SQLite... yes
checking for SQLITE_THREADSAFE support in system SQLite... yes
checking for SQLITE_ENABLE_FTS3 support in system SQLite... no
configure: error: System SQLite library is not compiled with SQLITE_ENABLE_FTS3.
DEBUG: <truncated - see config.log for full output>
DEBUG: configure:15799: checking for wget
DEBUG: configure:16172: checking for sqlite3 >= 3.17.0
DEBUG: configure:16179: checking SQLITE_CFLAGS
DEBUG: configure:16184: checking SQLITE_LIBS
DEBUG: configure:16215: checking for SQLITE_SECURE_DELETE support in system SQLite
DEBUG: configure:16238: /usr/bin/cc -std=gnu99 -o conftest -O2 -pipe -march=prescott  -O3 -DLIBICONV_PLUG -fstack-protector -isystem /usr/local/include -fno-strict-aliasing -fno-strict-aliasing -ffunction-sections -fdata-sections -fno-math-errno -I/usr/local/include  -Qunused-arguments -D_GLIBCXX_USE_C99 -D_GLIBCXX_USE_C99_MATH_TR1  -D_DECLARE_C99_LDBL_MATH -DLIBICONV_PLUG -isystem /usr/local/include  -pthread  -Wl,--as-needed -fstack-protector -Wl,-z,noexecstack -Wl,-z,text conftest.c -L/usr/local/lib -L/usr/local/lib -lsqlite3  1>&5
DEBUG: configure:16261: checking for SQLITE_THREADSAFE support in system SQLite
DEBUG: configure:16284: /usr/bin/cc -std=gnu99 -o conftest -O2 -pipe -march=prescott  -O3 -DLIBICONV_PLUG -fstack-protector -isystem /usr/local/include -fno-strict-aliasing -fno-strict-aliasing -ffunction-sections -fdata-sections -fno-math-errno -I/usr/local/include  -Qunused-arguments -D_GLIBCXX_USE_C99 -D_GLIBCXX_USE_C99_MATH_TR1  -D_DECLARE_C99_LDBL_MATH -DLIBICONV_PLUG -isystem /usr/local/include  -pthread  -Wl,--as-needed -fstack-protector -Wl,-z,noexecstack -Wl,-z,text conftest.c -L/usr/local/lib -L/usr/local/lib -lsqlite3  1>&5
DEBUG: configure:16307: checking for SQLITE_ENABLE_FTS3 support in system SQLite
DEBUG: configure:16330: /usr/bin/cc -std=gnu99 -o conftest -O2 -pipe -march=prescott  -O3 -DLIBICONV_PLUG -fstack-protector -isystem /usr/local/include -fno-strict-aliasing -fno-strict-aliasing -ffunction-sections -fdata-sections -fno-math-errno -I/usr/local/include  -Qunused-arguments -D_GLIBCXX_USE_C99 -D_GLIBCXX_USE_C99_MATH_TR1  -D_DECLARE_C99_LDBL_MATH -DLIBICONV_PLUG -isystem /usr/local/include  -pthread  -Wl,--as-needed -fstack-protector -Wl,-z,noexecstack -Wl,-z,text conftest.c -L/usr/local/lib -L/usr/local/lib -lsqlite3  1>&5
DEBUG: configure: failed program was:
DEBUG: #line 16321 "configure"
DEBUG: #include "confdefs.h"
DEBUG: 
DEBUG:             #include "sqlite3.h"
DEBUG: 
DEBUG:             int main(int argc, char **argv){
DEBUG:               return !sqlite3_compileoption_used("SQLITE_ENABLE_FTS3");
DEBUG:             }
DEBUG: configure: error: System SQLite library is not compiled with SQLITE_ENABLE_FTS3.
ERROR: old-configure failed
*** Fix above errors and then restart with\
               "gmake -f client.mk build"
gmake[2]: *** [/usr/obj/usr/ports/www/firefox/work/firefox-54.0.1/client.mk:383: configure] Error 1
gmake[2]: Leaving directory '/usr/ports/www/firefox'
===>  Script "configure" failed unexpectedly.
Please report the problem to gecko@FreeBSD.org [maintainer] and attach the
"/usr/obj/usr/ports/www/firefox/work/firefox-54.0.1/config.log" including the
output of the failure of your make command. Also, it might be a good idea to
provide an overview of all packages installed on your system (e.g. a
/usr/local/sbin/pkg-static info -g -Ea).
*** Error code 1
Comment 16 Martin Birgmeier 2017-08-08 19:40:33 UTC
Removing the two patches in databases/sqlite3/files might resolve the issue.

-- Martin
Comment 17 Jan Beich freebsd_committer 2017-08-08 20:04:01 UTC
3.20.0 lost a number of options but looking at upstream changes the support for those wasn't removed. Maybe feld@ knows more given the update landed without any review. ;)

$ echo 'PRAGMA compile_options' | sqlite3
 COMPILER=clang-5.0.0
-DEFAULT_SYNCHRONOUS=2
-DEFAULT_WAL_SYNCHRONOUS=2
 ENABLE_COLUMN_METADATA
 ENABLE_DBSTAT_VTAB
-ENABLE_FTS3
 ENABLE_FTS3_PARENTHESIS
+ENABLE_FTS3_TOKENIZER
 ENABLE_FTS4
 ENABLE_RTREE
 ENABLE_UNLOCK_NOTIFY
 HAVE_ISNAN
 SECURE_DELETE
-SYSTEM_MALLOC
 TEMP_STORE=1
 THREADSAFE=1
+USE_URI
Comment 18 Jung-uk Kim freebsd_committer 2017-08-08 20:20:18 UTC
FYI, the following patch fixed build for me.

Index: www/firefox/Makefile
===================================================================
--- www/firefox/Makefile	(revision 447560)
+++ www/firefox/Makefile	(working copy)
@@ -62,6 +62,8 @@ post-extract:
 		<${FILESDIR}/firefox.desktop.in >${WRKDIR}/${MOZILLA}.desktop
 
 post-patch:
+	@${REINPLACE_CMD} -e 's|SQLITE_ENABLE_FTS3|SQLITE_ENABLE_FTS4|g' \
+		${WRKSRC}/old-configure.in
 	@${REINPLACE_CMD} -e 's|%%LOCALBASE%%|${LOCALBASE}|g' \
 		${WRKSRC}/browser/app/nsBrowserApp.cpp
 
The same patch also works for www/firefox-esr.
Comment 19 Jung-uk Kim freebsd_committer 2017-08-08 20:32:43 UTC
FYI, It seems sqlite3 source code was rearranged.  Basically, these two code chunks have switched positions.

=== option list ===
#if SQLITE_ENABLE_FTS3
  "ENABLE_FTS3",
#endif
===================

=== option hack ===
/*
** FTS4 is really an extension for FTS3.  It is enabled using the
** SQLITE_ENABLE_FTS3 macro.  But to avoid confusion we also all
** the SQLITE_ENABLE_FTS4 macro to serve as an alisse for SQLITE_ENABLE_FTS3.
*/
#if defined(SQLITE_ENABLE_FTS4) && !defined(SQLITE_ENABLE_FTS3)
# define SQLITE_ENABLE_FTS3
#endif
===================

i.e., the option list comes before the option hack now.  In other words, compile time options are shown instead of actually active options now.  I don't know whether it is intentional.
Comment 20 Jan Beich freebsd_committer 2017-08-08 21:05:58 UTC
Thanks for the analysis. Probably caused by https://sqlite.org/src/info/9a443397a6b110f6
Fortunately, the fallout seems to be limited[1] to gecko@ ports.

[1] https://codesearch.debian.net/search?q=sqlite3_compileoption_used.*ENABLE_&perpkg=1
Comment 21 Jan Beich freebsd_committer 2017-08-08 21:38:17 UTC
Created attachment 185168 [details]
sqlite3 fix

FWIW, ports r447541 forgot to keep tcl-sqlite in sync with sqlite.

(In reply to Jung-uk Kim from comment #18)
> +       @${REINPLACE_CMD} -e 's|SQLITE_ENABLE_FTS3|SQLITE_ENABLE_FTS4|g' \
> +               ${WRKSRC}/old-configure.in

This is going to be hard to upstream given the issue is specific to our package: FTS3 is turned from an explicit into an implicit option. Let's just restore ENABLE_FTS3.

(abusing maintainer-approval as I'm too used to generic review flag from bugzilla.mozilla.org)
Comment 22 Jung-uk Kim freebsd_committer 2017-08-08 21:56:55 UTC
Comment on attachment 185168 [details]
sqlite3 fix

I am not a maintainer but it looks good to me. :-)
Comment 23 commit-hook freebsd_committer 2017-08-09 14:04:25 UTC
A commit references this bug:

Author: madpilot
Date: Wed Aug  9 14:04:04 UTC 2017
New revision: 447626
URL: https://svnweb.freebsd.org/changeset/ports/447626

Log:
  Add explicit SQLITE_ENABLE_FTS3. This fixes the firefox and thunderburd
  ports build.

  Due to recent changes in sqlite3 even if this flag is actually
  implicitly added to the build when the FTS4 option is enabled, it
  is not reported as present via the
  sqlite3_compileoption_used("SQLITE_ENABLE_FTS3") API call, which
  is used by the gecko ports configure script to check for a suitable
  sqlite3 library.

  Related upstream change: https://sqlite.org/src/info/9a443397a6b110f6

  PR:		221361, 219963
  Submitted by:	Vladimir Krstulja <vlad-fbsd@acheronmedia.com>,
  		jbeich@
  Approved by:	portmgr@ (blanket)
  MFH:		2017Q3

Changes:
  head/databases/sqlite3/Makefile
Comment 24 Jan Beich freebsd_committer 2017-08-09 16:05:41 UTC
Comment on attachment 185168 [details]
sqlite3 fix

Obsoleted by bug 221361 and bug 221368.
Comment 25 VVD 2017-08-09 17:03:16 UTC
(In reply to commit-hook from comment #23)

After this patch FF build and work fine.
Thanks.
Comment 26 commit-hook freebsd_committer 2017-08-10 08:13:08 UTC
A commit references this bug:

Author: madpilot
Date: Thu Aug 10 08:12:47 UTC 2017
New revision: 447666
URL: https://svnweb.freebsd.org/changeset/ports/447666

Log:
  MFH: r447626

  Add explicit SQLITE_ENABLE_FTS3. This fixes the firefox and thunderburd
  ports build.

  Due to recent changes in sqlite3 even if this flag is actually
  implicitly added to the build when the FTS4 option is enabled, it
  is not reported as present via the
  sqlite3_compileoption_used("SQLITE_ENABLE_FTS3") API call, which
  is used by the gecko ports configure script to check for a suitable
  sqlite3 library.

  Related upstream change: https://sqlite.org/src/info/9a443397a6b110f6

  PR:		221361, 219963
  Submitted by:	Vladimir Krstulja <vlad-fbsd@acheronmedia.com>,
  		jbeich@
  Approved by:	portmgr@ (blanket)

  Approved by:	portmgr (antoine)

Changes:
_U  branches/2017Q3/
  branches/2017Q3/databases/sqlite3/Makefile
Comment 27 commit-hook freebsd_committer 2017-08-10 15:37:05 UTC
A commit references this bug:

Author: jbeich
Date: Thu Aug 10 15:36:57 UTC 2017
New revision: 447690
URL: https://svnweb.freebsd.org/changeset/ports/447690

Log:
  MFH: r447501 r447660

  www/firefox: update to 55.0.1

  This is the last release to support RUST=off. Later versions
  remove non-Rust codepaths e.g., via encoding_rs.

  Changes:	https://www.mozilla.org/firefox/55.0.1/releasenotes/
  PR:		216541 219963
  Security:	555b244e-6b20-4546-851f-d8eb7d6c1ffa
  Approved by:	ports-secteam (zi)

Changes:
_U  branches/2017Q3/
  branches/2017Q3/Mk/Uses/gecko.mk
  branches/2017Q3/www/firefox/Makefile
  branches/2017Q3/www/firefox/distinfo
  branches/2017Q3/www/firefox/files/patch-bug1021761
  branches/2017Q3/www/firefox/files/patch-bug1312182
  branches/2017Q3/www/firefox/files/patch-bug1356709
  branches/2017Q3/www/firefox/files/patch-bug1357874
  branches/2017Q3/www/firefox/files/patch-bug1360321
  branches/2017Q3/www/firefox/files/patch-bug1376411
  branches/2017Q3/www/firefox/files/patch-bug1385597
  branches/2017Q3/www/firefox/files/patch-bug702179
  branches/2017Q3/www/firefox/files/patch-bug826985
  branches/2017Q3/www/firefox/files/patch-bug847568
  branches/2017Q3/www/firefox/files/patch-bug981348
  branches/2017Q3/www/firefox/files/patch-python_futures_concurrent_futures_process.py
  branches/2017Q3/www/firefox/files/patch-rust-option
  branches/2017Q3/www/firefox/files/patch-third__party_python_futures_concurrent_futures_process.py
  branches/2017Q3/www/firefox-i18n/Makefile
  branches/2017Q3/www/firefox-i18n/Makefile.lang
  branches/2017Q3/www/firefox-i18n/Makefile.option
  branches/2017Q3/www/firefox-i18n/distinfo