Skip to content

GH-49595: [C++][FlightRPC] Linux ODBC deb installer support with CPack - #49857

Draft
alinaliBQ wants to merge 2 commits into
apache:mainfrom
Bit-Quill:gh-49595-deb-installer
Draft

GH-49595: [C++][FlightRPC] Linux ODBC deb installer support with CPack#49857
alinaliBQ wants to merge 2 commits into
apache:mainfrom
Bit-Quill:gh-49595-deb-installer

Conversation

@alinaliBQ

@alinaliBQalinaliBQ commented Apr 24, 2026

Copy link
Copy Markdown
Collaborator

Rationale for this change

GH-49595

What changes are included in this PR?

This PR is dependent on #49787 to undraft and merge.

Add support for Linux ODBC .deb installer.

Users can install with command:

apt install ./ArrowFlightSqlOdbc-<version>.deb

The following contents will be installed by the .deb installer:

root@84db9b9349a5:/usr/lib64/arrow-odbc# tree
.
|-- doc
| |-- Connection-Options.md
| `-- LICENSE.txt
`-- lib
|-- libarrow_flight_sql_odbc.so -> libarrow_flight_sql_odbc.so.2400
|-- libarrow_flight_sql_odbc.so.2400 -> libarrow_flight_sql_odbc.so.2400.0.0
`-- libarrow_flight_sql_odbc.so.2400.0.0
3 directories, 5 files

Are these changes tested?

Yes, locally

Are there any user-facing changes?

Developers can download DEB installer from the CI.

@github-actions

Copy link
Copy Markdown

⚠️ GitHub issue #49595has been automatically assigned in GitHub to PR creator.

@alinaliBQ

Copy link
Copy Markdown
CollaboratorAuthor

cc @justing-bq Please help with code review comments on this PR going forward

@justing-bq
justing-bqforce-pushed the gh-49595-deb-installer branch 3 times, most recently from 62da97f to 604a879CompareMay 21, 2026 17:03
@justing-bq
justing-bqforce-pushed the gh-49595-deb-installer branch 4 times, most recently from 28d45a2 to 485a6f4CompareJune 16, 2026 16:52
* Implement RPM installer
fix formatting
Remove todos
ODBC rpm Installer wrap up
* installing `rpm` package fixed the `cpack` command issue
* Fix cpack command on CI
(merge into last commit when ready) Change to use `awk` so script works on both platforms
Comment out `find` and `tree` steps
Change build path to be under /arrow
Since docker is mounted, changing build path to be in `/arrow` will allow host machine to access docker build contents
TEMP - Disable non-ODBC items
Add commands to find build folder
Attempt to build RPM installer
* not sure if `/build/cpp` can be accessed outside of docker. Hopefully it should.
* add `rpm` dependency install
Indicate RPM in workflow run
Add rpm `postinstall` (not tested)
Remove merge conflict code
* Enable ODBC installer build in CI instead of `compose.yaml`
Update workflow matrix
Update cpp_extra.yml
Fix package name
* Initial draft of DEB installer
* reuse script for RPM, and rename script to indicate `postinst` (postinstall)
* Add `file` to dockerfile to enable Debian installation
* Fix component settings with DEB
* Fix package name
* Clean up comments
* Fix file name
* Fix postinst variable for DEB
* Fix upload artifact file name and doc file name
@alinaliBQ

Copy link
Copy Markdown
CollaboratorAuthor

Closing PR due to discussions in #49787 (comment). Currently the team doesn't have capacity to implement DEB installer with linux-packages. If anyone is interested in continuing this work, please feel free to reference this PR and reuse any of the implementation.

Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant

@alinaliBQ