Commit 58e035f9 authored by Findit's avatar Findit

Revert "Migrate md5sum tool to portable zlib utils"

This reverts commit 5210afae.

Reason for revert:

Findit (https://goo.gl/kROfz5) identified CL at revision 773937 as the
culprit for failures in the build cycles as shown on:
https://analysis.chromium.org/waterfall/culprit?key=ag9zfmZpbmRpdC1mb3ItbWVyRAsSDVdmU3VzcGVjdGVkQ0wiMWNocm9taXVtLzUyMTBhZmFlZDIxOWUyMTliOGQ1YjA3NGI3MmEyYTFhNDEzMTg3YjcM

Sample Failed Build: https://ci.chromium.org/b/8878645669363890464

Sample Failed Step: compile

Original change's description:
> Migrate md5sum tool to portable zlib utils
> 
> Use the set of portable code from zlib that shouldn't have
> extra dependencies (e.g. 'base').
> 
> Also allow building the tool for other targets (e.g. Linux,
> OSX, etc) as that allows easier testing and profiling.
> 
> Bug: 1076580, 1087999
> Change-Id: I3130ba77681ae66dc34c3539c2ed10476e754d86
> Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2211008
> Commit-Queue: Adenilson Cavalcanti <cavalcantii@chromium.org>
> Reviewed-by: Adenilson Cavalcanti <cavalcantii@chromium.org>
> Reviewed-by: Andrew Grieve <agrieve@chromium.org>
> Cr-Commit-Position: refs/heads/master@{#773937}


Change-Id: I936d0382bc96b798b11157fddf43322d4b6df116
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: 1076580, 1087999
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/2226078
Cr-Commit-Position: refs/heads/master@{#773953}
parent 648a3339
......@@ -322,11 +322,6 @@ group("gn_all") {
deps += [ "//chrome/installer/gcapi_mac:gcapi_example" ]
}
# Allow building md5sum tool for other OSes.
if (!is_android) {
deps += [ "//tools/android/md5sum" ]
}
if (is_android) {
deps += [
"//base:base_junit_tests",
......
......@@ -35,15 +35,6 @@ if (build_with_chromium) {
}
}
# It seems that Fuchsia bot will fail to build if we don't explicitly
# add this config as part of utils_portable.
config("zlib_portable_utils_config") {
include_dirs = [
"//third_party/zlib",
"//third_party/zlib/google",
]
}
# This allows other users of Chromium's zlib library, but don't use Chromium's
# //base, to reuse some boilerplate code.
static_library("compression_utils_portable") {
......@@ -52,5 +43,4 @@ static_library("compression_utils_portable") {
"compression_utils_portable.h",
]
deps = [ "//third_party/zlib" ]
public_configs = [ ":zlib_portable_utils_config" ]
}
......@@ -14,7 +14,6 @@
*/
#if defined(USE_SYSTEM_ZLIB)
#include <zlib.h>
/* AOSP build requires relative paths. */
#else
#include "zlib.h"
#endif
......
# Copyright 2014 The Chromium Authors. All rights reserved.
# Use of this source code is governed by a BSD-style license that can be
# found in the LICENSE file.
if (current_cpu == "arm" || current_cpu == "arm64") {
import("//build/config/arm.gni")
}
if (is_android) {
import("//build/config/android/config.gni")
import("//build/symlink.gni")
import("//build/config/android/config.gni")
import("//build/symlink.gni")
group("md5sum") {
group("md5sum") {
data_deps = [
":md5sum_bin_host($default_toolchain)",
":md5sum_prepare_dist($default_toolchain)",
......@@ -17,9 +13,17 @@ if (is_android) {
# TODO(cjhopman): Remove once group data_deps are fixed.
deps = data_deps
}
}
executable("md5sum_bin") {
sources = [ "md5sum.cc" ]
deps = [
"//base",
"//third_party/zlib/google:compression_utils",
]
}
if (current_toolchain == default_toolchain) {
if (current_toolchain == default_toolchain) {
import("//build/config/android/rules.gni")
create_native_executable_dist("md5sum_prepare_dist") {
......@@ -32,18 +36,4 @@ if (is_android) {
binary_label = ":md5sum_bin($host_toolchain)"
output_name = "md5sum_bin_host"
}
}
} else {
# We don't need all that stuff for other OSes.
group("md5sum") {
data_deps = []
}
}
executable("md5sum_bin") {
sources = [ "md5sum.cc" ]
deps = [
"//base",
"//third_party/zlib/google:compression_utils_portable",
]
}
include_rules = [
"+third_party/zlib/google/compression_utils_portable.h",
"+third_party/zlib/google/compression_utils.h",
]
......@@ -22,7 +22,7 @@
#include "base/logging.h"
#include "base/strings/string_split.h"
#include "third_party/zlib/google/compression_utils_portable.h"
#include "third_party/zlib/google/compression_utils.h"
namespace {
......@@ -82,25 +82,11 @@ std::vector<std::string> MakeFileSet(const char** files) {
std::vector<std::string> MakeFileListFromCompressedList(const char* data) {
std::vector<std::string> file_list;
std::string gzipdata;
// Expected compressed input is using Base64 encoding, we got convert it
// to a regular string before passing it to zlib.
base::Base64Decode(base::StringPiece(data), &gzipdata);
size_t compressed_size = gzipdata.size();
unsigned long decompressed_size = zlib_internal::GetGzipUncompressedSize(
reinterpret_cast<const Bytef*>(gzipdata.c_str()), compressed_size);
std::string decompressed(decompressed_size, '#');
// We can skip an extraneous copy by relying on a C++11 std::string guarantee
// of contiguous memory access to a string.
zlib_internal::UncompressHelper(
zlib_internal::WrapperType::GZIP,
reinterpret_cast<unsigned char*>(&decompressed[0]), &decompressed_size,
reinterpret_cast<const unsigned char*>(gzipdata.c_str()),
compressed_size);
for (const auto& file : base::SplitStringPiece(
decompressed, kFilePathDelimiter, base::KEEP_WHITESPACE,
std::string output;
compression::GzipUncompress(gzipdata, &output);
for (const auto& file :
base::SplitStringPiece(output, kFilePathDelimiter, base::KEEP_WHITESPACE,
base::SPLIT_WANT_NONEMPTY)) {
file_list.push_back(file.as_string());
}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment