Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 12 additions & 5 deletions .github/workflows/cpp_extra.yml
Original file line number Diff line number Diff line change
Expand Up @@ -384,6 +384,13 @@ jobs:
run-options: >-
-e ARROW_FLIGHT_SQL_ODBC_INSTALLER=ON
-e ODBC_PACKAGE_FORMAT=RPM
- image: ubuntu-cpp-odbc
title: AMD64 Ubuntu DEB Release
build-type: release
format: deb
run-options: >-
-e ARROW_FLIGHT_SQL_ODBC_INSTALLER=ON
-e ODBC_PACKAGE_FORMAT=DEB
# GH-49582: TODO Enable Debian build for ODBC
# - image: debian-cpp-odbc
# title: AMD64 Debian
Expand Down Expand Up @@ -415,8 +422,8 @@ jobs:
uses: actions/cache@v5
with:
path: .docker
key: ${{ matrix.image }}-${{ matrix.build-type }}-${{ hashFiles('cpp/**') }}
restore-keys: ${{ matrix.image }}-${{ matrix.build-type }}-
key: ${{ matrix.image }}-${{ matrix.build-type }}-${{ matrix.format }}-${{ hashFiles('cpp/**') }}
restore-keys: ${{ matrix.image }}-${{ matrix.build-type }}-${{ matrix.format }}-
- name: Setup Python on hosted runner
uses: actions/setup-python@v6
with:
Expand All @@ -437,8 +444,8 @@ jobs:
if: matrix.build-type == 'release'
uses: actions/upload-artifact@v7
with:
name: flight-sql-odbc-pkg-installer-${{ matrix.format }}
path: build/cpp/ArrowFlightSqlOdbcODBC-*.${{ matrix.format }}
name: flight-sql-odbc-${{ matrix.format }}-installer
path: build/cpp/ArrowFlightSqlOdbc-*.${{ matrix.format }}
if-no-files-found: error

- name: Docker Push
Expand Down Expand Up @@ -564,7 +571,7 @@ jobs:
uses: actions/upload-artifact@v7
with:
name: flight-sql-odbc-pkg-installer-${{ matrix.architecture }}
path: build/cpp/ArrowFlightSqlOdbcODBC-*.pkg
path: build/cpp/ArrowFlightSqlOdbc-*.pkg
if-no-files-found: error
- name: Register Flight SQL ODBC Driver
run: |
Expand Down
1 change: 1 addition & 0 deletions ci/docker/ubuntu-24.04-cpp.dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ RUN apt-get update -y -q && \
ccache \
cmake \
curl \
file \
gdb \
Comment on lines 72 to 74
Copy link
Copy Markdown
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need for DEB installer generation

git \
libbenchmark-dev \
Expand Down
18 changes: 13 additions & 5 deletions cpp/src/arrow/flight/sql/odbc/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -157,7 +157,7 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
"${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
else()
set(ODBC_UNIX_FILE_NAME
"ArrowFlightSqlOdbcODBC-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
"ArrowFlightSqlOdbc-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
)
if(APPLE)
set(CPACK_PACKAGE_FILE_NAME "${ODBC_UNIX_FILE_NAME}")
Expand All @@ -178,13 +178,21 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
# Linux
set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
if(${ODBC_PACKAGE_FORMAT} STREQUAL "DEB")
# GH-49595 TODO: implement DEB installer
message(STATUS "ODBC_PACKAGE_FORMAT DEB not implemented, see GH-49595")
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE amd64)
set(CPACK_GENERATOR DEB)
set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
"${CMAKE_CURRENT_SOURCE_DIR}/install/linux/postinst")
set(CPACK_DEBIAN_FILE_NAME "${ODBC_UNIX_FILE_NAME}.deb")
set(CPACK_DEBIAN_PACKAGE_MAINTAINER "${CPACK_PACKAGE_CONTACT}")
set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS OFF)
# Exclude Unspecified components
set(CPACK_DEB_COMPONENT_INSTALL ON)
set(CPACK_COMPONENTS_GROUPING ALL_COMPONENTS_IN_ONE)
elseif(${ODBC_PACKAGE_FORMAT} STREQUAL "RPM")
set(CPACK_RPM_PACKAGE_ARCHITECTURE x86_64)
set(CPACK_GENERATOR RPM)
set(CPACK_RPM_POST_INSTALL_SCRIPT_FILE
"${CMAKE_CURRENT_SOURCE_DIR}/install/linux/rpm/postinstall")
"${CMAKE_CURRENT_SOURCE_DIR}/install/linux/postinst")
set(CPACK_RPM_FILE_NAME "${ODBC_UNIX_FILE_NAME}.rpm")
# Disable dependency check as ODBC embeds all third party dependencies
set(CPACK_RPM_PACKAGE_AUTOREQPROV "no")
Expand Down Expand Up @@ -231,7 +239,7 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../../../../../LICENSE.txt"
DESTINATION "${DOC_INSTALL_DIR}"
COMPONENT Docs)
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/Connection-Options.md"
install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/connection-options.md"
DESTINATION "${DOC_INSTALL_DIR}"
COMPONENT Docs)
endif()
Expand Down
Loading