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:
Родитель
4087692444
Коммит
853ebed1b0
|
@ -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.
|
||||
|
|
Загрузка…
Ссылка в новой задаче