52.0.2743.116

This commit is contained in:
Tom Callaway 2016-08-08 13:37:48 -04:00
parent f96d8c8ea7
commit 8a15fdfccc
9 changed files with 282 additions and 7 deletions

1
.gitignore vendored
View File

@ -2,3 +2,4 @@
/depot_tools.git-master.tar.gz
/policy_templates.zip
/chromium-52.0.2743.82-clean.tar.xz
/chromium-52.0.2743.116-clean.tar.xz

View File

@ -0,0 +1,12 @@
diff -up chromium-52.0.2743.82/third_party/icu/icu.gyp.armfix chromium-52.0.2743.82/third_party/icu/icu.gyp
--- chromium-52.0.2743.82/third_party/icu/icu.gyp.armfix 2016-08-03 09:39:02.159874067 +0200
+++ chromium-52.0.2743.82/third_party/icu/icu.gyp 2016-08-03 09:39:17.953765034 +0200
@@ -44,7 +44,7 @@
}],
['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \
or OS=="netbsd" or OS=="mac" or OS=="android" or OS=="qnx") and \
- (target_arch=="arm" or target_arch=="ia32" or \
+ (target_arch=="ia32" or \
target_arch=="mipsel")', {
'target_conditions': [
['_toolset=="host"', {

View File

@ -0,0 +1,51 @@
diff -up chromium-52.0.2743.82/third_party/webrtc/system_wrappers/source/cpu_features.cc.armwebrtc chromium-52.0.2743.82/third_party/webrtc/system_wrappers/source/cpu_features.cc
--- chromium-52.0.2743.82/third_party/webrtc/system_wrappers/source/cpu_features.cc.armwebrtc 2016-08-03 09:30:53.922861020 +0200
+++ chromium-52.0.2743.82/third_party/webrtc/system_wrappers/source/cpu_features.cc 2016-08-03 09:32:00.337498174 +0200
@@ -18,6 +18,47 @@
#include "webrtc/typedefs.h"
+#include <elf.h>
+#ifdef __arm__
+#include <fcntl.h>
+#include <unistd.h>
+#include <linux/auxvec.h>
+#include <asm/hwcap.h>
+#endif
+
+#ifdef __arm__
+uint64_t WebRtc_GetCPUFeaturesARM() {
+ static bool detected = false;
+ static uint64_t have_neon = 0;
+
+ int fd;
+ Elf32_auxv_t auxv;
+ unsigned int hwcaps;
+
+ if (!detected) {
+ int fd;
+ Elf32_auxv_t auxv;
+ unsigned int hwcaps;
+
+ fd = open("/proc/self/auxv", O_RDONLY);
+ if (fd >= 0) {
+ while (read(fd, &auxv, sizeof(Elf32_auxv_t)) == sizeof(Elf32_auxv_t)) {
+ if (auxv.a_type == AT_HWCAP) {
+ have_neon = (auxv.a_un.a_val & HWCAP_NEON) ? kCPUFeatureNEON : 0;
+ break;
+ }
+ }
+ close (fd);
+ } else {
+ have_neon = 0;
+ }
+ detected = true;
+ }
+
+ return 0 | have_neon; // others here as we need them
+}
+#endif
+
// No CPU feature is available => straight C path.
int GetCPUInfoNoASM(CPUFeature feature) {
(void)feature;

View File

@ -0,0 +1,15 @@
diff -up chromium-52.0.2743.82/chrome/browser/first_run/first_run_internal_linux.cc.etc chromium-52.0.2743.82/chrome/browser/first_run/first_run_internal_linux.cc
--- chromium-52.0.2743.82/chrome/browser/first_run/first_run_internal_linux.cc.etc 2016-08-03 10:15:57.980692109 +0200
+++ chromium-52.0.2743.82/chrome/browser/first_run/first_run_internal_linux.cc 2016-08-03 10:16:44.553325229 +0200
@@ -19,9 +19,9 @@ bool IsOrganicFirstRun() {
base::FilePath MasterPrefsPath() {
// The standard location of the master prefs is next to the chrome binary.
+ // ...but we patch it to use /etc/chromium
base::FilePath master_prefs;
- if (!PathService::Get(base::DIR_EXE, &master_prefs))
- return base::FilePath();
+ master_prefs = base::FilePath("/etc/chromium");
return master_prefs.AppendASCII(installer::kDefaultMasterPrefs);
}

View File

@ -0,0 +1,15 @@
diff -up chromium-52.0.2743.82/third_party/WebKit/Source/wtf/text/TextCodecICU.cpp.morealiases chromium-52.0.2743.82/third_party/WebKit/Source/wtf/text/TextCodecICU.cpp
--- chromium-52.0.2743.82/third_party/WebKit/Source/wtf/text/TextCodecICU.cpp.morealiases 2016-08-03 08:55:48.293159940 +0200
+++ chromium-52.0.2743.82/third_party/WebKit/Source/wtf/text/TextCodecICU.cpp 2016-08-03 08:57:05.192505191 +0200
@@ -208,7 +208,11 @@ void TextCodecICU::registerEncodingNames
registrar("iso_8859-6", "ISO-8859-6");
registrar("iso_8859-7", "ISO-8859-7");
registrar("iso_8859-8", "ISO-8859-8");
+ registrar("ISO_8859-8-I", "ISO-8859-8-I");
registrar("iso_8859-9", "windows-1254");
+ registrar("ISO_8859-10", "ISO-8859-10");
+ registrar("ISO_8859-13", "ISO-8859-13");
+ registrar("ISO_8859-14", "ISO-8859-14");
registrar("iso_8859-15", "ISO-8859-15");
registrar("koi8_r", "KOI8-R");
registrar("x-cp1253", "windows-1253");

View File

@ -0,0 +1,15 @@
diff -up chromium-52.0.2743.82/sandbox/linux/sandbox_linux.gypi.pie chromium-52.0.2743.82/sandbox/linux/sandbox_linux.gypi
--- chromium-52.0.2743.82/sandbox/linux/sandbox_linux.gypi.pie 2016-08-03 09:06:41.617923620 +0200
+++ chromium-52.0.2743.82/sandbox/linux/sandbox_linux.gypi 2016-08-03 09:11:49.747463317 +0200
@@ -205,7 +205,10 @@
],
'cflags': [
# For ULLONG_MAX
- '-std=gnu99',
+ '-std=gnu99 -fPIE',
+ ],
+ 'ldflags': [
+ '-pie',
],
'include_dirs': [
'../..',

View File

@ -53,6 +53,16 @@ BuildRequires: libicu-devel >= 5.4
%global bundlere2 0
%global gtk3 1
%if 0%{?rhel} == 7
%global bundleopus 1
%global bundlelibusbx 1
%else
%global bundleopus 0
%global bundlelibusbx 0
%endif
### Google API keys (see http://www.chromium.org/developers/how-tos/api-keys)
### Note: These are for Fedora use ONLY.
### For your own distribution, please get your own set of keys.
@ -63,8 +73,8 @@ BuildRequires: libicu-devel >= 5.4
%global chromoting_client_id 449907151817-8vnlfih032ni8c4jjps9int9t86k546t.apps.googleusercontent.com
Name: chromium%{chromium_channel}
Version: 52.0.2743.82
Release: 9%{?dist}
Version: 52.0.2743.116
Release: 1%{?dist}
Summary: A WebKit (Blink) powered web browser
Url: http://www.chromium.org/Home
License: BSD and LGPLv2+ and ASL 2.0 and IJG and MIT and GPLv2+ and ISC and OpenSSL and (MPLv1.1 or GPLv2 or LGPLv2)
@ -99,6 +109,16 @@ Patch11: chromium-52.0.2723.2-PNGImageDecoder-fix-cast.patch
Patch12: chromium-52.0.2743.82-cups22.patch
# Fix widevine compilation
Patch13: chromium-52.0.2743.82-widevinefix.patch
# Add ICU Text Codec aliases (from openSUSE via Russian Fedora)
Patch14: chromium-52.0.2743.82-more-codec-aliases.patch
# Use PIE in the Linux sandbox (from openSUSE via Russian Fedora)
Patch15: chromium-52.0.2743.82-sandbox-pie.patch
# Enable ARM CPU detection for webrtc (from archlinux via Russian Fedora)
Patch16: chromium-52.0.2743.82-arm-webrtc.patch
# Do not force -m32 in icu compile on ARM (from archlinux via Russian Fedora)
Patch17: chromium-52.0.2743.82-arm-icu-fix.patch
# Use /etc/chromium for master_prefs
Patch18: chromium-52.0.2743.82-master-prefs-path.patch
### Chromium Tests Patches ###
Patch100: chromium-46.0.2490.86-use_system_opus.patch
@ -130,6 +150,7 @@ Source9: chromium-browser.xml
Source10: https://dl.google.com/dl/edgedl/chrome/policy/policy_templates.zip
Source11: chrome-remote-desktop.service
Source12: chromium-browser.appdata.xml
Source13: master_preferences
# We can assume gcc and binutils.
BuildRequires: gcc-c++
@ -218,8 +239,12 @@ BuildRequires: libpng-devel
BuildRequires: libsrtp-devel >= 1.4.4
%endif
BuildRequires: libudev-devel
%if %{bundlelibusbx}
# Do nothing
%else
Requires: libusbx >= 1.0.21-0.1.git448584a
BuildRequires: libusbx-devel >= 1.0.21-0.1.git448584a
%endif
# We don't use libvpx anymore because Chromium loves to
# use bleeding edge revisions here that break other things
# ... so we just use the bundled libvpx.
@ -229,8 +254,15 @@ BuildRequires: libxslt-devel
# BuildRequires: libyuv-devel
BuildRequires: minizip-devel
BuildRequires: nspr-devel
%if %{bundleopus}
# Do nothing
%else
BuildRequires: opus-devel
%endif
BuildRequires: perl(Switch)
%if 0%{gtk3}
BuildRequires: pkgconfig(gtk+-3.0)
%endif
BuildRequires: pulseaudio-libs-devel
BuildRequires: python-beautifulsoup4
BuildRequires: python-BeautifulSoup
@ -281,6 +313,8 @@ Provides: webrtc = 0.2
Obsoletes: webrtc <= 0.1
%if 0%{?shared}
Requires: chromium-libs%{_isa} = %{version}-%{release}
# This is broken out so it can be replaced.
Requires: chromium-libs-media%{_isa} = %{version}-%{release}
# Nothing to do here. chromium-libs is real.
%else
Provides: chromium-libs = %{version}-%{release}
@ -320,6 +354,9 @@ Provides: bundled(libaddressinput) = 0
Provides: bundled(libjingle) = 9564
Provides: bundled(libphonenumber) = svn584
Provides: bundled(libsrtp) = 1.5.2
%if %{bundlelibusbx}
Provides: bundled(libusbx) = 1.0.17
%endif
Provides: bundled(libvpx) = 1.4.0
Provides: bundled(libwebp) = 0.4.3
Provides: bundled(libXNVCtrl) = 302.17
@ -330,6 +367,9 @@ Provides: bundled(mesa) = 9.0.3
Provides: bundled(NSBezierPath) = 1.0
Provides: bundled(mozc)
Provides: bundled(mt19937ar) = 2002.1.26
%if %{bundleopus}
Provides: bundled(opus) = 1.1.2
%endif
Provides: bundled(ots) = 767d6040439e6ebcdb867271fcb686bd3f8ac739
Provides: bundled(protobuf) = r476
Provides: bundled(qcms) = 4
@ -359,9 +399,16 @@ Chromium is an open-source web browser, powered by WebKit (Blink).
%if 0%{?shared}
%package libs
Summary: Shared libraries used by chromium (and chrome-remote-desktop)
Requires: chromium-libs-media%{_isa} = %{version}
%description libs
Shared libraries used by chromium (and chrome-remote-desktop).
%package libs-media
Summary: Shared libraries used by the chromium media subsystem
%description libs-media
Shared libraries used by the chromium media subsystem.
%endif
%package -n chrome-remote-desktop
@ -378,6 +425,23 @@ Summary: Remote desktop support for google-chrome & chromium
%description -n chrome-remote-desktop
Remote desktop support for google-chrome & chromium.
%package -n chromedriver
Summary: WebDriver for Google Chrome/Chromium
%if 0%{?shared}
Requires: chromium-libs%{_isa} = %{version}-%{release}
%endif
# From Russian Fedora (minus the epoch)
Provides: chromedriver-stable = %{version}-%{release}
Conflicts: chromedriver-testing
Conflicts: chromedriver-unstable
%description -n chromedriver
WebDriver is an open source tool for automated testing of webapps across many
browsers. It provides capabilities for navigating to web pages, user input,
JavaScript execution, and more. ChromeDriver is a standalone server which
implements WebDriver's wire protocol for Chromium. It is being developed by
members of the Chromium and WebDriver teams.
%prep
%setup -q -T -c -n %{name}-policies -a 10
%setup -q -T -c -n depot_tools -a 2
@ -401,6 +465,11 @@ Remote desktop support for google-chrome & chromium.
%patch11 -p1 -b .fixcast
%patch12 -p1 -b .cups22
%patch13 -p1 -b .widevinefix
%patch14 -p1 -b .morealiases
%patch15 -p1 -b .sandboxpie
%patch16 -p1 -b .armwebrtc
%patch17 -p1 -b .armfix
%patch18 -p1 -b .etc
### Chromium Tests Patches ###
%patch100 -p1 -b .use_system_opus
@ -523,6 +592,7 @@ export CHROMIUM_BROWSER_GYP_DEFINES="\
-Dhost_clang=0 \
%endif
-Ddisable_glibc=1 \
-Dlinux_fpic=1 \
-Ddisable_sse2=1 \
%if 0%{?nonacl}
-Ddisable_nacl=1 \
@ -541,6 +611,7 @@ export CHROMIUM_BROWSER_GYP_DEFINES="\
-Duse_system_flac=1 \
-Duse_system_harfbuzz=1 \
%if 0%{?bundleicu}
-Duse_system_icu=0 \
%else
-Duse_system_icu=1 \
%endif
@ -550,12 +621,20 @@ export CHROMIUM_BROWSER_GYP_DEFINES="\
-Duse_system_libexif=1 \
-Duse_system_libjpeg=1 \
-Duse_system_libpng=1 \
%if %{bundlelibusbx}
-Duse_system_libusb=0 \
%else
-Duse_system_libusb=1 \
%endif
-Duse_system_libxml=1 \
-Duse_system_libxslt=1 \
-Duse_system_minizip=1 \
-Duse_system_nspr=1 \
%if %{bundleopus}
-Duse_system_opus=0 \
%else
-Duse_system_opus=1 \
%endif
-Duse_system_protobuf=0 \
%if 0%{?bundlere2}
%else
@ -582,7 +661,9 @@ export CHROMIUM_BROWSER_GYP_DEFINES="\
-Dlinux_use_libgps=0 \
\
-Dusb_ids_path=/usr/share/hwdata/usb.ids \
%if 0%{?fedora}
-Dlibspeechd_h_prefix=speech-dispatcher/ \
%endif
\
-Dffmpeg_branding=Chromium \
-Dproprietary_codecs=0 \
@ -599,9 +680,17 @@ export CHROMIUM_BROWSER_GYP_DEFINES="\
-Dremove_webcore_debug_symbols=1 \
-Dlogging_like_official_build=1 \
-Denable_hotwording=0 \
-Duse_aura=1 \
-Denable_hidpi=1 \
-Denable_touch_ui=1 \
-Denable_pepper_cdms=1 \
-Denable_webrtc=1 \
-Denable_widevine=1 \
%if 0%{gtk3}
-Duse_gtk3=1 \
%else
-Dtoolkit_uses_gtk=0 \
%endif
%if 0
-Dbuildtype=Official \
%endif
@ -764,8 +853,12 @@ build/gyp_chromium \
%endif
$CHROMIUM_BROWSER_GYP_DEFINES
%if %{bundlelibusbx}
# no hackity hack hack
%else
# hackity hack hack
rm -rf third_party/libusb/src/libusb/libusb.h
%endif
%build
@ -841,7 +934,7 @@ export CHROMIUM_BROWSER_UNIT_TESTS=
%global target out/Release
../depot_tools/ninja -C %{target} -vvv chrome chrome_sandbox policy_templates $CHROMIUM_BROWSER_UNIT_TESTS
../depot_tools/ninja -C %{target} -vvv chrome chrome_sandbox chromedriver widevinecdmadapter clearkeycdm policy_templates $CHROMIUM_BROWSER_UNIT_TESTS
# remote client
pushd remoting
@ -894,6 +987,10 @@ cp -a snapshot_blob.bin %{buildroot}%{chromium_path}
cp -a lib %{buildroot}%{chromium_path}
%endif
# chromedriver
cp -a chromedriver %{buildroot}%{chromium_path}/chromedriver
ln -s %{chromium_path}/chromedriver %{buildroot}%{_bindir}/chromedriver
# Remote desktop bits
mkdir -p %{buildroot}%{crd_path}
@ -956,6 +1053,10 @@ cp -a out/Release/gen/chrome/app/policy/linux/examples/chrome.json .
mkdir -p %{buildroot}%{_datadir}/icons/hicolor/256x256/apps
cp -a chrome/app/theme/chromium/product_logo_256.png %{buildroot}%{_datadir}/icons/hicolor/256x256/apps/%{chromium_browser_channel}.png
# Install the master_preferences file
mkdir -p %{buildroot}%{_sysconfdir}/%{name}
install -m 0644 %{SOURCE13} %{buildroot}%{_sysconfdir}/%{name}/
mkdir -p %{buildroot}%{_datadir}/applications/
desktop-file-install --dir %{buildroot}%{_datadir}/applications %{SOURCE4}
@ -965,6 +1066,8 @@ appstream-util validate-relax --nonet ${RPM_BUILD_ROOT}%{_datadir}/appdata/%{chr
mkdir -p %{buildroot}%{_datadir}/gnome-control-center/default-apps/
cp -a %{SOURCE9} %{buildroot}%{_datadir}/gnome-control-center/default-apps/
mkdir -p %{buildroot}%{chromium_path}/PepperFlash
%check
%if 0%{tests}
%if 0%{?tests_force_display}
@ -1305,6 +1408,9 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%systemd_postun_with_restart chrome-remote-desktop.service
%files
%doc AUTHORS
%license LICENSE
%config %{_sysconfdir}/%{name}/
%{_bindir}/%{chromium_browser_channel}
%dir %{chromium_path}
%{chromium_path}/*.bin
@ -1315,6 +1421,7 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%if 0%{?nacl}
%{chromium_path}/nacl_helper*
%{chromium_path}/*.nexe
%dir %{chromium_path}/PepperFlash/
%{chromium_path}/pnacl/
%{chromium_path}/tls_edit
%endif
@ -1385,13 +1492,17 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%{_datadir}/appdata/*.appdata.xml
%{_datadir}/gnome-control-center/default-apps/chromium-browser.xml
%dir %{_sysconfdir}/chromium/policies/managed
%dir %{_sysconfdir}/chromium/policies/recommended
%doc chrome_policy_list.html *.json
%if 0%{?shared}
%files libs
%exclude %{chromium_path}/lib/libffmpeg.so*
%exclude %{chromium_path}/lib/libmedia.so*
%{chromium_path}/lib/
%files libs-media
%{chromium_path}/lib/libffmpeg.so*
%{chromium_path}/lib/libmedia.so*
%endif
%files -n chrome-remote-desktop
@ -1416,7 +1527,44 @@ getent group chrome-remote-desktop >/dev/null || groupadd -r chrome-remote-deskt
%endif
%endif
%files -n chromedriver
%doc AUTHORS
%license LICENSE
%{_bindir}/chromedriver
%{chromium_path}/chromedriver
%changelog
* Mon Aug 8 2016 Tom Callaway <spot@fedoraproject.org> 52.0.2743.116-1
- update to 52.0.2743.116
* Thu Aug 4 2016 Tom Callaway <spot@fedoraproject.org> 52.0.2743.82-13
- change libs split to "libs-media", as that actually works.
- add PepperFlash directory (nothing in it though, sorry)
* Wed Aug 3 2016 Tom Callaway <spot@fedoraproject.org> 52.0.2743.82-12
- split out libs package beyond ffmpeg, into libs and libs-content
- fix libusbx conditional for el7 to not nuke libusb headers
- disable speech-dispatcher header prefix setting if not fedora (el7)
* Wed Aug 3 2016 Tom Callaway <spot@fedoraproject.org> 52.0.2743.82-11
- split out chromium-libs-ffmpeg so it can be easily replaced
- conditionalize opus and libusbx for el7
* Wed Aug 3 2016 Tom Callaway <spot@fedoraproject.org> 52.0.2743.82-10
- Add ICU Text Codec aliases (from openSUSE via Russian Fedora)
- Use PIE in the Linux sandbox (from openSUSE via Russian Fedora)
- Enable ARM CPU detection for webrtc (from archlinux via Russian Fedora)
- Do not force -m32 in icu compile on ARM (from archlinux via Russian Fedora)
- Enable gtk3 support (via conditional)
- Enable fpic on linux
- Enable hidpi
- Force aura on
- Enable touch_ui
- Add chromedriver subpackage (from Russian Fedora)
- Set default master_preferences location to /etc/chromium
- Add master_preferences file as config file
- Improve chromium-browser.desktop (from Russian Fedora)
* Thu Jul 28 2016 Tom Callaway <spot@fedoraproject.org> 52.0.2743.82-9
- fix conditional to disable verbose logging output unless beta/dev

18
master_preferences Normal file
View File

@ -0,0 +1,18 @@
{
"distribution": {
"alternate_shortcut_text": false,
"oem_bubble": true,
"chrome_shortcut_icon_index": 0,
"create_all_shortcuts": true,
"show_welcome_page": true,
"system_level": false,
"verbose_logging": false
},
},
"first_run_tabs": [
"https://start.fedoraproject.org",
"http://tools.google.com/chrome/intl/en/welcome.html"
],
"homepage": "https://start.fedoraproject.org",
"homepage_is_newtabpage": false
}

View File

@ -1,3 +1,3 @@
49a7f897775cce21d2b69968b8af1cea depot_tools.git-master.tar.gz
1389b4f03dfb2e44697e138314bd13ed chromium-52.0.2743.82-clean.tar.xz
8ce432ed9e6b1edca19f0057f5ad76bf policy_templates.zip
5d68885e80dec938f68f033a51639e57 chromium-52.0.2743.116-clean.tar.xz
c0a1a388c4fb32be8e4afb5ace9e801a policy_templates.zip