там в старом еср вроде ж какие то уязвимости были.
Ну, этот -esr (45.9) только недавно перестал быть -esr, а до этого исправно патчился в Debian. Потом перекочевал в stretch. Но я полагаю, что его больше патчить не будут, как делали раньше. Раньше Debain сопровождал и патчил даже снятые Мозиллой с поддержки браузеры. Но сейчас это уже тяжело. Да и тогда было тяжело.
Только, когда поставишь, сделай hold пакету (зависит от того, чем пользуешься уже - aptitude или apt-get), а то он все время будет хотеть обновиться на 52.
Что касается выбора GTK2/GTK3 - это поставишь в опциях, которые тебе покажет firefox, выполнив комманду ./configure — help в корне развёрнутого архива сурса браузера.
В файлах конфигурации - .mozconfig old.configure - не увидится
Вот в сурсах - найдутся те места, где эта опция работает
Выложил приватный fennec 52, собранный с опцией --disable-parental-controls.
Тут же получил баг-репорты - «Поиск не работает! Сделай, как было»
Сделал и вернул обратно.
--disable-parental-controls - писала некая пенсианерка. Сколько файлов нужно найти и поменять работу этой - не стал заниматься.
тут другая проблема есть, при сборке с gcc7, при флагах оптимизации, отличных от -O2, появляются омерзительные артефакты в интерфейсе. правда, на 52.3 еще не проверял, пофиксили это, или нет
Собираю Firefox 52 под CentOS 5. Компилятор GCC 4.8. Патчи для понижения необходимой версии GTK2 с 2.18 до 2.10 успешно наложились: похоже что с версии 45 не было существенных изменений. Только configure.in переехал в old-configure.in, а также в toolkit/moz.configure
Собрать мне пока не удалось. Упёрся в то, что harfbuzz хочет функцию из GLIB 2.14, а у меня GLIB 2.12. Ищу способы обойти.
In file included from /build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:31:0,
from /build/firefox-52.3.0esr/objdir/gfx/harfbuzz/src/Unified_cpp_gfx_harfbuzz_src0.cpp:38:
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.h:40:27: warning: ‘hb_glib_script_to_script’ initialized and declared ‘extern’ [enabled by default]
hb_glib_script_to_script (GUnicodeScript script);
^
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.h:40:27: error: ‘GUnicodeScript’ was not declared in this scope
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.h:42:11: error: ‘GUnicodeScript’ does not name a type
HB_EXTERN GUnicodeScript
^
In file included from /build/firefox-52.3.0esr/objdir/gfx/harfbuzz/src/Unified_cpp_gfx_harfbuzz_src0.cpp:38:0:
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:161:27: error: redefinition of ‘hb_script_t hb_glib_script_to_script’
hb_glib_script_to_script (GUnicodeScript script)
^
In file included from /build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:31:0,
from /build/firefox-52.3.0esr/objdir/gfx/harfbuzz/src/Unified_cpp_gfx_harfbuzz_src0.cpp:38:
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.h:40:1: error: ‘hb_script_t hb_glib_script_to_script’ previously defined here
hb_glib_script_to_script (GUnicodeScript script);
^
In file included from /build/firefox-52.3.0esr/objdir/gfx/harfbuzz/src/Unified_cpp_gfx_harfbuzz_src0.cpp:38:0:
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:161:27: error: ‘GUnicodeScript’ was not declared in this scope
hb_glib_script_to_script (GUnicodeScript script)
^
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:176:1: error: ‘GUnicodeScript’ does not name a type
GUnicodeScript
^
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc: In function ‘hb_unicode_combining_class_t hb_glib_unicode_combining_class(hb_unicode_funcs_t*, hb_codepoint_t, void*)’:
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:201:75: error: ‘g_unichar_combining_class’ was not declared in this scope
return (hb_unicode_combining_class_t) g_unichar_combining_class (unicode);
^
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc: In function ‘hb_script_t hb_glib_unicode_script(hb_unicode_funcs_t*, hb_codepoint_t, void*)’:
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:236:65: error: ‘g_unichar_get_script’ was not declared in this scope
return hb_glib_script_to_script (g_unichar_get_script (unicode));
^
/build/firefox-52.3.0esr/gfx/harfbuzz/src/hb-glib.cc:236:66: error: ‘hb_glib_script_to_script’ cannot be used as a function
return hb_glib_script_to_script (g_unichar_get_script (unicode));
^
В самом harfbuzz полно условий «Если версия Glib такая-то, то». Так что это возможно.
Из других проблем. В какой-то момент компиляция встала из-за вызовов несуществующих функций (V4L2). Помогло обновление пакета kernel-headers с 2.6.18 до 2.6.23 из Fedora 8.
Самая существенная проблема - мне пришлось установить libxcb 1.4, а также обновить системный libX11 до версии 1.2. Чтобы компиляция в принципе могла начаться. Это сводит на нет все плюсы моей сборки: работа даже в самых старых дистрибутивах Linux. Минимально необходимый год выпуска дистра повышается с 2007 до 2010. А раз так, то уж лучше использовать официальную сборку на CentOS 6.
Может быть, эти либы можно прилинковать статически? Только свежие версии, а не минимально необходимые. Я вижу здесь директорию 3rdparty. Помогите, пожалуйста.