Re: [PR] GH-47876: [C++][FlightRPC] ODBC: macOS `.PKG` installer for Intel and ARM [arrow]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
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]
