Skip to content

[C++] Consolidate thirdparty bundle URLs, version bumping logic, etc #22779

Description

@asfimport

This will prevent issues like ARROW-6406

After ARROW-8266 ensures every _ep has at least two URLs this problem becomes harder since we have a few classes of URL which don't necessarily overlap: preferred (highest priority during build configuration), canonical (whence new tarballs should be downloaded when versions get bumped), and backup. It's difficult to represent this in a txt file.

A script should be available for automatically bumping versions (a generalization of upload-boost.sh):

  • update versions.txt, including checksums

  • run download_dependencies.sh to get fresh archives

  • run (or inline) trim-boost.sh to trim the boost archive

  • update ursalabs-managed archives: https://github.com/ursa-labs/thirdparty/releases/tag/latest

    Checksums:

    If a checksum is not provided to ExternalProject_Add it may re-download a tarball even if that's not necessary (any time the generated build must be modified, IIUC). Ideally we should provide a checksum for all _eps (and not just Thrift) to cut down on unnecessary network access when building bundled.

    ARROW-8222 introduces a subtlety: we now default to a trimmed boost archive which contains only the 10% which we need, only falling back to a full boost archive when that fails to download. This is faster but not equivalent to the full boost archive so we can't provide a single checksum which matches both. This will probably just mean that those cases are extra slow

Reporter: Wes McKinney / @wesm

Related issues:

Note: This issue was originally created as ARROW-6407. Please see the migration documentation for further details.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions