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 - tchvatal@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