Hello community, here is the log from the commit of package chromium for openSUSE:Factory checked in at 2016-10-19 13:13:22 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/chromium (Old) and /work/SRC/openSUSE:Factory/.chromium.new (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "chromium" Changes: -------- --- /work/SRC/openSUSE:Factory/chromium/chromium.changes 2016-10-02 00:08:05.000000000 +0200 +++ /work/SRC/openSUSE:Factory/.chromium.new/chromium.changes 2016-10-19 13:13:40.000000000 +0200 @@ -1,0 +2,39 @@ +Thu Oct 13 10:19:03 UTC 2016 - tchva...@suse.com + +- Version update to 54.0.2840.59 bnc#1004465: + - CVE-2016-5181: Universal XSS in Blink (Anonymous) + - CVE-2016-5182: Heap overflow in Blink (Giwan Go of STEALIEN) + - CVE-2016-5183: Use after free in PDFium (Anonymous) + - CVE-2016-5184: Use after free in PDFium (Anonymous) + - CVE-2016-5185: Use after free in Blink (cloudfuzzer) + - CVE-2016-5187: URL spoofing (Luan Herrera) + - CVE-2016-5188: UI spoofing (Luan Herrera) + - CVE-2016-5192: Cross-origin bypass in Blink (haojunhou at gmail) + - CVE-2016-5189: URL spoofing (xisigr of Tencent's Xuanwu Lab) + - CVE-2016-5186: Out of bounds read in DevTools (Abdulrahman Alqabandi) + - CVE-2016-5191: Universal XSS in Bookmarks (Gareth Hughes) + - CVE-2016-5190: Use after free in Internals (Atte Kettunen of OUSPG) + - CVE-2016-5193: Scheme bypass (Yuyang ZHOUmartinzhou96) +- packaging changes: + * disable build for chromium-beta on %arm. + * Make linker use less memory by tweaking its options: + chromium-linker-memory.patch + * obsolete desktop subpackages + * Switch to gold to reduce memory use use during build + * fix build on 4.5+ kernels with systemlibs: + chromium-sandbox.patch + * various compiler and linker flag adjustments + * enable gtk3 ui, add patch gtk3-missing-define.patch + * switch from some bundled libraries to the system versions + chromium-system-ffmpeg-r3.patch + chromium-system-jinja-r13.patch + fix-gn-bootstrap.diff + * remove service file covered by download_files +- run time bug fixes: + * Add --ui-disable-partial-swap to the launcher bnc#1000019 + * Use default chromium values from master_preferences on first run + rather than pseudo-duplicating in shellscript +- added features: + * hangouts extension + +------------------------------------------------------------------- Old: ---- chromium-53.0.2785.143.tar.xz New: ---- chromium-54.0.2840.59.tar.xz chromium-linker-memory.patch chromium-system-ffmpeg-r3.patch chromium-system-jinja-r13.patch fix-gn-bootstrap.diff ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ chromium.spec ++++++ --- /var/tmp/diff_new_pack.b1bxiH/_old 2016-10-19 13:13:58.000000000 +0200 +++ /var/tmp/diff_new_pack.b1bxiH/_new 2016-10-19 13:13:58.000000000 +0200 @@ -16,15 +16,17 @@ # +%define rname chromium +%bcond_with clang Name: chromium -Version: 53.0.2785.143 +Version: 54.0.2840.59 Release: 0 Summary: Google's opens source browser project License: BSD-3-Clause and LGPL-2.1+ Group: Productivity/Networking/Web/Browsers Url: http://code.google.com/p/chromium/ -Source0: http://commondatastorage.googleapis.com/chromium-browser-official/%{name}-%{version}.tar.xz -Source2: %{name}-rpmlintrc +Source0: http://commondatastorage.googleapis.com/chromium-browser-official/%{rname}-%{version}.tar.xz +Source2: %{rname}-rpmlintrc Source30: master_preferences Source31: default_bookmarks.html Source99: chrome-wrapper @@ -33,7 +35,6 @@ Source102: chromium-browser.xml Source103: chromium.default Source104: chromium-icons.tar.bz2 -## Start Patches # PATCH-FIX-OPENSUSE Make the 1-click-install ymp file always download [bnc#836059] Patch1: exclude_ymp.diff # PATCH-FIX-OPENSUSE enables reading of the master preference @@ -48,89 +49,101 @@ Patch6: fix_building_widevinecdm_with_chromium.patch # PATCH-FIX-OPENSUSE fix_network_api_crash.patch - Fix crash in network API, e.g. when using chromecast extension Patch7: fix_network_api_crash.patch -# PATCH-FIX-OPENSUSE gcc60-fixes.diff - Fix crashes due to the GCC6 optimizations -Patch8: gcc60-fixes.diff -# PATCH-FIX-UPSTREAM: sanbox crashers avoidance -Patch9: chromium-sandbox.patch +# System libs +Patch8: chromium-system-ffmpeg-r3.patch +Patch9: chromium-system-jinja-r13.patch +# Gcc fix +Patch10: gcc60-fixes.diff +# PATCH-FIX-UPSTREAM correctly build sandbox +Patch11: chromium-sandbox.patch +# PATCH-FIX-SUSE make ld use less memory by tweaking compiler flags +Patch13: chromium-linker-memory.patch # archlinux arm enhancement patches Patch100: arm-webrtc-fix.patch Patch101: arm_use_right_compiler.patch # GN buildsystem related patches Patch200: chromium-last-commit-position-r0.patch - -BuildRequires: alsa-devel +Patch201: fix-gn-bootstrap.diff +BuildRequires: SDL-devel BuildRequires: binutils-gold BuildRequires: bison BuildRequires: cups-devel -BuildRequires: dbus-1-devel BuildRequires: desktop-file-utils BuildRequires: fdupes -BuildRequires: flac-devel BuildRequires: flex -BuildRequires: freetype2-devel -BuildRequires: gcc -BuildRequires: gcc-c++ BuildRequires: gperf -BuildRequires: harfbuzz-devel BuildRequires: hicolor-icon-theme -BuildRequires: hunspell-devel -BuildRequires: krb5-devel -BuildRequires: libbz2-devel -BuildRequires: libelf-devel -BuildRequires: libevent-devel -BuildRequires: libexpat-devel -BuildRequires: libpulse-devel -BuildRequires: libwebp-devel -BuildRequires: python-xml -BuildRequires: snappy-devel -BuildRequires: update-desktop-files -BuildRequires: zlib-devel -BuildRequires: pkgconfig(libffi) -Requires(pre): permissions -BuildRequires: SDL-devel -BuildRequires: dirac-devel >= 1.0.0 BuildRequires: libcap-devel BuildRequires: libdc1394 -BuildRequires: libdc1394-devel -BuildRequires: libdrm-devel +BuildRequires: libelf-devel BuildRequires: libgcrypt-devel -BuildRequires: libgnome-keyring-devel BuildRequires: libgsm BuildRequires: libgsm-devel -BuildRequires: libjack-devel -BuildRequires: libogg-devel -BuildRequires: liboil-devel >= 0.3.15 -BuildRequires: libopenssl-devel -BuildRequires: libtheora-devel >= 1.1 -BuildRequires: libvdpau-devel -BuildRequires: libvorbis-devel -BuildRequires: libvpx-devel +BuildRequires: libjpeg-devel +BuildRequires: libpng-devel BuildRequires: ncurses-devel BuildRequires: ninja BuildRequires: pam-devel -BuildRequires: pciutils-devel -BuildRequires: pkg-config +BuildRequires: pkgconfig +BuildRequires: procps BuildRequires: python -BuildRequires: python-devel -BuildRequires: schroedinger-devel -BuildRequires: slang-devel -BuildRequires: texinfo +BuildRequires: python-Jinja2 +BuildRequires: python-ply +BuildRequires: python-simplejson +BuildRequires: python-xml +BuildRequires: snappy-devel +BuildRequires: update-desktop-files BuildRequires: util-linux -BuildRequires: valgrind-devel BuildRequires: wdiff +BuildRequires: perl(Switch) +BuildRequires: pkgconfig(alsa) +BuildRequires: pkgconfig(bzip2) BuildRequires: pkgconfig(cairo) >= 1.6 BuildRequires: pkgconfig(dbus-1) +BuildRequires: pkgconfig(dirac) >= 1.0.0 +BuildRequires: pkgconfig(expat) +BuildRequires: pkgconfig(flac++) +BuildRequires: pkgconfig(freetype2) BuildRequires: pkgconfig(gconf-2.0) BuildRequires: pkgconfig(glib-2.0) +BuildRequires: pkgconfig(gnome-keyring-1) BuildRequires: pkgconfig(gtk+-2.0) BuildRequires: pkgconfig(gtk+-3.0) +BuildRequires: pkgconfig(harfbuzz) +BuildRequires: pkgconfig(hunspell) +BuildRequires: pkgconfig(imlib2) +BuildRequires: pkgconfig(jack) +BuildRequires: pkgconfig(kadm-client) +BuildRequires: pkgconfig(kdb) +BuildRequires: pkgconfig(krb5) BuildRequires: pkgconfig(libcrypto) +BuildRequires: pkgconfig(libdc1394-2) +BuildRequires: pkgconfig(libdrm) +BuildRequires: pkgconfig(libevent) BuildRequires: pkgconfig(libexif) +BuildRequires: pkgconfig(libffi) +BuildRequires: pkgconfig(liboil-0.3) >= 0.3.15 +BuildRequires: pkgconfig(libpci) +BuildRequires: pkgconfig(libpulse) +BuildRequires: pkgconfig(libssl) +BuildRequires: pkgconfig(libtcmalloc) BuildRequires: pkgconfig(libudev) +BuildRequires: pkgconfig(libwebp) +BuildRequires: pkgconfig(libxml-2.0) BuildRequires: pkgconfig(libxslt) BuildRequires: pkgconfig(nspr) >= 4.9.5 BuildRequires: pkgconfig(nss) >= 3.14 +BuildRequires: pkgconfig(ogg) +BuildRequires: pkgconfig(openssl) +BuildRequires: pkgconfig(python) +BuildRequires: pkgconfig(schroedinger-1.0) +BuildRequires: pkgconfig(slang) BuildRequires: pkgconfig(sqlite3) +BuildRequires: pkgconfig(theora) >= 1.1 +BuildRequires: pkgconfig(valgrind) +BuildRequires: pkgconfig(vdpau) +BuildRequires: pkgconfig(vorbis) +BuildRequires: pkgconfig(vpx) BuildRequires: pkgconfig(x11) BuildRequires: pkgconfig(xcomposite) BuildRequires: pkgconfig(xcursor) @@ -143,14 +156,12 @@ BuildRequires: pkgconfig(xscrnsaver) BuildRequires: pkgconfig(xt) BuildRequires: pkgconfig(xtst) +BuildRequires: pkgconfig(zlib) +#Requirements to build a fully functional ffmpeg Requires: alsa -Requires: ffmpegsumo Requires: hicolor-icon-theme -Requires: update-alternatives Requires: xdg-utils Requires(pre): permissions -# Recommends the chromium-ffmpeg library (available from packman) -Recommends: %{name}-ffmpeg Conflicts: otherproviders(chromium-browser) Provides: chromium-based-browser = %{version} Provides: chromium-browser = %{version} @@ -158,7 +169,24 @@ Obsoletes: %{name}-suid-helper < %{version} Obsoletes: chromium-browser < %{version} Provides: %{name}-suid-helper = %{version} -ExclusiveArch: %{ix86} x86_64 %arm +Obsoletes: chromium-beta-desktop-gnome +Obsoletes: chromium-beta-desktop-kde +Obsoletes: chromium-desktop-gnome +Obsoletes: chromium-desktop-kde +Obsoletes: chromium-dev-desktop-gnome +Obsoletes: chromium-dev-desktop-kde +# There is no v8 for ppc and thus chromium won't run on ppc. For aarch64 certain buildrequires are missing (e.g. valgrind) +# while it would build for %arm, we exclude it as it takes forever to build +ExcludeArch: %arm aarch64 ppc ppc64 ppc64le +Requires: ffmpegsumo +# Recommends the chromium-ffmpeg library (available from packman) +Recommends: %{name}-ffmpeg +%if %{with clang} +BuildRequires: clang >= 3.9.0 +%else +BuildRequires: gcc +BuildRequires: gcc-c++ +%endif #Requirements to build a fully functional ffmpeg # This can only be done on packman OBS %if 0%{?packman_bs} @@ -169,13 +197,6 @@ BuildRequires: libxvidcore-devel %endif -#Define the maximum number of build processes to prevent running out of memory -%ifarch %arm -%define ninjaproc 2 -%else -%define ninjaproc 4 -%endif - %description Chromium is the open-source project behind Google Chrome. We invite you to join us in our effort to help build a safer, faster, and more stable way for all Internet users to experience the web, and to create a powerful platform for developing a new generation of web applications. @@ -185,41 +206,11 @@ Group: Productivity/Networking/Web/Browsers Requires: %{name} Conflicts: otherproviders(ffmpegsumo) -Conflicts: %{name}-ffmpeg Provides: ffmpegsumo = %{version} %description ffmpegsumo The is the multimedia codec library for Chromium. It is based on the internal ffmpeg source code and contains only the open source codecs from ffmpeg. Proprietary codecs (e.g. H.264) are not part of this library, but are provided in an external package -%package desktop-kde -Summary: Update to chromium to use KDE's kwallet to store passwords -License: BSD-3-Clause and LGPL-2.1+ -Group: Productivity/Networking/Web/Browsers -Requires(post): chromium = %{version} -Conflicts: otherproviders(chromium-password) -Provides: chromium-password = %{version} -%if 0%{?suse_version} > 1320 || 0%{?suse_version} == 1315 && 0%{?is_opensuse} -Supplements: packageand(chromium:plasma5-session) -%else -Supplements: packageand(chromium:kdebase4-session) -%endif - -%description desktop-kde -By using the openSUSE update-alternatives the password store for Chromium is changed to utilize KDE's kwallet. If access to passwords stored via Chromium (3-dot menu > Settings > Show advanced settings > Passwords and forms > Manage passwords) or using KDE's KWallet presents a problem, see <https://bugs.chromium.org/p/chromium/issues/detail?id=620360#c3>. - -%package desktop-gnome -Summary: Update to chromium to use Gnome keyring to store passwords -License: BSD-3-Clause and LGPL-2.1+ -Group: Productivity/Networking/Web/Browsers -Requires: libgnome -Requires(post): chromium = %{version} -Supplements: packageand(chromium:gnome-session) -Conflicts: otherproviders(chromium-password) -Provides: chromium-password = %{version} - -%description desktop-gnome -By using the openSUSE update-alternatives the password store for Chromium is changed to utilize Gnome's Keyring. If access to passwords stored via Chromium (3-dot menu > Settings > Show advanced settings > Passwords and forms > Manage passwords) or using Gnome's Keyring presents a problem, see <https://bugs.chromium.org/p/chromium/issues/detail?id=620360#c3>. - %package -n chromedriver Summary: WebDriver for Google Chrome/Chromium License: BSD-3-Clause @@ -243,10 +234,11 @@ %endif %prep -%setup -q +%setup -q -n %{rname}-%{version} #GN Buildsystem fixes %patch200 -p1 +%patch201 -p1 #Standard patches %patch1 @@ -256,49 +248,74 @@ %patch5 -p1 %patch6 -p1 %patch7 -%if 0%{?suse_version} > 1320 -%patch8 -%endif +%patch8 -p1 %patch9 -p1 +%patch10 +%patch11 -p1 +%patch13 -p1 # archlinux arm enhancements %patch100 -%patch101 -p0 +%patch101 %build +# do not eat all memory +ninjaproc="%{?jobs:%{jobs}}" +echo "Available memory:" +free +echo "System limits:" +ulimit -a +if test -n "$ninjaproc" -a "$ninjaproc" -gt 1 ; then + mem_per_process=1300 + max_mem=`LANG=C free -t -m | sed -n "s|^Mem: *\([0-9]*\).*$|\1|p"` + max_jobs="$(($max_mem / $mem_per_process))" + test "$ninjaproc" -gt "$max_jobs" && ninjaproc="$max_jobs" && echo "Warning: Reducing number of jobs to $max_jobs because of memory limits" + test "$ninjaproc" -le 0 && ninjaproc=1 && echo "Warning: Do not use the parallel build at all becuse of memory limits" +fi # Create the configuration for GN +# Available options: out/Release/gn args --list out/Release/ +myconf_gn="" myconf_gn+=" is_debug=false" myconf_gn+=" enable_nacl=false" -myconf_gn+=" proprietary_codecs=true" myconf_gn+=" is_component_ffmpeg=true" myconf_gn+=" use_cups=true" myconf_gn+=" use_gconf=true" myconf_gn+=" use_gtk3=true" +myconf_gn+=" use_aura=true" +myconf_gn+=" enable_clipboard_aurax11=true" +myconf_gn+=" symbol_level=1" +myconf_gn+=" remove_webcore_debug_symbols=true" myconf_gn+=" use_kerberos=true" -myconf_gn+=" use_pulseaudio=true" -myconf_gn+=" is_clang=false" +myconf_gn+=" use_pulseaudio=true link_pulseaudio=true" myconf_gn+=" use_sysroot=false" myconf_gn+=" treat_warnings_as_errors=false" myconf_gn+=" fatal_linker_warnings=false" myconf_gn+=" use_allocator=\"none\"" -myconf_gn+=" enable_widevine=true" myconf_gn+=" fieldtrial_testing_like_official_build=true" +myconf_gn+=" use_gold=true" +myconf_gn+=" use_sysroot=false" +myconf_gn+=" enable_widevine=true" +myconf_gn+=" enable_hangout_services_extension=true" +%if %{with clang} +myconf_gn+=" is_clang=true clang_base_path=\"/usr\" clang_use_chrome_plugins=false" +%else +myconf_gn+=" is_clang=false" +%endif # Define the Chrome branding in order to get libffmpeg on packman that supports all codecs %if 0%{?packman_bs} +myconf_gn+=" proprietary_codecs=true" myconf_gn+=" ffmpeg_branding=\"Chrome\"" %endif -%ifarch %arm -myconf_gn+=" target_cpu =\"arm\"" +%ifarch %{arm} +myconf_gn+=" target_cpu=\"arm\"" myconf_gn+=" target_sysroot_dir=\"\"" myconf_gn+=" arm_use_neon=false" myconf_gn+=" arm_optionally_use_neon=false" myconf_gn+=" arm_use_thumb=true" -myconf_gn+=" remove_webcore_debug_symbols=true" -myconf_gn+=" symbol_level = 0" -myconf_gn+=" is_component_build = true" +myconf_gn+=" is_component_build=true" %endif # Set up Google API keys, see http://www.chromium.org/developers/how-tos/api-keys @@ -319,19 +336,22 @@ touch chrome/test/data/webui/i18n_process_css_test.html fi +%if %{with clang} +export CC=clang +export CXX=clang++ +%endif +export CFLAGS="%{optflags}" +export CXXFLAGS="%{optflags}" + tools/gn/bootstrap/bootstrap.py -v --gn-gen-args "${myconf_gn}" +# GN does not support passing cflags: +# https://bugs.chromium.org/p/chromium/issues/detail?id=642016 out/Release/gn gen --args="${myconf_gn}" out/Release %if 0%{?packman_bs} - ninja -C out/Release third_party/ffmpeg + ninja -v -j $ninjaproc -C out/Release third_party/ffmpeg %else - ninja -j %{ninjaproc} -C out/Release chrome - - # Build the required SUID_SANDBOX helper - ninja -j %{ninjaproc} -C out/Release chrome_sandbox - - # Build the ChromeDriver test suite - ninja -j %{ninjaproc} -C out/Release chromedriver + ninja -v -j $ninjaproc -C out/Release chrome chrome_sandbox chromedriver %endif %install @@ -344,18 +364,12 @@ %ifarch x86_64 mkdir -p %{buildroot}%{_libexecdir}/ %endif - install -m 755 %{SOURCE100} %{buildroot}%{_libdir}/chromium/chromium-generic + mkdir -p %{buildroot}%{_bindir} + install -m 755 %{SOURCE100} %{buildroot}%{_bindir}/chromium # x86_64 capable systems need this - sed -i "s|%{_libexecdir}/chromium|%{_libdir}/chromium|g" %{buildroot}%{_libdir}/chromium/chromium-generic + sed -i "s|%{_libexecdir}/chromium|%{_libdir}/chromium|g" %{buildroot}%{_bindir}/chromium - #update the password-store settings for each alternative -%if 0%{?suse_version} > 1320 || 0%{?suse_version} == 1315 && 0%{?is_opensuse} - sed "s|password-store=detect|password-store=kwallet5|g" %{buildroot}%{_libdir}/chromium/chromium-generic > %{buildroot}%{_libdir}/chromium/chromium-kde -%else - sed "s|password-store=detect|password-store=kwallet|g" %{buildroot}%{_libdir}/chromium/chromium-generic > %{buildroot}%{_libdir}/chromium/chromium-kde -%endif - sed "s|password-store=detect|password-store=gnome|g" %{buildroot}%{_libdir}/chromium/chromium-generic > %{buildroot}%{_libdir}/chromium/chromium-gnome mkdir -p %{buildroot}%{_mandir}/man1/ pushd out/Release @@ -371,11 +385,8 @@ cp -a chromedriver %{buildroot}%{_libdir}/chromium/ # chromium components -%ifarch %arm - cp -a lib*.so %{buildroot}%{_libdir}/chromium/ -%else + # ffmpeg cp -av libffmpeg.so %{buildroot}%{_libdir}/chromium/ -%endif # Patch xdg-settings to use the chromium version of xdg-mime as that the system one is not KDE4 compatible sed "s|xdg-mime|%{_libdir}/chromium/xdg-mime|g" xdg-settings > %{buildroot}%{_libdir}/chromium/xdg-settings @@ -402,69 +413,38 @@ # link to browser plugin path. Plugin patch doesn't work. Why? mkdir -p %{buildroot}%{_libdir}/browser-plugins - pushd %{buildroot}%{_libdir}/%{name} + pushd %{buildroot}%{_libdir}/chromium ln -s ../browser-plugins plugins # Install the master_preferences file - mkdir -p %{buildroot}%{_sysconfdir}/%{name} - install -m 0644 %{SOURCE30} %{buildroot}%{_sysconfdir}/%{name} - install -m 0644 %{SOURCE31} %{buildroot}%{_sysconfdir}/%{name} + mkdir -p %{buildroot}%{_sysconfdir}/chromium + install -m 0644 %{SOURCE30} %{buildroot}%{_sysconfdir}/chromium + install -m 0644 %{SOURCE31} %{buildroot}%{_sysconfdir}/chromium # Set the right attributes - chmod 755 %{buildroot}%{_libdir}/%{name}/xdg-settings - chmod 755 %{buildroot}%{_libdir}/%{name}/xdg-mime - - # create a dummy target for %{_sysconfdir}/alternatives/chromium - mkdir -p %{buildroot}%{_sysconfdir}/alternatives - mkdir -p %{buildroot}%{_bindir} - touch %{buildroot}%{_sysconfdir}/alternatives/chromium - ln -s -f %{_sysconfdir}/alternatives/chromium %{buildroot}/%{_bindir}/chromium + chmod 755 %{buildroot}%{_libdir}/chromium/xdg-settings + chmod 755 %{buildroot}%{_libdir}/chromium/xdg-mime %endif %if !0%{?packman_bs} -%pre -if [ -f %{_bindir}/chromium -a ! -L %{_bindir}/chromium ] ; then - rm -f %{_bindir}/chromium -fi %verifyscript %verify_permissions -e %{_libexecdir}/chrome_sandbox %post %icon_theme_cache_post %desktop_database_post -update-alternatives --install %{_bindir}/chromium chromium %{_libdir}/chromium/chromium-generic 10 %set_permissions %{_libexecdir}/chrome_sandbox /sbin/ldconfig %{_libdir}/chromium %postun %icon_theme_cache_postun %desktop_database_postun -if [ $1 -eq 0 ]; then - update-alternatives --remove chromium %{_libdir}/chromium/chromium-generic -fi /sbin/ldconfig %{_libdir}/chromium - -%post desktop-kde -update-alternatives --install %{_bindir}/chromium chromium %{_libdir}/chromium/chromium-kde 15 - -%preun desktop-kde -if [ $1 -eq 0 ]; then - update-alternatives --remove chromium %{_libdir}/chromium/chromium-kde -fi - -%post desktop-gnome -update-alternatives --install %{_bindir}/chromium chromium %{_libdir}/chromium/chromium-gnome 15 - -%postun desktop-gnome -if [ $1 -eq 0 ]; then - update-alternatives --remove chromium %{_libdir}/chromium/chromium-gnome -fi %endif # Files! %if 0%{?packman_bs} - %post ffmpeg /sbin/ldconfig %{_libdir}/chromium @@ -481,7 +461,7 @@ %defattr(-,root,root,-) %verify(not mode) %{_libexecdir}/chrome_sandbox %doc AUTHORS LICENSE -%config %{_sysconfdir}/%{name} +%config %{_sysconfdir}/chromium %config(noreplace) %{_sysconfdir}/default/chromium %dir %{_datadir}/gnome-control-center %dir %{_datadir}/gnome-control-center/default-apps @@ -492,26 +472,13 @@ %{_datadir}/icons/hicolor/ %{_libexecdir}/chrome_sandbox %exclude %{_libdir}/chromium/libffmpeg.so -%exclude %{_libdir}/chromium/chromium-kde -%exclude %{_libdir}/chromium/chromium-gnome %exclude %{_libdir}/chromium/chromedriver %{_bindir}/chromium -%ghost %{_sysconfdir}/alternatives/chromium %files ffmpegsumo %defattr(-,root,root,-) %{_libdir}/chromium/libffmpeg.so -%files desktop-kde -%defattr(-,root,root) -%ghost %{_sysconfdir}/alternatives/chromium -%attr(755, root, root) %{_libdir}/chromium/chromium-kde - -%files desktop-gnome -%defattr(-,root,root) -%ghost %{_sysconfdir}/alternatives/chromium -%attr(755, root, root) %{_libdir}/chromium/chromium-gnome - %files -n chromedriver %defattr(-,root,root,-) %{_libdir}/chromium/chromedriver ++++++ _constraints ++++++ --- /var/tmp/diff_new_pack.b1bxiH/_old 2016-10-19 13:13:59.000000000 +0200 +++ /var/tmp/diff_new_pack.b1bxiH/_new 2016-10-19 13:13:59.000000000 +0200 @@ -2,11 +2,10 @@ <constraints> <hardware> <disk> - <!-- build uses 20GB in maintenance projects currently 201502 --> - <size unit="M">15000</size> + <size unit="G">20</size> </disk> <memory> - <size unit="M">6000</size> + <size unit="G">6</size> </memory> </hardware> <overwrite> @@ -15,9 +14,9 @@ <arch>armv7l</arch> </conditions> <hardware> - <memory> - <size unit="M">2600</size> - </memory> + <physicalmemory> + <size unit="G">2</size> + </physicalmemory> </hardware> </overwrite> </constraints> ++++++ arm_use_right_compiler.patch ++++++ --- /var/tmp/diff_new_pack.b1bxiH/_old 2016-10-19 13:13:59.000000000 +0200 +++ /var/tmp/diff_new_pack.b1bxiH/_new 2016-10-19 13:13:59.000000000 +0200 @@ -1,18 +1,24 @@ --- build/toolchain/linux/BUILD.gn 2016-08-25 12:19:55.634174140 +0200 +++ build/toolchain/linux/BUILD.gn 2016-08-25 12:19:55.634174140 +0200 -@@ -8,17 +8,17 @@ +@@ -6,7 +6,7 @@ + import("//build/toolchain/gcc_toolchain.gni") + clang_toolchain("clang_arm") { - toolchain_cpu = "arm" - toolchain_os = "linux" - toolprefix = "arm-linux-gnueabihf-" + toolprefix = "" + toolchain_args = { + current_cpu = "arm" + current_os = "linux" +@@ -14,7 +14,7 @@ } clang_toolchain("clang_arm64") { - toolchain_cpu = "arm64" - toolchain_os = "linux" - toolprefix = "aarch64-linux-gnu-" + toolprefix = "" + toolchain_args = { + current_cpu = "arm64" + current_os = "linux" +@@ -22,7 +22,7 @@ } gcc_toolchain("arm") { @@ -22,4 +28,3 @@ cc = "${toolprefix}gcc" cxx = "${toolprefix}g++" - ++++++ chromium-53.0.2785.143.tar.xz -> chromium-54.0.2840.59.tar.xz ++++++ /work/SRC/openSUSE:Factory/chromium/chromium-53.0.2785.143.tar.xz /work/SRC/openSUSE:Factory/.chromium.new/chromium-54.0.2840.59.tar.xz differ: char 26, line 1 ++++++ chromium-browser.sh ++++++ --- /var/tmp/diff_new_pack.b1bxiH/_old 2016-10-19 13:13:59.000000000 +0200 +++ /var/tmp/diff_new_pack.b1bxiH/_new 2016-10-19 13:13:59.000000000 +0200 @@ -54,45 +54,7 @@ # Set the default theme as GTK+ with system window decoration if [ ! -d ~/.config/chromium/Default ]; then mkdir -p ~/.config/chromium/Default - cat <<EOF > ~/.config/chromium/Default/Preferences -{ - "browser": { - "custom_chrome_frame": false - }, - "extensions": { - "theme": { - "colors": { - - }, - "id": "", - "images": { - - }, - "properties": { - - }, - "tints": { - - }, - "use_system": true - } - }, - "homepage": "http://www.opensuse.org/", - "homepage_is_newtabpage": false, - "session": { - "restore_on_startup": 1 - }, - "webkit": { - "webprefs": { - "default_fixed_font_size": 13, - "default_font_size": 16, - "fixed_font_family": "Droid Sans Mono", - "sansserif_font_family": "Droid Sans", - "serif_font_family": "Droid Serif" - } - } -} -EOF + cp /etc/chromium/master_preferences ~/.config/chromium/Default/Preferences fi if [ ! -u $CHROME_SANDBOX ] ; then @@ -132,6 +94,6 @@ $GDB "$LIBDIR/$APPNAME" -x $tmpfile exit $? else - exec $LIBDIR/$APPNAME $SANDBOX ${CHROMIUM_FLAGS} ${PEPPERFLASH} "--password-store=detect" "--enable-threaded-compositing" "$@" + exec $LIBDIR/$APPNAME $SANDBOX ${CHROMIUM_FLAGS} ${PEPPERFLASH} "--password-store=detect" "--enable-threaded-compositing" "--ui-disable-partial-swap" "$@" fi ++++++ chromium-linker-memory.patch ++++++ Index: chromium-55.0.2859.0/build/config/compiler/BUILD.gn =================================================================== --- chromium-55.0.2859.0.orig/build/config/compiler/BUILD.gn +++ chromium-55.0.2859.0/build/config/compiler/BUILD.gn @@ -318,7 +318,7 @@ config("compiler") { # Only apply this to the target linker, since the host # linker might not be gold, but isn't used much anyway. "-Wl,--threads", - "-Wl,--thread-count=4", + "-Wl,--thread-count=1", ] } } @@ -345,22 +345,6 @@ config("compiler") { ldflags += [ "--gcc-toolchain=$_rebased_android_toolchain_root" ] } - if (is_posix && (use_gold || (use_lld && !is_nacl)) && !using_sanitizer && - !(is_android && use_order_profiling)) { - # TODO(crbug.com/576197) - gcc on x86 platforms + gold + icf=all - # doesn't currently work on non-chromeos platforms. - # Additionally, on Android x86 --icf=safe seems to cause issues as well. - # Additionally, on cast Android x86, --icf=all causes issues. - if (is_android && current_cpu == "x86") { - ldflags += [ "-Wl,--icf=none" ] - } else if (is_clang || is_chromeos || - (current_cpu != "x86" && current_cpu != "x64")) { - ldflags += [ "-Wl,--icf=all" ] - } else if (!is_android) { - ldflags += [ "-Wl,--icf=safe" ] - } - } - if (linux_use_bundled_binutils) { cflags += [ "-B$binutils_path" ] } @@ -1291,11 +1275,6 @@ if (is_win) { # Don't emit the GCC version ident directives, they just end up in the # .comment section taking up binary size. "-fno-ident", - - # Put data and code in their own sections, so that unused symbols - # can be removed at link time with --gc-sections. - "-fdata-sections", - "-ffunction-sections", ] common_optimize_on_ldflags += [ ++++++ chromium-system-ffmpeg-r3.patch ++++++ --- a/media/ffmpeg/ffmpeg_common.h 2015-11-27 12:01:56.155462264 +0000 +++ b/media/ffmpeg/ffmpeg_common.h 2015-11-27 12:03:03.348846300 +0000 @@ -19,10 +19,6 @@ // Include FFmpeg header files. extern "C" { -// Disable deprecated features which result in spammy compile warnings. This -// list of defines must mirror those in the 'defines' section of BUILD.gn file & -// ffmpeg.gyp file or the headers below will generate different structures! -#define FF_API_CONVERGENCE_DURATION 0 // Upstream libavcodec/utils.c still uses the deprecated // av_dup_packet(), causing deprecation warnings. // The normal fix for such things is to disable the feature as below, @@ -36,7 +32,6 @@ MSVC_PUSH_DISABLE_WARNING(4244); #include <libavcodec/avcodec.h> #include <libavformat/avformat.h> -#include <libavformat/internal.h> #include <libavformat/avio.h> #include <libavutil/avutil.h> #include <libavutil/imgutils.h> --- a/media/filters/ffmpeg_demuxer.cc.orig 2016-08-01 10:52:01.528177808 +0000 +++ b/media/filters/ffmpeg_demuxer.cc 2016-08-01 10:52:27.160707694 +0000 @@ -1150,24 +1150,6 @@ // If no estimate is found, the stream entry will be kInfiniteDuration. std::vector<base::TimeDelta> start_time_estimates(format_context->nb_streams, kInfiniteDuration); - const AVFormatInternal* internal = format_context->internal; - if (internal && internal->packet_buffer && - format_context->start_time != static_cast<int64_t>(AV_NOPTS_VALUE)) { - struct AVPacketList* packet_buffer = internal->packet_buffer; - while (packet_buffer != internal->packet_buffer_end) { - DCHECK_LT(static_cast<size_t>(packet_buffer->pkt.stream_index), - start_time_estimates.size()); - const AVStream* stream = - format_context->streams[packet_buffer->pkt.stream_index]; - if (packet_buffer->pkt.pts != static_cast<int64_t>(AV_NOPTS_VALUE)) { - const base::TimeDelta packet_pts = - ConvertFromTimeBase(stream->time_base, packet_buffer->pkt.pts); - if (packet_pts < start_time_estimates[stream->index]) - start_time_estimates[stream->index] = packet_pts; - } - packet_buffer = packet_buffer->next; - } - } std::unique_ptr<MediaTracks> media_tracks(new MediaTracks()); AVStream* audio_stream = NULL; ++++++ chromium-system-jinja-r13.patch ++++++ --- a/third_party/WebKit/Source/bindings/scripts/scripts.gyp.orig 2014-08-19 09:55:10.330972228 +0000 +++ b/third_party/WebKit/Source/bindings/scripts/scripts.gyp 2014-08-19 09:55:26.387286232 +0000 @@ -54,7 +54,6 @@ 'actions': [{ 'action_name': 'cache_jinja_templates', 'inputs': [ - '<@(jinja_module_files)', 'code_generator_v8.py', '<@(code_generator_template_files)', ], --- a/third_party/WebKit/Source/build/scripts/scripts.gypi.orig 2014-08-19 10:00:00.216521733 +0000 +++ b/third_party/WebKit/Source/build/scripts/scripts.gypi 2014-08-19 10:00:11.464735099 +0000 @@ -2,10 +2,6 @@ { 'variables': { 'scripts_for_in_files': [ - # jinja2/__init__.py contains version string, so sufficient as - # dependency for whole jinja2 package - '<(DEPTH)/third_party/jinja2/__init__.py', - '<(DEPTH)/third_party/markupsafe/__init__.py', # jinja2 dep 'hasher.py', 'in_file.py', 'in_generator.py', --- a/third_party/WebKit/Source/bindings/scripts/scripts.gypi.orig 2014-08-19 10:53:02.824618979 +0000 +++ b/third_party/WebKit/Source/bindings/scripts/scripts.gypi 2014-08-19 10:53:20.784957370 +0000 @@ -12,9 +12,6 @@ '<(DEPTH)/third_party/markupsafe/__init__.py', # jinja2 dep ], 'idl_lexer_parser_files': [ - # PLY (Python Lex-Yacc) - '<(DEPTH)/third_party/ply/lex.py', - '<(DEPTH)/third_party/ply/yacc.py', # Web IDL lexer/parser (base parser) '<(DEPTH)/tools/idl_parser/idl_lexer.py', '<(DEPTH)/tools/idl_parser/idl_node.py', --- a/third_party/WebKit/Source/build/scripts/scripts.gni.orig 2016-06-02 09:54:28.510152077 +0000 +++ b/third_party/WebKit/Source/build/scripts/scripts.gni 2016-06-02 09:54:50.966612510 +0000 @@ -9,10 +9,6 @@ _scripts_dir = "//third_party/WebKit/Source/build/scripts" scripts_for_in_files = [ - # jinja2/__init__.py contains version string, so sufficient as - # dependency for whole jinja2 package - "//third_party/jinja2/__init__.py", - "//third_party/markupsafe/__init__.py", # jinja2 dep "$_scripts_dir/hasher.py", "$_scripts_dir/in_file.py", "$_scripts_dir/in_generator.py", --- a/third_party/WebKit/Source/bindings/scripts/BUILD.gn.orig 2016-06-02 10:03:01.100658943 +0000 +++ b/third_party/WebKit/Source/bindings/scripts/BUILD.gn 2016-06-02 10:03:13.240907715 +0000 @@ -36,7 +36,7 @@ action("cached_jinja_templates") { script = "code_generator_v8.py" - inputs = jinja_module_files + [ "code_generator_v8.py" ] + + inputs = [ "code_generator_v8.py" ] + code_generator_template_files # Dummy file to track dependency. ++++++ fix-gn-bootstrap.diff ++++++ diff --git a/tools/gn/bootstrap/bootstrap.py b/tools/gn/bootstrap/bootstrap.py index fa81d10..aab92c2 100755 --- a/tools/gn/bootstrap/bootstrap.py +++ b/tools/gn/bootstrap/bootstrap.py ++++++ fix_building_widevinecdm_with_chromium.patch ++++++ --- /var/tmp/diff_new_pack.b1bxiH/_old 2016-10-19 13:13:59.000000000 +0200 +++ /var/tmp/diff_new_pack.b1bxiH/_new 2016-10-19 13:13:59.000000000 +0200 @@ -1,9 +1,14 @@ ---- chromium-48.0.2564.82.orig/third_party/widevine/cdm/stub/widevine_cdm_version.h 2016-01-14 01:05:17.000000000 +0200 -+++ chromium-48.0.2564.82/third_party/widevine/cdm/stub/widevine_cdm_version.h 2016-01-21 19:18:51.287978456 +0200 -@@ -12,4 +12,6 @@ +Minimal patch to get chromium to compile with widevine support + +https://bugs.gentoo.org/show_bug.cgi?id=547630 + +--- a/third_party/widevine/cdm/stub/widevine_cdm_version.h ++++ b/third_party/widevine/cdm/stub/widevine_cdm_version.h +@@ -10,6 +10,7 @@ + #include "third_party/widevine/cdm/widevine_cdm_common.h" + ++#define WIDEVINE_CDM_VERSION_STRING "unknown" #define WIDEVINE_CDM_AVAILABLE -+#define WIDEVINE_CDM_VERSION_STRING "@WIDEVINE_VERSION@" -+ #endif // WIDEVINE_CDM_VERSION_H_