nsivarajan opened a new pull request, #65794:
URL: https://github.com/apache/doris/pull/65794

   ### What problem does this PR solve?
   
   Issue Number: close #65793 
   
   Related PR: Related PR: part 2 of 4 — PR-1 #61329 | PR-3 #xxx | PR-4 #xxx
   
   ## Problem Summary:
    PR-3 (BE native OSS filesystem) requires the Alibaba Cloud OSS C++ SDK and 
its dependency chain. This PR adds all 7 libraries to the Doris thirdparty 
build system, following the same pattern as the existing Azure SDK integration.
   
   The entire OSS SDK stack is **opt-out** (`DISABLE_BUILD_OSS=ON`) and 
defaults to enabled, mirroring the `DISABLE_BUILD_AZURE` pattern already in the 
codebase.
   
     **Libraries added (build order):**
   
     | Library | Purpose |
     |---|---|
     | `apr` | Apache Portable Runtime — HTTP transport base for OSS SDK |
     | `apr-util` | APR utilities — XML, crypto helpers |
     | `tea-cpp` (darabonba_core) | Alibaba API gateway core — request signing |
     | `credentials-cpp` | Alibaba Cloud credential provider chain |
     | `openapi-v2` | Alibaba OpenAPI v2 client |
     | `sts-20150401` | Alibaba STS SDK v2 — AssumeRole calls |
     | `alibabacloud-oss-cpp-sdk` | OSS object storage operations |
   
     A patch (`tea-cpp-doris-oss-fix.patch`) is included to add CA cert support 
(`CURLOPT_CAINFO`) and CURL async error propagation to the tea-cpp library.
   
     ---
     Changes
   
     - `thirdparty/vars.sh` — download URLs, checksums, source names for all 7 
libs
     - `thirdparty/download-thirdparty.sh` — tea-cpp patch application
     - `thirdparty/build-thirdparty.sh` — `build_apr()`, `build_apr_util()`,
       `build_tea_cpp()`, `build_credentials_cpp()`, `build_openapi_v2()`,
       `build_sts_20150401()`, `build_oss_cpp()`; build order respects 
dependency chain
     - `thirdparty/patches/tea-cpp-doris-oss-fix.patch` *(new)* — CA cert + 
CURL fix
     - `be/cmake/thirdparty.cmake` — OSS libs added under `if(NOT BUILD_OSS 
STREQUAL "OFF")`
     - `cloud/cmake/thirdparty.cmake` — same, for cloud recycler
     - `be/CMakeLists.txt` — `option(BUILD_OSS ... OFF)` + `-DUSE_OSS` 
definition
     - `cloud/CMakeLists.txt` — same
     - `build.sh` — `BUILD_OSS='ON'` default, `DISABLE_BUILD_OSS` handler
   
     ---
     **Build**
   
     Default — builds OSS SDK stack
     ./build.sh --be --cloud
   
     Opt-out — skip OSS SDK entirely
     DISABLE_BUILD_OSS=ON ./build.sh --be --cloud
   
     Thirdparty only
     cd thirdparty && ./build-thirdparty.sh
   
     ---
     ## Release note
   
     [build] Add Alibaba Cloud OSS C++ SDK and dependency stack (apr, 
apr-util,tea-cpp, credentials-cpp, openapi-v2, sts-20150401) as optional 
thirdparty libraries. Disabled via `DISABLE_BUILD_OSS=ON`. No effect on 
existing builds when disabled.
   
   
   None
   
   ### Check List (For Author)
   
   - Test <!-- At least one of them must be included. -->
       - [ ] Regression test
       - [ ] Unit Test
       - [ ] Manual test (add detailed scripts or steps below)
       - [ ] No need to test or manual test. Explain why:
           - [ ] This is a refactor/code format and no logic has been changed.
           - [ ] Previous test can cover this change.
           - [ ] No code files have been changed.
           - [ ] Other reason <!-- Add your reason?  -->
   
   - Behavior changed:
       - [X] No.
       - [ ] Yes. <!-- Explain the behavior change -->
   
   - Does this need documentation?
       - [X] No.
       - [ ] Yes. <!-- Add document PR link here. eg: 
https://github.com/apache/doris-website/pull/1214 -->
   
   ### Check List (For Reviewer who merge this PR)
   
   - [ ] Confirm the release note
   - [ ] Confirm test cases
   - [ ] Confirm document
   - [ ] Add branch pick label <!-- Add branch pick label that this PR should 
merge into -->
   
   


-- 
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]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to