imtherealnaska opened a new pull request, #51244:
URL: https://github.com/apache/arrow/pull/51244
### Rationale for this change
Updating the **uriparser** version so as to include security fixes. Rather
than refreshing vendored copy , this makes uriparser and external dependency.
### What changes are included in this PR?
_AI generated, because there are too many changes and might miss some_
- `uriparser` added to `ARROW_THIRDPARTY_DEPENDENCIES`, with a
`build_uriparser()` ExternalProject pinned to 1.0.2 (docs, tests, tools
and `wchar_t` support disabled; static; `URI_STATIC_BUILD` on the
interface; registered in `ARROW_BUNDLED_STATIC_LIBS`).
- `REQUIRED_VERSION "1.0.2"`, so every build gets a uriparser carrying all
fixes through 1.0.2.
- New `cmake_modules/FinduriparserAlt.cmake`. Upstream ships a CMake package
config, but Debian/Ubuntu's `liburiparser-dev` installs only
`liburiparser.pc`, so the module tries `find_package(CONFIG)` first, then
pkg-config, then a plain library search.
- `ARROW_STATIC_INSTALL_INTERFACE_LIBS` gains `uriparser::uriparser` for
SYSTEM builds, so static consumers link correctly.
- meson: new `subprojects/uriparser.wrap` (`method = cmake`, same tarball
and checksum as the CMake pin) plus a `cmake.subproject` fallback, since
meson has no BUNDLED equivalent.
- `cpp/src/arrow/vendored/uriparser/` (28 files) and its `LICENSE.txt`
section removed; `util/uri.cc` now includes `<uriparser/Uri.h>`.
- Packaging: 6 dockerfiles, conda, Brewfile, both vcpkg manifests, MSYS2
`PKGBUILD` and `msys2_setup.sh`, `r_windows_build.sh`, the
`-Duriparser_SOURCE` passthrough in `cpp_build.sh`, and the dependency
list in `building.rst`.
***NOTICE*** : Having 1.0.2 as floor means ,nearly every distro has to build
it from source until they catch up.
### Are these changes tested?
All existing tests pass.
Verified on Ubuntu 22.04:
- With 0.9.6 (Distro bundled)present, it finds that the version is not
suitable and falls back to building 1.0.2
- Explicit -Duriparser_SOURCE=SYSTEM with 0.9.6 fails .
- Also builds and passes 13/13 on macOS against Homebrew
### Are there any user-facing changes?
Now Arrow requires uriparser or builds it . No user facing changes as such
because no API changes .
**This PR contains a "Critical Fix".** It has security fixes that has gone
in uriparser.
**AI Usage**:
- Used for testing <-> building loop.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]