| Index: tools/telemetry/third_party/gsutilz/gslib/addlhelp/crc32c.py
|
| diff --git a/tools/telemetry/third_party/gsutilz/gslib/addlhelp/crc32c.py b/tools/telemetry/third_party/gsutilz/gslib/addlhelp/crc32c.py
|
| deleted file mode 100644
|
| index d2befe2e39f7fec48c109ede4074929ab198d42e..0000000000000000000000000000000000000000
|
| --- a/tools/telemetry/third_party/gsutilz/gslib/addlhelp/crc32c.py
|
| +++ /dev/null
|
| @@ -1,128 +0,0 @@
|
| -# -*- coding: utf-8 -*-
|
| -# Copyright 2013 Google Inc. All Rights Reserved.
|
| -#
|
| -# Licensed under the Apache License, Version 2.0 (the "License");
|
| -# you may not use this file except in compliance with the License.
|
| -# You may obtain a copy of the License at
|
| -#
|
| -# http://www.apache.org/licenses/LICENSE-2.0
|
| -#
|
| -# Unless required by applicable law or agreed to in writing, software
|
| -# distributed under the License is distributed on an "AS IS" BASIS,
|
| -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
| -# See the License for the specific language governing permissions and
|
| -# limitations under the License.
|
| -"""Additional help about CRC32C and installing crcmod."""
|
| -
|
| -from __future__ import absolute_import
|
| -
|
| -from gslib.help_provider import HelpProvider
|
| -
|
| -_DETAILED_HELP_TEXT = ("""
|
| -<B>OVERVIEW</B>
|
| - Google Cloud Storage provides a cyclic redundancy check (CRC) header that
|
| - allows clients to verify the integrity of object contents. For non-composite
|
| - objects GCS also provides an MD5 header to allow clients to verify object
|
| - integrity, but for composite objects only the CRC is available. gsutil
|
| - automatically performs integrity checks on all uploads and downloads.
|
| - Additionally, you can use the "gsutil hash" command to calculate a CRC for
|
| - any local file.
|
| -
|
| - The CRC variant used by Google Cloud Storage is called CRC32C (Castagnoli),
|
| - which is not available in the standard Python distribution. The implementation
|
| - of CRC32C used by gsutil is provided by a third-party Python module called
|
| - `crcmod <https://pypi.python.org/pypi/crcmod>`_.
|
| -
|
| - The crcmod module contains a pure-Python implementation of CRC32C, but using
|
| - it results in very poor performance. A Python C extension is also provided by
|
| - crcmod, which requires compiling into a binary module for use. gsutil ships
|
| - with a precompiled crcmod C extension for Mac OS X; for other platforms, see
|
| - the installation instructions below.
|
| -
|
| - At the end of each copy operation, the gsutil cp and rsync commands validate
|
| - that the checksum of the source file/object matches the checksum of the
|
| - destination file/object. If the checksums do not match, gsutil will delete
|
| - the invalid copy and print a warning message. This very rarely happens, but
|
| - if it does, please contact gs-team@google.com.
|
| -
|
| -
|
| -<B>CONFIGURATION</B>
|
| - To determine if the compiled version of crcmod is available in your Python
|
| - environment, you can inspect the output of the gsutil version command for the
|
| - "compiled crcmod" entry::
|
| -
|
| - $ gsutil version -l
|
| - ...
|
| - compiled crcmod: True
|
| - ...
|
| -
|
| - If your crcmod library is compiled to a native binary, this value will be
|
| - True. If using the pure-Python version, the value will be False.
|
| -
|
| - To control gsutil's behavior in response to crcmod's status, you can set the
|
| - "check_hashes" configuration variable. For details on this variable, see the
|
| - surrounding comments in your gsutil configuration file. If check_hashes is not
|
| - present in your configuration file, rerun gsutil config to regenerate the
|
| - file.
|
| -
|
| -
|
| -<B>INSTALLATION</B>
|
| - CentOS, RHEL, and Fedora
|
| - ------------------------
|
| -
|
| - To compile and install crcmod:
|
| -
|
| - sudo yum install gcc python-devel python-setuptools
|
| - sudo easy_install -U pip
|
| - sudo pip uninstall crcmod
|
| - sudo pip install -U crcmod
|
| -
|
| - Debian and Ubuntu
|
| - -----------------
|
| -
|
| - To compile and install crcmod:
|
| -
|
| - sudo apt-get install gcc python-dev python-setuptools
|
| - sudo easy_install -U pip
|
| - sudo pip uninstall crcmod
|
| - sudo pip install -U crcmod
|
| -
|
| - Mac OS X
|
| - --------
|
| -
|
| - gsutil distributes a pre-compiled version of crcmod for OS X, so you shouldn't
|
| - need to compile and install it yourself. If for some reason the pre-compiled
|
| - version is not being detected, please let the Google Cloud Storage team know
|
| - (see "gsutil help support").
|
| -
|
| - To compile manually on OS X, you will first need to install
|
| - `XCode <https://developer.apple.com/xcode/>`_ and then run:
|
| -
|
| - sudo easy_install -U pip
|
| - sudo pip install -U crcmod
|
| -
|
| - Windows
|
| - -------
|
| -
|
| - An installer is available for the compiled version of crcmod from the Python
|
| - Package Index (PyPi) at the following URL:
|
| -
|
| - https://pypi.python.org/pypi/crcmod/1.7
|
| -
|
| - MSI installers are available for the 32-bit versions of Python 2.6 and 2.7.
|
| -
|
| -""")
|
| -
|
| -
|
| -class CommandOptions(HelpProvider):
|
| - """Additional help about CRC32C and installing crcmod."""
|
| -
|
| - # Help specification. See help_provider.py for documentation.
|
| - help_spec = HelpProvider.HelpSpec(
|
| - help_name='crc32c',
|
| - help_name_aliases=['crc32', 'crc', 'crcmod'],
|
| - help_type='additional_help',
|
| - help_one_line_summary='CRC32C and Installing crcmod',
|
| - help_text=_DETAILED_HELP_TEXT,
|
| - subcommand_help_text={},
|
| - )
|
|
|