Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-05-21 Thread via GitHub


conbench-apache-arrow[bot] commented on PR #49766:
URL: https://github.com/apache/arrow/pull/49766#issuecomment-4514074910

   After merging your PR, Conbench analyzed the 4 benchmarking runs that have 
been run so far on merge-commit 0e37230b6d1ba09e1d3bf6002027dc7df7e8f17b.
   
   There were no benchmark performance regressions. 🎉
   
   The [full Conbench report](https://github.com/apache/arrow/runs/77298898350) 
has more details.


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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-05-21 Thread via GitHub


conbench-apache-arrow[bot] commented on PR #49766:
URL: https://github.com/apache/arrow/pull/49766#issuecomment-4506329852

   After merging your PR, Conbench analyzed the 3 benchmarking runs that have 
been run so far on merge-commit 0e37230b6d1ba09e1d3bf6002027dc7df7e8f17b.
   
   There were no benchmark performance regressions. 🎉
   
   The [full Conbench report](https://github.com/apache/arrow/runs/77135683943) 
has more details.


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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-05-20 Thread via GitHub


kou merged PR #49766:
URL: https://github.com/apache/arrow/pull/49766


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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-05-20 Thread via GitHub


justing-bq commented on PR #49766:
URL: https://github.com/apache/arrow/pull/49766#issuecomment-4503423664

   @kou @lidavidm
   Comments addressed. Please review.


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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-05-20 Thread via GitHub


justing-bq commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3277370560


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -173,14 +230,22 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 # Upgrade GUID is required to be unchanged for ODBC installer to upgrade
 set(CPACK_WIX_UPGRADE_GUID "DBF27A18-F8BF-423F-9E3A-957414D52C4B")
 set(CPACK_WIX_PRODUCT_GUID "279D087B-93B5-4DC3-BA69-BCF485022A26")
+  else()
+# macOS and Linux
+if(APPLE)
+  set(CPACK_GENERATOR "productbuild")
+endif()

Review Comment:
   Done.



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-05-20 Thread via GitHub


justing-bq commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3277374478


##
cpp/src/arrow/flight/sql/odbc/install/unix/install_odbc_ini.sh:
##
@@ -0,0 +1,81 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+set -euo pipefail
+
+SYSTEM_ODBC_FILE="${1:-}"
+
+if [[ -z "$SYSTEM_ODBC_FILE" ]]; then
+  echo "ERROR: path to system ODBC DSN is not specified." >&2
+  echo "Usage: install_odbc_ini.sh " >&2
+  exit 1
+fi
+
+DRIVER_NAME="Apache Arrow Flight SQL ODBC Driver"
+DSN_NAME="Apache Arrow Flight SQL ODBC DSN"
+
+if ! touch "$SYSTEM_ODBC_FILE"; then
+  echo "ERROR: Cannot access or create $SYSTEM_ODBC_FILE" >&2
+  exit 1
+fi
+
+if grep -q "^\[$DSN_NAME\]" "$SYSTEM_ODBC_FILE"; then
+  echo "DSN [$DSN_NAME] already exists in $SYSTEM_ODBC_FILE"
+else
+  echo "Adding [$DSN_NAME] to $SYSTEM_ODBC_FILE..."
+  cat >> "$SYSTEM_ODBC_FILE" <

Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-05-20 Thread via GitHub


justing-bq commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3277371478


##
cpp/src/arrow/flight/sql/odbc/install/unix/install_odbc.sh:
##
@@ -17,7 +17,7 @@
 # specific language governing permissions and limitations
 # under the License.
 
-# Used by macOS ODBC installer script `install_odbc_ini.sh` and macOS ODBC 
testing
+# Used by arrow/cpp/src/arrow/flight/sql/odbc/install/mac/postinstall

Review Comment:
   Done.



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-05-20 Thread via GitHub


justing-bq commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3277331811


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,10 +157,69 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSQLODBC-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROWFLIGHTSQLODBC_SCRIPT
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/postinstall")
+  set(CPACK_RESOURCE_FILE_README 
"${CMAKE_CURRENT_SOURCE_DIR}/install/mac/README.txt")
+  set(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/welcome.txt")
+
+  set(ODBC_INSTALL_DIR "arrow-odbc/lib")
+  set(ODBC_DOC_INSTALL_DIR "arrow-odbc/doc")
+else()
+  # Linux
+  # GH-49595: TODO implement DEB installer
+  # GH-47977: TODO implement RPM installer
+  message(STATUS "ODBC_PACKAGE_FORMAT DEB not implemented, see GH-49595")
+  message(STATUS "ODBC_PACKAGE_FORMAT RPM not implemented, see GH-47977")
+endif()
+
+# Install ODBC
+install(TARGETS arrow_flight_sql_odbc_shared
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT ArrowFlightSQLODBC)

Review Comment:
   This PR is only concerned with the macOS installer.
   Linux installer is handled in https://github.com/apache/arrow/pull/49787 and 
https://github.com/apache/arrow/pull/49857.



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-05-20 Thread via GitHub


justing-bq commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3277327645


##
cpp/src/arrow/flight/sql/odbc/connection-options.md:
##
@@ -0,0 +1,20 @@
+
+
+GH-49723 TODO: enter ODBC connection options for unix DSN

Review Comment:
   This PR no longer touches `connection-options.md`.



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-05-19 Thread via GitHub


kou commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3270526716


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -173,14 +230,22 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 # Upgrade GUID is required to be unchanged for ODBC installer to upgrade
 set(CPACK_WIX_UPGRADE_GUID "DBF27A18-F8BF-423F-9E3A-957414D52C4B")
 set(CPACK_WIX_PRODUCT_GUID "279D087B-93B5-4DC3-BA69-BCF485022A26")
+  else()
+# macOS and Linux
+if(APPLE)
+  set(CPACK_GENERATOR "productbuild")
+endif()

Review Comment:
   ```suggestion
 elseif(APPLE)
   set(CPACK_GENERATOR "productbuild")
   ```



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-05-19 Thread via GitHub


Copilot commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3270490792


##
cpp/src/arrow/flight/sql/odbc/install/unix/install_odbc_ini.sh:
##
@@ -0,0 +1,81 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+set -euo pipefail
+
+SYSTEM_ODBC_FILE="${1:-}"
+
+if [[ -z "$SYSTEM_ODBC_FILE" ]]; then
+  echo "ERROR: path to system ODBC DSN is not specified." >&2
+  echo "Usage: install_odbc_ini.sh " >&2
+  exit 1
+fi
+
+DRIVER_NAME="Apache Arrow Flight SQL ODBC Driver"
+DSN_NAME="Apache Arrow Flight SQL ODBC DSN"
+
+if ! touch "$SYSTEM_ODBC_FILE"; then
+  echo "ERROR: Cannot access or create $SYSTEM_ODBC_FILE" >&2
+  exit 1
+fi
+
+if grep -q "^\[$DSN_NAME\]" "$SYSTEM_ODBC_FILE"; then
+  echo "DSN [$DSN_NAME] already exists in $SYSTEM_ODBC_FILE"
+else
+  echo "Adding [$DSN_NAME] to $SYSTEM_ODBC_FILE..."
+  cat >> "$SYSTEM_ODBC_FILE" 
+
+GH-49723 TODO: enter ODBC connection options for unix DSN

Review Comment:
   `connection-options.md` is installed into the packaged documentation, but it 
currently contains only a TODO placeholder. Since this is user-facing content 
shipped in the macOS installer, it should be populated with the actual 
supported connection options (or omitted from the installer until the content 
is ready) to avoid distributing incomplete documentation.
   



##
cpp/src/arrow/flight/sql/odbc/install/unix/install_odbc.sh:
##
@@ -17,7 +17,7 @@
 # specific language governing permissions and limitations
 # under the License.
 
-# Used by macOS ODBC installer script `install_odbc_ini.sh` and macOS ODBC 
testing
+# Used by arrow/cpp/src/arrow/flight/sql/odbc/install/mac/postinstall

Review Comment:
   The comment references `arrow/cpp/src/.../postinstall`, but the repository 
path is `cpp/src/.../postinstall` (there is no `arrow/` prefix). Updating the 
path in the comment will avoid confusion when grepping or following the 
instructions.
   



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-05-19 Thread via GitHub


justing-bq commented on PR #49766:
URL: https://github.com/apache/arrow/pull/49766#issuecomment-4490934457

   @kou @lidavidm 
   Please take another look when you have time.


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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-05-19 Thread via GitHub


justing-bq commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3268746644


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbcODBC-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROW_FLIGHT_SQL_ODBC_SCRIPT
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/postinstall")
+  set(CPACK_RESOURCE_FILE_README 
"${CMAKE_CURRENT_SOURCE_DIR}/install/mac/README.txt")
+  set(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/Welcome.txt")
+
+  set(ODBC_INSTALL_DIR "arrow-odbc/lib")
+  set(DOC_INSTALL_DIR "arrow-odbc/doc")
+else()
+  # Linux
+  # GH-49595: TODO implement DEB installer
+  # GH-47977: TODO implement RPM installer
+  message(STATUS "ODBC_PACKAGE_FORMAT DEB not implemented, see GH-49595")
+  message(STATUS "ODBC_PACKAGE_FORMAT RPM not implemented, see GH-47977")
+endif()
+
+# Install ODBC
+install(TARGETS arrow_flight_sql_odbc_shared
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc)
+
+# Install temporary driver registration scripts, they will be removed 
after driver registration is complete
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/install/unix/install_odbc.sh"
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc
+PERMISSIONS OWNER_EXECUTE
+OWNER_WRITE
+OWNER_READ
+GROUP_EXECUTE
+GROUP_READ
+WORLD_EXECUTE
+WORLD_READ)
+install(FILES 
"${CMAKE_CURRENT_SOURCE_DIR}/install/unix/install_odbc_ini.sh"
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc
+PERMISSIONS OWNER_EXECUTE
+OWNER_WRITE
+OWNER_READ
+GROUP_EXECUTE
+GROUP_READ
+WORLD_EXECUTE
+WORLD_READ)
+
+# Install documentation files
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../../../../../LICENSE.txt"
+DESTINATION "${DOC_INSTALL_DIR}"
+COMPONENT Docs)

Review Comment:
   Requested changes are done.



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-05-19 Thread via GitHub


justing-bq commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3268706479


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -173,14 +231,26 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 # Upgrade GUID is required to be unchanged for ODBC installer to upgrade
 set(CPACK_WIX_UPGRADE_GUID "DBF27A18-F8BF-423F-9E3A-957414D52C4B")
 set(CPACK_WIX_PRODUCT_GUID "279D087B-93B5-4DC3-BA69-BCF485022A26")
+  else()
+# macOS and Linux
+list(APPEND CPACK_COMPONENTS_ALL Docs)

Review Comment:
   Done.



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-05-19 Thread via GitHub


justing-bq commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3268703544


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,10 +157,70 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSQLODBC-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROWFLIGHTSQLODBC_SCRIPT
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/postinstall")
+  set(CPACK_RESOURCE_FILE_README 
"${CMAKE_CURRENT_SOURCE_DIR}/install/mac/README.txt")
+  set(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/welcome.txt")
+
+  set(ODBC_INSTALL_DIR "arrow-odbc/lib")
+  set(ODBC_DOC_INSTALL_DIR "arrow-odbc/doc")
+else()
+  # Linux
+  # GH-49595: TODO implement DEB installer
+  # GH-47977: TODO implement RPM installer
+  message(STATUS "ODBC_PACKAGE_FORMAT DEB not implemented, see GH-49595")
+  message(STATUS "ODBC_PACKAGE_FORMAT RPM not implemented, see GH-47977")
+endif()
+
+# Install ODBC
+install(TARGETS arrow_flight_sql_odbc_shared
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT ArrowFlightSQLODBC)
+
+# Install temporary driver registration scripts, they will be removed 
after driver registration is complete
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/install/unix/install_odbc.sh"
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT ArrowFlightSQLODBC
+PERMISSIONS OWNER_EXECUTE
+OWNER_WRITE
+OWNER_READ
+GROUP_EXECUTE
+GROUP_READ
+WORLD_EXECUTE
+WORLD_READ)
+install(FILES 
"${CMAKE_CURRENT_SOURCE_DIR}/install/unix/install_odbc_ini.sh"
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT ArrowFlightSQLODBC
+PERMISSIONS OWNER_EXECUTE
+OWNER_WRITE
+OWNER_READ
+GROUP_EXECUTE
+GROUP_READ
+WORLD_EXECUTE
+WORLD_READ)
+
+# Install documentation files
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../../../../../LICENSE.txt"
+DESTINATION "${ODBC_DOC_INSTALL_DIR}"
+COMPONENT Docs)
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/connection-options.md"
+DESTINATION "${ODBC_DOC_INSTALL_DIR}"
+COMPONENT Docs)
   endif()
 
   get_cmake_property(CPACK_COMPONENTS_ALL COMPONENTS)
-  set(CPACK_COMPONENTS_ALL "arrow_flight_sql_odbc")
+  set(CPACK_COMPONENTS_ALL "ArrowFlightSQLODBC")

Review Comment:
   Done.



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-05-19 Thread via GitHub


justing-bq commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3268700193


##
cpp/src/arrow/flight/sql/odbc/install/unix/install_odbc.sh:
##
@@ -42,44 +42,44 @@ fi
 
 case "$(uname)" in
   Linux)
-USER_ODBCINST_FILE="/etc/odbcinst.ini"
+ODBCINST_FILE="/etc/odbcinst.ini"
 ;;
   *)
 # macOS
-USER_ODBCINST_FILE="$HOME/Library/ODBC/odbcinst.ini"
-mkdir -p "$HOME"/Library/ODBC
+ODBCINST_FILE="/Library/ODBC/odbcinst.ini"
+mkdir -p /Library/ODBC
 ;;
 esac
 
 DRIVER_NAME="Apache Arrow Flight SQL ODBC Driver"
 
-touch "$USER_ODBCINST_FILE"
+touch "$ODBCINST_FILE"
 
-if grep -q "^\[$DRIVER_NAME\]" "$USER_ODBCINST_FILE"; then
+if grep -q "^\[$DRIVER_NAME\]" "$ODBCINST_FILE"; then
   echo "Driver [$DRIVER_NAME] already exists in odbcinst.ini"
 else
   echo "Adding [$DRIVER_NAME] to odbcinst.ini..."
   echo "
 [$DRIVER_NAME]
 Description=An ODBC Driver for Apache Arrow Flight SQL
 Driver=$ODBC_64BIT
-" >>"$USER_ODBCINST_FILE"
+" >>"$ODBCINST_FILE"
 fi
 
 # Check if [ODBC Drivers] section exists
-if grep -q '^\[ODBC Drivers\]' "$USER_ODBCINST_FILE"; then
+if grep -q '^\[ODBC Drivers\]' "$ODBCINST_FILE"; then
   # Section exists: check if driver entry exists
-  if ! grep -q "^${DRIVER_NAME}=" "$USER_ODBCINST_FILE"; then
+  if ! grep -q "^${DRIVER_NAME}=" "$ODBCINST_FILE"; then
 # Driver entry does not exist, add under [ODBC Drivers]
 sed -i '' "/^\[ODBC Drivers\]/a\\
 ${DRIVER_NAME}=Installed
-" "$USER_ODBCINST_FILE"
+" "$ODBCINST_FILE"

Review Comment:
   `sed -i` is no longer used.



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-05-19 Thread via GitHub


justing-bq commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3268695143


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,10 +157,70 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSQLODBC-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROWFLIGHTSQLODBC_SCRIPT
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/postinstall")
+  set(CPACK_RESOURCE_FILE_README 
"${CMAKE_CURRENT_SOURCE_DIR}/install/mac/README.txt")
+  set(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/welcome.txt")
+
+  set(ODBC_INSTALL_DIR "arrow-odbc/lib")
+  set(ODBC_DOC_INSTALL_DIR "arrow-odbc/doc")
+else()
+  # Linux
+  # GH-49595: TODO implement DEB installer
+  # GH-47977: TODO implement RPM installer
+  message(STATUS "ODBC_PACKAGE_FORMAT DEB not implemented, see GH-49595")
+  message(STATUS "ODBC_PACKAGE_FORMAT RPM not implemented, see GH-47977")
+endif()
+
+# Install ODBC
+install(TARGETS arrow_flight_sql_odbc_shared
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT ArrowFlightSQLODBC)

Review Comment:
   This PR is only concerned with the macOS installer.
   Linux installer is handled in https://github.com/apache/arrow/pull/49787 and 
https://github.com/apache/arrow/pull/49857.



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-05-19 Thread via GitHub


alinaliBQ commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3268538242


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,10 +157,70 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSQLODBC-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROWFLIGHTSQLODBC_SCRIPT
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/postinstall")
+  set(CPACK_RESOURCE_FILE_README 
"${CMAKE_CURRENT_SOURCE_DIR}/install/mac/README.txt")
+  set(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/welcome.txt")
+
+  set(ODBC_INSTALL_DIR "arrow-odbc/lib")
+  set(ODBC_DOC_INSTALL_DIR "arrow-odbc/doc")
+else()
+  # Linux
+  # GH-49595: TODO implement DEB installer
+  # GH-47977: TODO implement RPM installer
+  message(STATUS "ODBC_PACKAGE_FORMAT DEB not implemented, see GH-49595")
+  message(STATUS "ODBC_PACKAGE_FORMAT RPM not implemented, see GH-47977")
+endif()
+
+# Install ODBC
+install(TARGETS arrow_flight_sql_odbc_shared
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT ArrowFlightSQLODBC)
+
+# Install temporary driver registration scripts, they will be removed 
after driver registration is complete
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/install/unix/install_odbc.sh"
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT ArrowFlightSQLODBC
+PERMISSIONS OWNER_EXECUTE
+OWNER_WRITE
+OWNER_READ
+GROUP_EXECUTE
+GROUP_READ
+WORLD_EXECUTE
+WORLD_READ)
+install(FILES 
"${CMAKE_CURRENT_SOURCE_DIR}/install/unix/install_odbc_ini.sh"
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT ArrowFlightSQLODBC
+PERMISSIONS OWNER_EXECUTE
+OWNER_WRITE
+OWNER_READ
+GROUP_EXECUTE
+GROUP_READ
+WORLD_EXECUTE
+WORLD_READ)
+
+# Install documentation files
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../../../../../LICENSE.txt"
+DESTINATION "${ODBC_DOC_INSTALL_DIR}"
+COMPONENT Docs)
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/connection-options.md"
+DESTINATION "${ODBC_DOC_INSTALL_DIR}"
+COMPONENT Docs)
   endif()
 
   get_cmake_property(CPACK_COMPONENTS_ALL COMPONENTS)
