Index: tools/telemetry/third_party/gsutil/gslib/addlhelp/crc32c.py |
diff --git a/tools/telemetry/third_party/gsutil/gslib/addlhelp/crc32c.py b/tools/telemetry/third_party/gsutil/gslib/addlhelp/crc32c.py |
deleted file mode 100644 |
index d2befe2e39f7fec48c109ede4074929ab198d42e..0000000000000000000000000000000000000000 |
--- a/tools/telemetry/third_party/gsutil/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={}, |
- ) |