Revert of Update linux sysroot from Wheezy to Jessie (patchset #3 id:40001 of https://codereview.chromium.org/2748183005/ )

Reason for revert:
Breaks the Official Linux build. Expected deps aren't matching up:

[30924/30936] ACTION //chrome/installer/linux:stable_rpm(//build/toolchain/linux:clang_x64)
FAILED: google-chrome-stable_59.0.3050.0-1.x86_64.rpm
python ../../chrome/installer/linux/flock_make_package.py linux_package.lock installer/rpm/build.sh -o . -b . -a x64 -c stable -d google_chrome
Staging common install files in '/tmp/rpm.build.PQ88Wk'...
Staging RPM install files in '/tmp/rpm.build.PQ88Wk'...
Packaging x86_64...
--- /b/c/b/Google_Chrome_Linux_x64/src/out/Release/installer/rpm/expected_deps_x86_64	2017-03-23 06:48:22.885425473 -0700
+++ /dev/fd/63	2017-03-23 08:04:33.320136041 -0700
@@ -15,7 +15,9 @@
 libasound.so.2()(64bit)
 libatk-1.0.so.0()(64bit)
 libc.so.6()(64bit)
+libc.so.6(GLIBC_2.11)(64bit)
 libc.so.6(GLIBC_2.14)(64bit)
+libc.so.6(GLIBC_2.15)(64bit)
 libc.so.6(GLIBC_2.2.5)(64bit)
 libc.so.6(GLIBC_2.3)(64bit)
 libc.so.6(GLIBC_2.3.2)(64bit)

ERROR: Shared library dependencies changed!
If this is intentional, please update:
chrome/installer/linux/rpm/expected_deps_i386
chrome/installer/linux/rpm/expected_deps_x86_64

[30925/30936] ACTION //chrome/installer/linux:unstable_deb(//build/toolchain/linux:clang_x64)
FAILED: google-chrome-unstable_59.0.3050.0-1_amd64.deb
python ../../chrome/installer/linux/flock_make_package.py linux_package.lock installer/debian/build.sh -o . -b . -a x64 -c unstable -d google_chrome -s /b/c/b/Google_Chrome_Linux_x64/src/build/linux/debian_jessie_amd64-sysroot
dpkg-shlibdeps: warning: binaries to analyze should already be installed in their package's directory
--- /b/c/b/Google_Chrome_Linux_x64/src/out/Release/installer/debian/expected_deps_x64_jessie	2017-03-23 06:48:22.885425473 -0700
+++ actual	2017-03-23 08:04:37.504250895 -0700
@@ -1,17 +1,17 @@
 gconf-service
 libasound2 (>= 1.0.16)
 libatk1.0-0 (>= 1.12.4)
-libc6 (>= 2.14)
+libc6 (>= 2.15)
 libcairo2 (>= 1.6.0)
 libcups2 (>= 1.4.0)
-libdbus-1-3 (>= 1.2.14)
+libdbus-1-3 (>= 1.1.4)
 libexpat1 (>= 2.0.1)
 libfontconfig1 (>= 2.11)
-libfreetype6 (>= 2.4.2)
+libfreetype6 (>= 2.3.9)
 libgcc1 (>= 1:4.1.1)
 libgconf-2-4 (>= 3.2.5)
 libgdk-pixbuf2.0-0 (>= 2.22.0)
-libglib2.0-0 (>= 2.31.8)
+libglib2.0-0 (>= 2.28.0)
 libgtk-3-0 (>= 3.3.16)
 libnspr4 (>= 2:4.9-2~)
 libnss3 (>= 2:3.13.4-2~)

ERROR: Shared library dependencies changed!
If this is intentional, please update:
chrome/installer/linux/debian/expected_deps_ia32_jessie
chrome/installer/linux/debian/expected_deps_ia32_wheezy
chrome/installer/linux/debian/expected_deps_x64_jessie
chrome/installer/linux/debian/expected_deps_x64_wheezy

Original issue's description:
> Update linux sysroot from Wheezy to Jessie
>
> This is an attempt to reland a change that was attempted
> several times already.  It now includes changes to the
> linux packaging expectations which previously caused
> failed on the official bots.
>
> TESTED=ninja linux_packages_all
> BUG=701894
>
> Review-Url: https://codereview.chromium.org/2748183005
> Cr-Commit-Position: refs/heads/master@{#459062}
> Committed: 94c4fa81c4

TBR=thestig@chromium.org,thomasanderson@chromium.org,dpranke@chromium.org,thakis@chromium.org,sbc@chromium.org
# Skipping CQ checks because original CL landed less than 1 days ago.
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=701894

Review-Url: https://codereview.chromium.org/2776503002
Cr-Original-Commit-Position: refs/heads/master@{#459128}
Cr-Mirrored-From: https://chromium.googlesource.com/chromium/src
Cr-Mirrored-Commit: 2365c833788230fc4e09d563fd2fcd4a80f06a31
This commit is contained in:
wittman 2017-03-23 10:24:33 -07:00 коммит произвёл Commit bot
Родитель 4087692444
Коммит 853ebed1b0
2 изменённых файлов: 44 добавлений и 30 удалений

Просмотреть файл

@ -16,6 +16,10 @@ declare_args() {
target_sysroot_dir = ""
use_sysroot = true
# TODO(tonikitoo): Remove this arg when wheezy is finally dropped and we
# can just use debian/jessie everywhere by default. crbug.com/564904.
use_jessie_sysroot = false
}
if (is_linux && target_sysroot_dir != "") {
@ -53,18 +57,20 @@ if (is_linux && target_sysroot_dir != "") {
# functionality where possible) needs to run on the buliders, which are
# running precise. The precise build has a different set of dependencies
# from the wheezy build, so we cannot use the wheezy sysroot.
# TODO(sbc): This condition can perhaps be eliminated now that we are
# using jessie rather than wheezy.
sysroot = "//build/linux/ubuntu_precise_amd64-sysroot"
} else {
if (current_cpu == "x64") {
sysroot = "//build/linux/debian_jessie_amd64-sysroot"
sysroot = "//build/linux/debian_wheezy_amd64-sysroot"
if (use_jessie_sysroot) {
sysroot = "//build/linux/debian_jessie_amd64-sysroot"
}
} else if (current_cpu == "x86") {
sysroot = "//build/linux/debian_jessie_i386-sysroot"
sysroot = "//build/linux/debian_wheezy_i386-sysroot"
} else if (current_cpu == "mipsel") {
sysroot = "//build/linux/debian_jessie_mips-sysroot"
sysroot = "//build/linux/debian_wheezy_mips-sysroot"
} else if (current_cpu == "arm") {
sysroot = "//build/linux/debian_jessie_arm-sysroot"
sysroot = "//build/linux/debian_wheezy_arm-sysroot"
} else if (current_cpu == "arm64") {
sysroot = "//build/linux/debian_jessie_arm64-sysroot"
} else {

Просмотреть файл

@ -6,17 +6,16 @@
"""Install Debian sysroots for building chromium.
"""
# The sysroot is needed to ensure that binaries that get built will run on
# the oldest stable version of Debian that we currently support.
# This script can be run manually but is more often run as part of gclient
# hooks. When run from hooks this script is a no-op on non-linux platforms.
# The sysroot is needed to ensure that binaries will run on Debian Wheezy,
# the oldest supported linux distribution. For ARM64 linux, we have Debian
# Jessie sysroot as Jessie is the first version with ARM64 support. This script
# can be run manually but is more often run as part of gclient hooks. When run
# from hooks this script is a no-op on non-linux platforms.
# The sysroot image could be constructed from scratch based on the current state
# of the Debian archive but for consistency we use a pre-built root image (we
# don't want upstream changes to Debian to effect the chromium build until we
# choose to pull them in). The images will normally need to be rebuilt every
# time chrome's build dependencies are changed but should also be updated
# periodically to include upstream security fixes from Debian.
# The sysroot image could be constructed from scratch based on the current
# state or Debian Wheezy/Jessie but for consistency we currently use a
# pre-built root image. The image will normally need to be rebuilt every time
# chrome's build dependencies are changed.
import hashlib
import json
@ -135,6 +134,14 @@ def InstallDefaultSysroots(host_arch):
if target_arch and target_arch not in (host_arch, 'i386'):
InstallDefaultSysrootForArch(target_arch)
# Desktop Linux ozone builds require libxkbcommon* which is not
# available in Wheezy.
# TODO(thomasanderson): Remove this once the Jessie sysroot is used
# by default.
gyp_defines = gyp_chromium.GetGypVars(gyp_chromium.GetSupplementalFiles())
if gyp_defines.get('use_ozone') == '1':
InstallSysroot('Jessie', 'amd64')
def main(args):
parser = optparse.OptionParser('usage: %prog [OPTIONS]', description=__doc__)
@ -143,9 +150,6 @@ def main(args):
' Installs default sysroot images.')
parser.add_option('--arch', type='choice', choices=VALID_ARCHS,
help='Sysroot architecture: %s' % ', '.join(VALID_ARCHS))
parser.add_option('--all', action='store_true',
help='Install all sysroot images (useful when updating the'
' images)')
options, _ = parser.parse_args(args)
if options.running_as_hook and not sys.platform.startswith('linux'):
return 0
@ -156,23 +160,27 @@ def main(args):
if host_arch in ['ppc','s390']:
return 0
InstallDefaultSysroots(host_arch)
elif options.arch:
InstallDefaultSysrootForArch(options.arch)
elif options.all:
for arch in VALID_ARCHS:
InstallDefaultSysrootForArch(arch)
else:
print 'You much specify either --arch, --all or --running-as-hook'
return 1
if not options.arch:
print 'You much specify either --arch or --running-as-hook'
return 1
InstallDefaultSysrootForArch(options.arch)
return 0
def InstallDefaultSysrootForArch(target_arch):
if target_arch not in VALID_ARCHS:
if target_arch == 'amd64':
InstallSysroot('Wheezy', 'amd64')
elif target_arch == 'arm':
InstallSysroot('Wheezy', 'arm')
elif target_arch == 'arm64':
InstallSysroot('Jessie', 'arm64')
elif target_arch == 'i386':
InstallSysroot('Wheezy', 'i386')
elif target_arch == 'mips':
InstallSysroot('Wheezy', 'mips')
else:
raise Error('Unknown architecture: %s' % target_arch)
InstallSysroot('Jessie', target_arch)
def InstallSysroot(target_platform, target_arch):
# The sysroot directory should match the one specified in build/common.gypi.