-  set(CPACK_COMPONENTS_ALL "arrow_flight_sql_odbc")
+  set(CPACK_COMPONENTS_ALL "ArrowFlightSQLODBC")

Review Comment:
   ```suggestion
 set(CPACK_COMPONENTS_ALL "ArrowFlightSQLODBC" "Docs")
   ```



##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -173,14 +231,26 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 # Upgrade GUID is required to be unchanged for ODBC installer to upgrade
 set(CPACK_WIX_UPGRADE_GUID "DBF27A18-F8BF-423F-9E3A-957414D52C4B")
 set(CPACK_WIX_PRODUCT_GUID "279D087B-93B5-4DC3-BA69-BCF485022A26")
+  else()
+# macOS and Linux
+list(APPEND CPACK_COMPONENTS_ALL Docs)

Review Comment:
   ```suggestion
   ```



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-05-08 Thread via GitHub


alinaliBQ commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3211720741


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbcODBC-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROW_FLIGHT_SQL_ODBC_SCRIPT
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/postinstall")
+  set(CPACK_RESOURCE_FILE_README 
"${CMAKE_CURRENT_SOURCE_DIR}/install/mac/README.txt")
+  set(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/Welcome.txt")
+
+  set(ODBC_INSTALL_DIR "arrow-odbc/lib")
+  set(DOC_INSTALL_DIR "arrow-odbc/doc")
+else()
+  # Linux
+  # GH-49595: TODO implement DEB installer
+  # GH-47977: TODO implement RPM installer
+  message(STATUS "ODBC_PACKAGE_FORMAT DEB not implemented, see GH-49595")
+  message(STATUS "ODBC_PACKAGE_FORMAT RPM not implemented, see GH-47977")
+endif()
+
+# Install ODBC
+install(TARGETS arrow_flight_sql_odbc_shared
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc)
+
+# Install temporary driver registration scripts, they will be removed 
after driver registration is complete
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/install/unix/install_odbc.sh"
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc
+PERMISSIONS OWNER_EXECUTE
+OWNER_WRITE
+OWNER_READ
+GROUP_EXECUTE
+GROUP_READ
+WORLD_EXECUTE
+WORLD_READ)
+install(FILES 
"${CMAKE_CURRENT_SOURCE_DIR}/install/unix/install_odbc_ini.sh"
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc
+PERMISSIONS OWNER_EXECUTE
+OWNER_WRITE
+OWNER_READ
+GROUP_EXECUTE
+GROUP_READ
+WORLD_EXECUTE
+WORLD_READ)
+
+# Install documentation files
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../../../../../LICENSE.txt"
+DESTINATION "${DOC_INSTALL_DIR}"
+COMPONENT Docs)

Review Comment:
   Theoretically it can work for ODBC installer, but adding `COMPONENT Docs` in 
`arrow/cpp/CMakeLists.txt` will change the Arrow installer behavior. When the 
`COMPONENT` is the default `Unspecified`, these files are installed by default 
(unless we actively exclude `Unspecified` components like we do with ODBC 
installer). Once assigned to a `COMPONENT`, these files will only be installed 
when `Docs` is explicitly included in the Arrow installer. I don't have enough 
context with Arrow installer to make this change, and I will leave this to 
folks with more context. 
   
   cc @justing-bq For ODBC, I suggest we can do these 2 things in 
`cpp/src/arrow/flight/sql/odbc/CMakeLists.txt`:
   1. add `NOTICE.txt` to the ODBC `Doc` component.
   2. add `Doc` component to Windows platform by changing the 
`set(CPACK_COMPONENTS_ALL` line to
   ```
   set(CPACK_COMPONENTS_ALL "ArrowFlightSQLODBC" "Docs")
   ```
   and remove 
   ```
   list(APPEND CPACK_COMPONENTS_ALL Docs)
   ```
   and also remove the `if(UNIX)` wrapper for `cpack_add_component(Docs`



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-05-08 Thread via GitHub


alinaliBQ commented on PR #49766:
URL: https://github.com/apache/arrow/pull/49766#issuecomment-4410379870

   Thank you kou! Our team will resume addressing comments the week of May 
19th, as Justin is out of office.


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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-05-08 Thread via GitHub


alinaliBQ commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3211720741


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbcODBC-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROW_FLIGHT_SQL_ODBC_SCRIPT
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/postinstall")
+  set(CPACK_RESOURCE_FILE_README 
"${CMAKE_CURRENT_SOURCE_DIR}/install/mac/README.txt")
+  set(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/Welcome.txt")
+
+  set(ODBC_INSTALL_DIR "arrow-odbc/lib")
+  set(DOC_INSTALL_DIR "arrow-odbc/doc")
+else()
+  # Linux
+  # GH-49595: TODO implement DEB installer
+  # GH-47977: TODO implement RPM installer
+  message(STATUS "ODBC_PACKAGE_FORMAT DEB not implemented, see GH-49595")
+  message(STATUS "ODBC_PACKAGE_FORMAT RPM not implemented, see GH-47977")
+endif()
+
+# Install ODBC
+install(TARGETS arrow_flight_sql_odbc_shared
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc)
+
+# Install temporary driver registration scripts, they will be removed 
after driver registration is complete
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/install/unix/install_odbc.sh"
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc
+PERMISSIONS OWNER_EXECUTE
+OWNER_WRITE
+OWNER_READ
+GROUP_EXECUTE
+GROUP_READ
+WORLD_EXECUTE
+WORLD_READ)
+install(FILES 
"${CMAKE_CURRENT_SOURCE_DIR}/install/unix/install_odbc_ini.sh"
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc
+PERMISSIONS OWNER_EXECUTE
+OWNER_WRITE
+OWNER_READ
+GROUP_EXECUTE
+GROUP_READ
+WORLD_EXECUTE
+WORLD_READ)
+
+# Install documentation files
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../../../../../LICENSE.txt"
+DESTINATION "${DOC_INSTALL_DIR}"
+COMPONENT Docs)

Review Comment:
   Theoretically it can work for ODBC installer, but adding `COMPONENT Docs` in 
`arrow/cpp/CMakeLists.txt` will change the Arrow installer behavior. When the 
`COMPONENT` is the default `Unspecified`, these files are installed by default 
(unless we actively exclude `Unspecified` components like we do with ODBC 
installer). Once assigned to a `COMPONENT`, these files will only be installed 
when `Docs` is explicitly included in the Arrow installer. I don't have enough 
context with Arrow installer to make this change, and I will leave this to 
folks with more context. 
   
   cc @justing-bq For ODBC, I suggest we can do these 2 things:
   1. add `NOTICE.txt` to the ODBC `Doc` component.
   2. add `Doc` component to Windows platform by changing the 
`set(CPACK_COMPONENTS_ALL` line to
   ```
   set(CPACK_COMPONENTS_ALL "ArrowFlightSQLODBC" "Docs")
   ```
   and remove 
   ```
   list(APPEND CPACK_COMPONENTS_ALL Docs)
   ```



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-05-08 Thread via GitHub


alinaliBQ commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3211720741


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbcODBC-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROW_FLIGHT_SQL_ODBC_SCRIPT
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/postinstall")
+  set(CPACK_RESOURCE_FILE_README 
"${CMAKE_CURRENT_SOURCE_DIR}/install/mac/README.txt")
+  set(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/Welcome.txt")
+
+  set(ODBC_INSTALL_DIR "arrow-odbc/lib")
+  set(DOC_INSTALL_DIR "arrow-odbc/doc")
+else()
+  # Linux
+  # GH-49595: TODO implement DEB installer
+  # GH-47977: TODO implement RPM installer
+  message(STATUS "ODBC_PACKAGE_FORMAT DEB not implemented, see GH-49595")
+  message(STATUS "ODBC_PACKAGE_FORMAT RPM not implemented, see GH-47977")
+endif()
+
+# Install ODBC
+install(TARGETS arrow_flight_sql_odbc_shared
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc)
+
+# Install temporary driver registration scripts, they will be removed 
after driver registration is complete
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/install/unix/install_odbc.sh"
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc
+PERMISSIONS OWNER_EXECUTE
+OWNER_WRITE
+OWNER_READ
+GROUP_EXECUTE
+GROUP_READ
+WORLD_EXECUTE
+WORLD_READ)
+install(FILES 
"${CMAKE_CURRENT_SOURCE_DIR}/install/unix/install_odbc_ini.sh"
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc
+PERMISSIONS OWNER_EXECUTE
+OWNER_WRITE
+OWNER_READ
+GROUP_EXECUTE
+GROUP_READ
+WORLD_EXECUTE
+WORLD_READ)
+
+# Install documentation files
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../../../../../LICENSE.txt"
+DESTINATION "${DOC_INSTALL_DIR}"
+COMPONENT Docs)

Review Comment:
   Theoretically it can work for ODBC installer, but adding `COMPONENT Docs` in 
`arrow/cpp/CMakeLists.txt` will change the Arrow installer behavior. When the 
`COMPONENT` is the default `Unspecified`, these files are installed by default 
(unless we actively exclude `Unspecified` components like we do with ODBC 
installer). Once assigned to a `COMPONENT`, these files will only be installed 
when `Docs` is explicitly included in the Arrow installer. I don't have enough 
context with Arrow installer to make this change, and I will leave this to 
folks with more context. 
   
   cc @justing-bq For ODBC, I suggest we can do these 2 things:
   1. add `NOTICE.txt` to the ODBC `Doc` component.
   2. add `Doc` component to Windows platform by changing the 
`set(CPACK_COMPONENTS_ALL` line to
   ```
   set(CPACK_COMPONENTS_ALL "ArrowFlightSQLODBC" "Docs")
   ```
   



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-05-07 Thread via GitHub


Copilot commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3205622903


##
cpp/src/arrow/flight/sql/odbc/install/unix/install_odbc.sh:
##
@@ -42,44 +42,44 @@ fi
 
 case "$(uname)" in
   Linux)
-USER_ODBCINST_FILE="/etc/odbcinst.ini"
+ODBCINST_FILE="/etc/odbcinst.ini"
 ;;
   *)
 # macOS
-USER_ODBCINST_FILE="$HOME/Library/ODBC/odbcinst.ini"
-mkdir -p "$HOME"/Library/ODBC
+ODBCINST_FILE="/Library/ODBC/odbcinst.ini"
+mkdir -p /Library/ODBC
 ;;
 esac
 
 DRIVER_NAME="Apache Arrow Flight SQL ODBC Driver"
 
-touch "$USER_ODBCINST_FILE"
+touch "$ODBCINST_FILE"
 
-if grep -q "^\[$DRIVER_NAME\]" "$USER_ODBCINST_FILE"; then
+if grep -q "^\[$DRIVER_NAME\]" "$ODBCINST_FILE"; then
   echo "Driver [$DRIVER_NAME] already exists in odbcinst.ini"
 else
   echo "Adding [$DRIVER_NAME] to odbcinst.ini..."
   echo "
 [$DRIVER_NAME]
 Description=An ODBC Driver for Apache Arrow Flight SQL
 Driver=$ODBC_64BIT
-" >>"$USER_ODBCINST_FILE"
+" >>"$ODBCINST_FILE"
 fi
 
 # Check if [ODBC Drivers] section exists
-if grep -q '^\[ODBC Drivers\]' "$USER_ODBCINST_FILE"; then
+if grep -q '^\[ODBC Drivers\]' "$ODBCINST_FILE"; then
   # Section exists: check if driver entry exists
-  if ! grep -q "^${DRIVER_NAME}=" "$USER_ODBCINST_FILE"; then
+  if ! grep -q "^${DRIVER_NAME}=" "$ODBCINST_FILE"; then
 # Driver entry does not exist, add under [ODBC Drivers]
 sed -i '' "/^\[ODBC Drivers\]/a\\
 ${DRIVER_NAME}=Installed
-" "$USER_ODBCINST_FILE"
+" "$ODBCINST_FILE"

Review Comment:
   `sed -i ''` is BSD/macOS-only syntax. This script has a `Linux)` branch but 
will fail on GNU sed (e.g., in the `compose.yaml` Linux test flow) when `[ODBC 
Drivers]` exists and the driver entry is missing. Please make the in-place edit 
portable (e.g., conditionalize the sed invocation by OS, or avoid `sed -i` 
entirely by rewriting via `awk`/temp file).



##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,10 +157,70 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSQLODBC-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROWFLIGHTSQLODBC_SCRIPT
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/postinstall")
+  set(CPACK_RESOURCE_FILE_README 
"${CMAKE_CURRENT_SOURCE_DIR}/install/mac/README.txt")
+  set(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/welcome.txt")
+
+  set(ODBC_INSTALL_DIR "arrow-odbc/lib")
+  set(ODBC_DOC_INSTALL_DIR "arrow-odbc/doc")
+else()
+  # Linux
+  # GH-49595: TODO implement DEB installer
+  # GH-47977: TODO implement RPM installer
+  message(STATUS "ODBC_PACKAGE_FORMAT DEB not implemented, see GH-49595")
+  message(STATUS "ODBC_PACKAGE_FORMAT RPM not implemented, see GH-47977")
+endif()
+
+# Install ODBC
+install(TARGETS arrow_flight_sql_odbc_shared
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT ArrowFlightSQLODBC)

Review Comment:
   The non-Windows installer path logs that Linux packaging is “not 
implemented”, but still proceeds to `install(... DESTINATION 
"${ODBC_INSTALL_DIR}")` even though `ODBC_INSTALL_DIR`/`ODBC_DOC_INSTALL_DIR` 
are only set in the `APPLE)` branch. On Linux this expands to an empty 
destination and will install/package files into an unintended location (or 
break configuration). Please either (a) guard the UNIX installer `install()` 
calls with `if(APPLE)` for this PR, or (b) set Linux install dirs / fail fast 
with `message(FATAL_ERROR ...)` when `ARROW_FLIGHT_SQL_ODBC_INSTALLER` is 
enabled on Linux.



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-05-07 Thread via GitHub


kou commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3205597633


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbcODBC-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROW_FLIGHT_SQL_ODBC_SCRIPT
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/postinstall")
+  set(CPACK_RESOURCE_FILE_README 
"${CMAKE_CURRENT_SOURCE_DIR}/install/mac/README.txt")
+  set(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/Welcome.txt")
+
+  set(ODBC_INSTALL_DIR "arrow-odbc/lib")
+  set(DOC_INSTALL_DIR "arrow-odbc/doc")
+else()
+  # Linux
+  # GH-49595: TODO implement DEB installer
+  # GH-47977: TODO implement RPM installer
+  message(STATUS "ODBC_PACKAGE_FORMAT DEB not implemented, see GH-49595")
+  message(STATUS "ODBC_PACKAGE_FORMAT RPM not implemented, see GH-47977")
+endif()
+
+# Install ODBC
+install(TARGETS arrow_flight_sql_odbc_shared
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc)
+
+# Install temporary driver registration scripts, they will be removed 
after driver registration is complete
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/install/unix/install_odbc.sh"
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc
+PERMISSIONS OWNER_EXECUTE
+OWNER_WRITE
+OWNER_READ
+GROUP_EXECUTE
+GROUP_READ
+WORLD_EXECUTE
+WORLD_READ)
+install(FILES 
"${CMAKE_CURRENT_SOURCE_DIR}/install/unix/install_odbc_ini.sh"
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc
+PERMISSIONS OWNER_EXECUTE
+OWNER_WRITE
+OWNER_READ
+GROUP_EXECUTE
+GROUP_READ
+WORLD_EXECUTE
+WORLD_READ)
+
+# Install documentation files
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../../../../../LICENSE.txt"
+DESTINATION "${DOC_INSTALL_DIR}"
+COMPONENT Docs)

Review Comment:
   If we specify `COMPONENT Docs` to 
https://github.com/apache/arrow/blob/acd8e442939b5fbf90d0cd65ca506514ec3851c4/cpp/CMakeLists.txt#L697-L699
 , can we remove this?
   
   We need to install not only `LICENSE.txt` but also `NOTICE.txt`.



##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbcODBC-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROW_FLIGHT_SQL_ODBC_SCRIPT
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/postinstall")
+  set(CPACK_RESOURCE_FILE_README 
"${CMAKE_CURRENT_SOURCE_DIR}/install/mac/README.txt")
+  set(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/Welcome.txt")
+
+  set(ODBC_INSTALL_DIR "arrow-odbc/lib")
+  set(DOC_INSTALL_DIR "arrow-odbc/doc")
+else()
+  # Linux
+  # GH-49595: TODO implement DEB installer
+  # GH-47977: TODO implement RPM installer
+  message(STATUS "ODBC_PACKAGE_FORMAT DEB not implemented, see GH-49595")
+  message(STATUS "ODBC_PACKAGE_FORMAT RPM not implemented, see GH-47977")

Review Comment:
   OK. I'll work on deb/RPM in `dev/tasks/linux-packages/`.



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-05-07 Thread via GitHub


alinaliBQ commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3203433705


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbc-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"

Review Comment:
   Justin has addressed this comment 🙂 



##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbcODBC-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROW_FLIGHT_SQL_ODBC_SCRIPT
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/postinstall")
+  set(CPACK_RESOURCE_FILE_README 
"${CMAKE_CURRENT_SOURCE_DIR}/install/mac/README.txt")
+  set(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/Welcome.txt")
+
+  set(ODBC_INSTALL_DIR "arrow-odbc/lib")
+  set(DOC_INSTALL_DIR "arrow-odbc/doc")
+else()
+  # Linux
+  # GH-49595: TODO implement DEB installer
+  # GH-47977: TODO implement RPM installer
+  message(STATUS "ODBC_PACKAGE_FORMAT DEB not implemented, see GH-49595")
+  message(STATUS "ODBC_PACKAGE_FORMAT RPM not implemented, see GH-47977")

Review Comment:
   @kou Sorry I missed this comment from earlier. Yes for now we can manage 
ODBC packages separately from other packages, as currently I don't have 
capacity for implementing installers with `dev/tasks/linux-packages/`. 
   cc @lidavidm 



##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbc-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROW_FLIGHT_SQL_ODBC_SCRIPT
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/postinstall")
+  set(CPACK_RESOURCE_FILE_README 
"${CMAKE_CURRENT_SOURCE_DIR}/install/mac/README.txt")
+  set(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/welcome.txt")
+
+  set(ODBC_INSTALL_DIR "arrow-odbc/lib")
+  set(ODBC_DOC_INSTALL_DIR "arrow-odbc/doc")
+else()
+  # Linux
+  # GH-49595: TODO implement DEB installer
+  # GH-47977: TODO implement RPM installer
+  message(STATUS "ODBC_PACKAGE_FORMAT DEB not implemented, see GH-49595")
+  message(STATUS "ODBC_PACKAGE_FORMAT RPM not implemented, see GH-47977")
+endif()
+
+# Install ODBC
+install(TARGETS arrow_flight_sql_odbc_shared
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc)

Review Comment:
   Update: Justin has addressed this comment



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-05-04 Thread via GitHub


alinaliBQ commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3183527943


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbc-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"

Review Comment:
   @justing-bq we can change `CPACK_PACKAGE_FILE_NAME` to `SQLODBC` since it is 
for installer file name, it is not an internal variable here



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-04-30 Thread via GitHub


kou commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3166691193


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbc-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"

Review Comment:
   I referred labels such as 
https://github.com/apache/arrow/blob/2e86408cc0ab23645223adc91c1e290564df4194/cpp/src/arrow/flight/sql/odbc/CMakeLists.txt#L45
 not CamelCase naming.
   
   I understand that we use CamelCase naming here.



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-04-30 Thread via GitHub


kou commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3166647347


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbc-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROW_FLIGHT_SQL_ODBC_SCRIPT

Review Comment:
   Thanks! I didn't know it!



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-04-29 Thread via GitHub


justing-bq commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3164485804


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbc-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"

Review Comment:
   I'm curious what other locations you are referring to?
   
   In situations where we use CamelCase naming but some of the words are 
acronyms like `SQL` and `ODBC`, the convention is to treat those acronyms like 
any other word in the name. ie. `ArrowFlightSqlOdbc`.
   So if there are other locations where we are using `SQLODBC`, I would prefer 
to update those to `SqlOdbc` instead.



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-04-28 Thread via GitHub


justing-bq commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3156570883


##
cpp/src/arrow/flight/sql/odbc/install/mac/postinstall:
##
@@ -0,0 +1,51 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+#!/usr/bin/env bash

Review Comment:
   Removed.



##
cpp/src/arrow/flight/sql/odbc/install/unix/install_odbc_ini.sh:
##
@@ -0,0 +1,82 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+#!/usr/bin/env bash

Review Comment:
   Removed.



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-04-28 Thread via GitHub


justing-bq commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3156576425


##
cpp/src/arrow/flight/sql/odbc/install/mac/README.txt:
##
@@ -0,0 +1,9 @@
+Files are available in '/Library/ODBC/arrow-odbc' after installation.
+
+To set up a connection, you can use DSN to store your data source connection 
information.
+1. Open 'iODBC Data Source Administrator'.
+2. To create a user DSN, go to 'User DSN' tab and click 'Add'.
+3. Select 'Apache Arrow Flight SQL ODBC Driver' and click 'Finish'.
+4. Enter DSN name and connection string values.
+For the list of all supported options, check 
'/Library/ODBC/arrow-odbc/doc/Connection-Options.md'.

Review Comment:
   Done.



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-04-28 Thread via GitHub


justing-bq commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3156574080


##
cpp/src/arrow/flight/sql/odbc/install/mac/postinstall:
##
@@ -0,0 +1,51 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+#!/usr/bin/env bash
+set -euo pipefail
+
+odbc_install_script="/Library/ODBC/arrow-odbc/lib/install_odbc.sh"
+dsn_install_script="/Library/ODBC/arrow-odbc/lib/install_odbc_ini.sh"
+driver_lib="/Library/ODBC/arrow-odbc/lib/libarrow_flight_sql_odbc.dylib"
+dsn_file="/Library/ODBC/odbc.ini"
+
+cleanup() {
+  rm -f "$odbc_install_script" "$dsn_install_script"
+}
+trap cleanup EXIT
+
+if [[ ! -x "$odbc_install_script" ]]; then
+  echo "ERROR: ODBC install script $odbc_install_script not found" >&2
+  exit 1
+fi
+
+"$odbc_install_script" "$driver_lib" || {
+  echo "ERROR: Failed to register ODBC driver ($driver_lib)" >&2
+  exit 1
+}

Review Comment:
   Updated to only remove when installation succeeds.



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-04-27 Thread via GitHub


alinaliBQ commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3148990196


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbc-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROW_FLIGHT_SQL_ODBC_SCRIPT
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/postinstall")
+  set(CPACK_RESOURCE_FILE_README 
"${CMAKE_CURRENT_SOURCE_DIR}/install/mac/README.txt")
+  set(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/welcome.txt")
+
+  set(ODBC_INSTALL_DIR "arrow-odbc/lib")
+  set(ODBC_DOC_INSTALL_DIR "arrow-odbc/doc")
+else()
+  # Linux
+  # GH-49595: TODO implement DEB installer
+  # GH-47977: TODO implement RPM installer
+  message(STATUS "ODBC_PACKAGE_FORMAT DEB not implemented, see GH-49595")
+  message(STATUS "ODBC_PACKAGE_FORMAT RPM not implemented, see GH-47977")
+endif()
+
+# Install ODBC
+install(TARGETS arrow_flight_sql_odbc_shared
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc)

Review Comment:
   Yup `Unspecified` is the default name for components.
   
   cc @justing-bq When we change the component name, let's also change the 
component related variables such as 
`CPACK_POSTFLIGHT_ARROW_FLIGHT_SQL_ODBC_SCRIPT` to `CPACK_POSTFLIGHT_ 
ARROWFLIGHTSQLODBC_SCRIPT`



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-04-27 Thread via GitHub


alinaliBQ commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3148984671


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbc-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROW_FLIGHT_SQL_ODBC_SCRIPT

Review Comment:
   Hi kou, the `CPACK_POSTFLIGHT` prefix is from the `productbuild` generator 
and documented here:
   
https://cmake.org/cmake/help/latest/cpack_gen/productbuild.html#variable:CPACK_POSTFLIGHT_%3CCOMP%3E_SCRIPT.
   



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-04-27 Thread via GitHub


kou commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3144702389


##
cpp/src/arrow/flight/sql/odbc/install/mac/postinstall:
##
@@ -0,0 +1,51 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+#!/usr/bin/env bash

Review Comment:
   ```suggestion
   ```



##
cpp/src/arrow/flight/sql/odbc/install/unix/install_odbc_ini.sh:
##
@@ -0,0 +1,82 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+#!/usr/bin/env bash

Review Comment:
   ```suggestion
   ```



##
cpp/src/arrow/flight/sql/odbc/install/mac/postinstall:
##
@@ -0,0 +1,51 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+#!/usr/bin/env bash
+set -euo pipefail
+
+odbc_install_script="/Library/ODBC/arrow-odbc/lib/install_odbc.sh"
+dsn_install_script="/Library/ODBC/arrow-odbc/lib/install_odbc_ini.sh"
+driver_lib="/Library/ODBC/arrow-odbc/lib/libarrow_flight_sql_odbc.dylib"
+dsn_file="/Library/ODBC/odbc.ini"
+
+cleanup() {
+  rm -f "$odbc_install_script" "$dsn_install_script"
+}
+trap cleanup EXIT
+
+if [[ ! -x "$odbc_install_script" ]]; then
+  echo "ERROR: ODBC install script $odbc_install_script not found" >&2
+  exit 1
+fi
+
+"$odbc_install_script" "$driver_lib" || {
+  echo "ERROR: Failed to register ODBC driver ($driver_lib)" >&2
+  exit 1
+}

Review Comment:
   Is `install_odbc.sh` removed when installation is failed?



##
cpp/src/arrow/flight/sql/odbc/install/mac/README.txt:
##
@@ -0,0 +1,9 @@
+Files are available in '/Library/ODBC/arrow-odbc' after installation.
+
+To set up a connection, you can use DSN to store your data source connection 
information.
+1. Open 'iODBC Data Source Administrator'.
+2. To create a user DSN, go to 'User DSN' tab and click 'Add'.
+3. Select 'Apache Arrow Flight SQL ODBC Driver' and click 'Finish'.
+4. Enter DSN name and connection string values.
+For the list of all supported options, check 
'/Library/ODBC/arrow-odbc/doc/Connection-Options.md'.

Review Comment:
   ```suggestion
   For the list of all supported options, check 
'/Library/ODBC/arrow-odbc/doc/connection-options.md'.
   ```



##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbc-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX 

Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-04-26 Thread via GitHub


kou commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3144679953


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbcODBC-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROW_FLIGHT_SQL_ODBC_SCRIPT
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/postinstall")
+  set(CPACK_RESOURCE_FILE_README 
"${CMAKE_CURRENT_SOURCE_DIR}/install/mac/README.txt")
+  set(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/Welcome.txt")
+
+  set(ODBC_INSTALL_DIR "arrow-odbc/lib")
+  set(DOC_INSTALL_DIR "arrow-odbc/doc")
+else()
+  # Linux
+  # GH-49595: TODO implement DEB installer
+  # GH-47977: TODO implement RPM installer
+  message(STATUS "ODBC_PACKAGE_FORMAT DEB not implemented, see GH-49595")
+  message(STATUS "ODBC_PACKAGE_FORMAT RPM not implemented, see GH-47977")

Review Comment:
   > By using `CPack`, we will be able make the installer run ODBC registration 
scripts and install the docs etc.
   
   We can do it with `dev/tasks/linux-packages/`.
   
   If we use `CPack`, we can't share `libarrow.so` with the ODBC package and 
other packages such as `libarrow-flight2400`. Do you want to manage ODBC 
packages separately from other existing packages?



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-04-23 Thread via GitHub


justing-bq commented on PR #49766:
URL: https://github.com/apache/arrow/pull/49766#issuecomment-4309446202

   @lidavidm @kou
   Please take a look when you have time.


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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-04-22 Thread via GitHub


alinaliBQ commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3125760513


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbcODBC-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROW_FLIGHT_SQL_ODBC_SCRIPT
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/postinstall")
+  set(CPACK_RESOURCE_FILE_README 
"${CMAKE_CURRENT_SOURCE_DIR}/install/mac/README.txt")
+  set(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/Welcome.txt")
+
+  set(ODBC_INSTALL_DIR "arrow-odbc/lib")
+  set(DOC_INSTALL_DIR "arrow-odbc/doc")
+else()
+  # Linux
+  # GH-49595: TODO implement DEB installer
+  # GH-47977: TODO implement RPM installer
+  message(STATUS "ODBC_PACKAGE_FORMAT DEB not implemented, see GH-49595")
+  message(STATUS "ODBC_PACKAGE_FORMAT RPM not implemented, see GH-47977")

Review Comment:
   cc @raulcd, as mentioned in the Arrow community meeting, this is the PR 
thread discussion regarding `linux-packages`



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-04-21 Thread via GitHub


justing-bq commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3120447374


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbcODBC-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"

Review Comment:
   Fixed to `ArrowFlightSqlOdbc`



##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbcODBC-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROW_FLIGHT_SQL_ODBC_SCRIPT
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/postinstall")
+  set(CPACK_RESOURCE_FILE_README 
"${CMAKE_CURRENT_SOURCE_DIR}/install/mac/README.txt")
+  set(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/Welcome.txt")
+
+  set(ODBC_INSTALL_DIR "arrow-odbc/lib")
+  set(DOC_INSTALL_DIR "arrow-odbc/doc")

Review Comment:
   Done.



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-04-21 Thread via GitHub


justing-bq commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3120446441


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbcODBC-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROW_FLIGHT_SQL_ODBC_SCRIPT
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/postinstall")
+  set(CPACK_RESOURCE_FILE_README 
"${CMAKE_CURRENT_SOURCE_DIR}/install/mac/README.txt")
+  set(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/Welcome.txt")
+
+  set(ODBC_INSTALL_DIR "arrow-odbc/lib")
+  set(DOC_INSTALL_DIR "arrow-odbc/doc")
+else()
+  # Linux
+  # GH-49595: TODO implement DEB installer
+  # GH-47977: TODO implement RPM installer
+  message(STATUS "ODBC_PACKAGE_FORMAT DEB not implemented, see GH-49595")
+  message(STATUS "ODBC_PACKAGE_FORMAT RPM not implemented, see GH-47977")
+endif()
+
+# Install ODBC
+install(TARGETS arrow_flight_sql_odbc_shared
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc)
+
+# Install temporary driver registration scripts, they will be removed 
after driver registration is complete
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/install/unix/install_odbc.sh"
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc
+PERMISSIONS OWNER_EXECUTE
+OWNER_WRITE
+OWNER_READ
+GROUP_EXECUTE
+GROUP_READ
+WORLD_EXECUTE
+WORLD_READ)
+install(FILES 
"${CMAKE_CURRENT_SOURCE_DIR}/install/unix/install_odbc_ini.sh"
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc
+PERMISSIONS OWNER_EXECUTE
+OWNER_WRITE
+OWNER_READ
+GROUP_EXECUTE
+GROUP_READ
+WORLD_EXECUTE
+WORLD_READ)
+
+# Install documentation files
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../../../../../LICENSE.txt"
+DESTINATION "${DOC_INSTALL_DIR}"
+COMPONENT Docs)
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/Connection-Options.md"

Review Comment:
   Done.



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-04-21 Thread via GitHub


justing-bq commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3120445230


##
cpp/src/arrow/flight/sql/odbc/install/unix/install_odbc_ini.sh:
##
@@ -0,0 +1,72 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+SYSTEM_ODBC_FILE="$1"
+
+if [[ -z "$SYSTEM_ODBC_FILE" ]]; then
+  echo "error: path to system ODBC DSN is not specified. Call format: 
install_odbc_ini abs_path_to_odbc_dsn_ini"
+  exit 1
+fi
+
+DRIVER_NAME="Apache Arrow Flight SQL ODBC Driver"
+DSN_NAME="Apache Arrow Flight SQL ODBC DSN"
+
+touch "$SYSTEM_ODBC_FILE"
+
+if grep -q "^\[$DSN_NAME\]" "$SYSTEM_ODBC_FILE"; then
+  echo "DSN [$DSN_NAME] already exists in $SYSTEM_ODBC_FILE"
+else
+  echo "Adding [$DSN_NAME] to $SYSTEM_ODBC_FILE..."
+  cat >> "$SYSTEM_ODBC_FILE" < "${SYSTEM_ODBC_FILE}.tmp" && mv 
"${SYSTEM_ODBC_FILE}.tmp" "$SYSTEM_ODBC_FILE"
+  fi

Review Comment:
   We now check for possible whitespace.



##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbcODBC-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROW_FLIGHT_SQL_ODBC_SCRIPT
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/postinstall")
+  set(CPACK_RESOURCE_FILE_README 
"${CMAKE_CURRENT_SOURCE_DIR}/install/mac/README.txt")
+  set(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/Welcome.txt")

Review Comment:
   Done.



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-04-21 Thread via GitHub


justing-bq commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3120443290


##
cpp/src/arrow/flight/sql/odbc/install/unix/install_odbc_ini.sh:
##
@@ -0,0 +1,72 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+SYSTEM_ODBC_FILE="$1"
+
+if [[ -z "$SYSTEM_ODBC_FILE" ]]; then
+  echo "error: path to system ODBC DSN is not specified. Call format: 
install_odbc_ini abs_path_to_odbc_dsn_ini"
+  exit 1
+fi
+
+DRIVER_NAME="Apache Arrow Flight SQL ODBC Driver"
+DSN_NAME="Apache Arrow Flight SQL ODBC DSN"
+
+touch "$SYSTEM_ODBC_FILE"
+

Review Comment:
   Done.



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-04-21 Thread via GitHub


justing-bq commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3120440942


##
cpp/src/arrow/flight/sql/odbc/install/unix/install_odbc.sh:
##
@@ -46,8 +46,8 @@ case "$(uname)" in
 ;;
   *)
 # macOS
-USER_ODBCINST_FILE="$HOME/Library/ODBC/odbcinst.ini"
-mkdir -p "$HOME"/Library/ODBC
+USER_ODBCINST_FILE="/Library/ODBC/odbcinst.ini"
+mkdir -p /Library/ODBC

Review Comment:
   Changed to `ODBCINST_FILE`.



##
cpp/src/arrow/flight/sql/odbc/install/mac/postinstall:
##
@@ -0,0 +1,30 @@
+#!/bin/bash
+#
+# Licensed to the Apache Software Foundation (ASF) under one
+# or more contributor license agreements.  See the NOTICE file
+# distributed with this work for additional information
+# regarding copyright ownership.  The ASF licenses this file
+# to you under the Apache License, Version 2.0 (the
+# "License"); you may not use this file except in compliance
+# with the License.  You may obtain a copy of the License at
+#
+#   http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing,
+# software distributed under the License is distributed on an
+# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
+# KIND, either express or implied.  See the License for the
+# specific language governing permissions and limitations
+# under the License.
+
+# Use temporary driver registration script to register ODBC driver in system 
DSN
+odbc_install_script="/Library/ODBC/arrow-odbc/lib/install_odbc.sh"
+"$odbc_install_script" 
/Library/ODBC/arrow-odbc/lib/libarrow_flight_sql_odbc.dylib
+
+# Use temporary DSN registration script to register sample system DSN
+dsn_install_script="/Library/ODBC/arrow-odbc/lib/install_odbc_ini.sh"
+"$dsn_install_script" /Library/ODBC/odbc.ini
+
+# clean temporary script
+rm -f "$odbc_install_script"
+rm -f "$dsn_install_script"

Review Comment:
   Done.



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-04-21 Thread via GitHub


justing-bq commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3120438811


##
cpp/src/arrow/flight/sql/odbc/install/mac/README.txt:
##
@@ -0,0 +1,9 @@
+Files are available in '/Library/ODBC/arrow-odbc' after installation.
+
+To setup a connection, you can use DSN to store your data source connection 
information.
+1. Open 'iODBC Data Source Administrator'.
+2. To create a user DSN, go to 'User DSN' tab and click 'Add'.
+3. Select 'Apache Arrow Flight SQL ODBC Driver' and click 'Finish'.
+4. Enter DSN name and connection string values. 
+For the list of all supported options, check 
'/Library/ODBC/arrow-odbc/doc/Connection-Options.md'.
+5. Click 'Ok' to save the DSN.

Review Comment:
   Done.



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-04-21 Thread via GitHub


justing-bq commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3120437762


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbcODBC-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROW_FLIGHT_SQL_ODBC_SCRIPT
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/postinstall")
+  set(CPACK_RESOURCE_FILE_README 
"${CMAKE_CURRENT_SOURCE_DIR}/install/mac/README.txt")
+  set(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/Welcome.txt")
+
+  set(ODBC_INSTALL_DIR "arrow-odbc/lib")
+  set(DOC_INSTALL_DIR "arrow-odbc/doc")
+else()
+  # Linux
+  # GH-49595: TODO implement DEB installer
+  # GH-47977: TODO implement RPM installer
+  message(STATUS "ODBC_PACKAGE_FORMAT DEB not implemented, see GH-49595")
+  message(STATUS "ODBC_PACKAGE_FORMAT RPM not implemented, see GH-47977")
+endif()
+
+# Install ODBC
+install(TARGETS arrow_flight_sql_odbc_shared
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc)
+
+# Install temporary driver registration scripts, they will be removed 
after driver registration is complete
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/install/unix/install_odbc.sh"
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc
+PERMISSIONS OWNER_EXECUTE
+OWNER_WRITE
+OWNER_READ
+GROUP_EXECUTE
+GROUP_READ
+WORLD_EXECUTE
+WORLD_READ)
+install(FILES 
"${CMAKE_CURRENT_SOURCE_DIR}/install/unix/install_odbc_ini.sh"
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc
+PERMISSIONS OWNER_EXECUTE
+OWNER_WRITE
+OWNER_READ
+GROUP_EXECUTE
+GROUP_READ
+WORLD_EXECUTE
+WORLD_READ)
+
+# Install documentation files
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../../../../../LICENSE.txt"
+DESTINATION "${DOC_INSTALL_DIR}"
+COMPONENT Docs)
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/Connection-Options.md"
+DESTINATION "${DOC_INSTALL_DIR}"
+COMPONENT Docs)

Review Comment:
   The TODO will be addressed before this is shipped.



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-04-21 Thread via GitHub


justing-bq commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3120435571


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbcODBC-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROW_FLIGHT_SQL_ODBC_SCRIPT
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/postinstall")
+  set(CPACK_RESOURCE_FILE_README 
"${CMAKE_CURRENT_SOURCE_DIR}/install/mac/README.txt")
+  set(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/Welcome.txt")
+
+  set(ODBC_INSTALL_DIR "arrow-odbc/lib")
+  set(DOC_INSTALL_DIR "arrow-odbc/doc")
+else()

Review Comment:
   `/Library/ODBC/arrow-odbc/` is the correct destination.



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-04-21 Thread via GitHub


alinaliBQ commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3120423609


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbcODBC-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROW_FLIGHT_SQL_ODBC_SCRIPT
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/postinstall")
+  set(CPACK_RESOURCE_FILE_README 
"${CMAKE_CURRENT_SOURCE_DIR}/install/mac/README.txt")
+  set(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/Welcome.txt")
+
+  set(ODBC_INSTALL_DIR "arrow-odbc/lib")
+  set(DOC_INSTALL_DIR "arrow-odbc/doc")
+else()
+  # Linux
+  # GH-49595: TODO implement DEB installer
+  # GH-47977: TODO implement RPM installer
+  message(STATUS "ODBC_PACKAGE_FORMAT DEB not implemented, see GH-49595")
+  message(STATUS "ODBC_PACKAGE_FORMAT RPM not implemented, see GH-47977")
+endif()
+
+# Install ODBC
+install(TARGETS arrow_flight_sql_odbc_shared
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc)
+
+# Install temporary driver registration scripts, they will be removed 
after driver registration is complete
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/install/unix/install_odbc.sh"
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc
+PERMISSIONS OWNER_EXECUTE
+OWNER_WRITE
+OWNER_READ
+GROUP_EXECUTE
+GROUP_READ
+WORLD_EXECUTE
+WORLD_READ)
+install(FILES 
"${CMAKE_CURRENT_SOURCE_DIR}/install/unix/install_odbc_ini.sh"
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc
+PERMISSIONS OWNER_EXECUTE
+OWNER_WRITE
+OWNER_READ
+GROUP_EXECUTE
+GROUP_READ
+WORLD_EXECUTE
+WORLD_READ)
+
+# Install documentation files
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../../../../../LICENSE.txt"
+DESTINATION "${DOC_INSTALL_DIR}"
+COMPONENT Docs)

Review Comment:
   Yes, a separate `install` command is needed for ODBC here. During Windows 
ODBC implementation, we noticed `Unspecified` components that are not 
ODBC-related (such as file system stream executables), so we excluded all 
`Unspecified` components from the ODBC installer. 
   
   I assume we are talking about:
   
https://github.com/apache/arrow/blob/acd8e442939b5fbf90d0cd65ca506514ec3851c4/cpp/CMakeLists.txt#L697-L699
   
   Cmake marks `install(... ${ARROW_DOC_DIR})` command as `Unspecified` since 
it doesn't set a `COMPONENT`. Therefore it isn't picked up by the ODBC 
installer.



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-04-21 Thread via GitHub


alinaliBQ commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3119501838


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbcODBC-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROW_FLIGHT_SQL_ODBC_SCRIPT
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/postinstall")
+  set(CPACK_RESOURCE_FILE_README 
"${CMAKE_CURRENT_SOURCE_DIR}/install/mac/README.txt")
+  set(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/Welcome.txt")
+
+  set(ODBC_INSTALL_DIR "arrow-odbc/lib")
+  set(DOC_INSTALL_DIR "arrow-odbc/doc")
+else()
+  # Linux
+  # GH-49595: TODO implement DEB installer
+  # GH-47977: TODO implement RPM installer
+  message(STATUS "ODBC_PACKAGE_FORMAT DEB not implemented, see GH-49595")
+  message(STATUS "ODBC_PACKAGE_FORMAT RPM not implemented, see GH-47977")

Review Comment:
   @kou Yes we would like to use `CPack` for the deb and RPM Linux ODBC 
installers. The goal is to have deb and rpm installers on Linux that are 
comparable to the Windows and macOS ODBC installers. By using `CPack`, we will 
be able make the installer run ODBC registration scripts and install the docs 
etc.
   
   I have raised GitHub issues for using `linux-packages` to create deb and rpm 
installers:
   - DEB https://github.com/apache/arrow/issues/49829
   - RPM https://github.com/apache/arrow/issues/49830
   
   These are currently unassigned
   
   cc @lidavidm



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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-04-21 Thread via GitHub


alinaliBQ commented on PR #49766:
URL: https://github.com/apache/arrow/pull/49766#issuecomment-4290527834

   @justing-bq Could you help with addressing the comments here, thank you


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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-04-18 Thread via GitHub


kou commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3105108466


##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbcODBC-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROW_FLIGHT_SQL_ODBC_SCRIPT
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/postinstall")
+  set(CPACK_RESOURCE_FILE_README 
"${CMAKE_CURRENT_SOURCE_DIR}/install/mac/README.txt")
+  set(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/Welcome.txt")

Review Comment:
   Can we use lower case (`welcome.txt`)?



##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbcODBC-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROW_FLIGHT_SQL_ODBC_SCRIPT
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/postinstall")
+  set(CPACK_RESOURCE_FILE_README 
"${CMAKE_CURRENT_SOURCE_DIR}/install/mac/README.txt")
+  set(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/Welcome.txt")
+
+  set(ODBC_INSTALL_DIR "arrow-odbc/lib")
+  set(DOC_INSTALL_DIR "arrow-odbc/doc")

Review Comment:
   Could you use `ODBC_` prefix?



##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbcODBC-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROW_FLIGHT_SQL_ODBC_SCRIPT
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/postinstall")
+  set(CPACK_RESOURCE_FILE_README 
"${CMAKE_CURRENT_SOURCE_DIR}/install/mac/README.txt")
+  set(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/Welcome.txt")
+
+  set(ODBC_INSTALL_DIR "arrow-odbc/lib")
+  set(DOC_INSTALL_DIR "arrow-odbc/doc")
+else()
+  # Linux
+  # GH-49595: TODO implement DEB installer
+  # GH-47977: TODO implement RPM installer
+  message(STATUS "ODBC_PACKAGE_FORMAT DEB not implemented, see GH-49595")
+  message(STATUS "ODBC_PACKAGE_FORMAT RPM not implemented, see GH-47977")
+endif()
+
+# Install ODBC
+install(TARGETS arrow_flight_sql_odbc_shared
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc)
+
+# Install temporary driver registration scripts, they will be removed 
after driver registration is complete
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/install/unix/install_odbc.sh"
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc
+PERMISSIONS OWNER_EXECUTE
+OWNER_WRITE
+OWNER_READ
+GROUP_EXECUTE
+GROUP_READ
+WORLD_EXECUTE
+WORLD_READ)
+install(FILES 
"${CMAKE_CURRENT_SOURCE_DIR}/install/unix/install_odbc_ini.sh"
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc
+PERMISSIONS OWNER_EXECUTE
+OWNER_WRITE
+OWNER_READ
+GROUP_EXECUTE
+GROUP_READ
+WORLD_EXECUTE
+WORLD_READ)
+
+# Install documentation files
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../../../../../LICENSE.txt"
+DESTINATION "${DOC_INSTALL_DIR}"
+COMPONENT Docs)
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/Connection-Options.md"

Review Comment:
   Can we use lower case 

Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-04-18 Thread via GitHub


Copilot commented on code in PR #49766:
URL: https://github.com/apache/arrow/pull/49766#discussion_r3105112423


##
cpp/src/arrow/flight/sql/odbc/install/mac/README.txt:
##
@@ -0,0 +1,9 @@
+Files are available in '/Library/ODBC/arrow-odbc' after installation.
+
+To setup a connection, you can use DSN to store your data source connection 
information.
+1. Open 'iODBC Data Source Administrator'.
+2. To create a user DSN, go to 'User DSN' tab and click 'Add'.
+3. Select 'Apache Arrow Flight SQL ODBC Driver' and click 'Finish'.
+4. Enter DSN name and connection string values. 
+For the list of all supported options, check 
'/Library/ODBC/arrow-odbc/doc/Connection-Options.md'.
+5. Click 'Ok' to save the DSN.

Review Comment:
   User-facing text fixes: change "To setup a connection" to "To set up a 
connection" (grammar), change "Ok" to "OK", and remove the trailing whitespace 
at the end of line 7. Since this README is used as an installer resource, it 
should be polished.
   ```suggestion
   To set up a connection, you can use DSN to store your data source connection 
information.
   1. Open 'iODBC Data Source Administrator'.
   2. To create a user DSN, go to 'User DSN' tab and click 'Add'.
   3. Select 'Apache Arrow Flight SQL ODBC Driver' and click 'Finish'.
   4. Enter DSN name and connection string values.
   For the list of all supported options, check 
'/Library/ODBC/arrow-odbc/doc/Connection-Options.md'.
   5. Click 'OK' to save the DSN.
   ```



##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  
"ArrowFlightSqlOdbcODBC-${CPACK_PACKAGE_VERSION_MAJOR}.${ODBC_PACKAGE_VERSION_MINOR}.${ODBC_PACKAGE_VERSION_PATCH}"
+  )
+  set(CPACK_PACKAGE_INSTALL_DIRECTORY "${CPACK_PACKAGE_NAME}")
+
+  set(CPACK_SET_DESTDIR ON)
+  set(CPACK_INSTALL_PREFIX "/Library/ODBC")
+  # Register ODBC after install
+  set(CPACK_POSTFLIGHT_ARROW_FLIGHT_SQL_ODBC_SCRIPT
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/postinstall")
+  set(CPACK_RESOURCE_FILE_README 
"${CMAKE_CURRENT_SOURCE_DIR}/install/mac/README.txt")
+  set(CPACK_RESOURCE_FILE_WELCOME
+  "${CMAKE_CURRENT_SOURCE_DIR}/install/mac/Welcome.txt")
+
+  set(ODBC_INSTALL_DIR "arrow-odbc/lib")
+  set(DOC_INSTALL_DIR "arrow-odbc/doc")
+else()
+  # Linux
+  # GH-49595: TODO implement DEB installer
+  # GH-47977: TODO implement RPM installer
+  message(STATUS "ODBC_PACKAGE_FORMAT DEB not implemented, see GH-49595")
+  message(STATUS "ODBC_PACKAGE_FORMAT RPM not implemented, see GH-47977")
+endif()
+
+# Install ODBC
+install(TARGETS arrow_flight_sql_odbc_shared
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc)
+
+# Install temporary driver registration scripts, they will be removed 
after driver registration is complete
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/install/unix/install_odbc.sh"
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc
+PERMISSIONS OWNER_EXECUTE
+OWNER_WRITE
+OWNER_READ
+GROUP_EXECUTE
+GROUP_READ
+WORLD_EXECUTE
+WORLD_READ)
+install(FILES 
"${CMAKE_CURRENT_SOURCE_DIR}/install/unix/install_odbc_ini.sh"
+DESTINATION "${ODBC_INSTALL_DIR}"
+COMPONENT arrow_flight_sql_odbc
+PERMISSIONS OWNER_EXECUTE
+OWNER_WRITE
+OWNER_READ
+GROUP_EXECUTE
+GROUP_READ
+WORLD_EXECUTE
+WORLD_READ)
+
+# Install documentation files
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/../../../../../../LICENSE.txt"
+DESTINATION "${DOC_INSTALL_DIR}"
+COMPONENT Docs)
+install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/Connection-Options.md"
+DESTINATION "${DOC_INSTALL_DIR}"
+COMPONENT Docs)

Review Comment:
   `Connection-Options.md` is installed into the package (Docs component) but 
currently only contains a TODO placeholder. Since this is user-facing 
documentation shipped with the installer, it should either be populated with 
the supported keys/options or omitted from installation until it has real 
content.
   ```suggestion
   
   ```



##
cpp/src/arrow/flight/sql/odbc/CMakeLists.txt:
##
@@ -159,6 +158,66 @@ if(ARROW_FLIGHT_SQL_ODBC_INSTALLER)
 
 set(CPACK_WIX_UI_BANNER
 "${CMAKE_CURRENT_SOURCE_DIR}/install/windows/arrow-wix-banner.bmp")
+  else()
+if(APPLE)
+  set(CPACK_PACKAGE_FILE_NAME
+  

Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-04-16 Thread via GitHub


alinaliBQ commented on PR #49766:
URL: https://github.com/apache/arrow/pull/49766#issuecomment-4262292715

   @lidavidm @kou  PR is ready for review, please have a look 


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



Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]

2026-04-15 Thread via GitHub


github-actions[bot] commented on PR #49766:
URL: https://github.com/apache/arrow/pull/49766#issuecomment-4254309948

   :warning: GitHub issue #47876 **has been automatically assigned in GitHub** 
to PR creator.


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