mirror of
https://github.com/nomic-ai/gpt4all.git
synced 2025-09-22 11:58:55 +00:00
Sign maintenancetool.app on macOS (#3391)
Signed-off-by: Jared Van Bortel <jared@nomic.ai> Signed-off-by: AT <manyoso@users.noreply.github.com> Co-authored-by: AT <manyoso@users.noreply.github.com>
This commit is contained in:
2
gpt4all-chat/cmake/cpack-steal-config.cmake.in
Normal file
2
gpt4all-chat/cmake/cpack-steal-config.cmake.in
Normal file
@@ -0,0 +1,2 @@
|
||||
set(OUTPUT_DIR "@CMAKE_BINARY_DIR@")
|
||||
file(COPY ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/config DESTINATION ${OUTPUT_DIR}/cpack-config)
|
45
gpt4all-chat/cmake/cpack_config.cmake
Normal file
45
gpt4all-chat/cmake/cpack_config.cmake
Normal file
@@ -0,0 +1,45 @@
|
||||
set(COMPONENT_NAME_MAIN "gpt4all")
|
||||
|
||||
set(CPACK_GENERATOR "IFW")
|
||||
set(CPACK_VERBATIM_VARIABLES YES)
|
||||
set(CPACK_IFW_VERBOSE ON)
|
||||
|
||||
if (CMAKE_SYSTEM_NAME MATCHES Linux)
|
||||
set(CPACK_IFW_ROOT "~/Qt/Tools/QtInstallerFramework/4.6")
|
||||
set(CPACK_PACKAGE_FILE_NAME "${COMPONENT_NAME_MAIN}-installer-linux")
|
||||
set(CPACK_IFW_TARGET_DIRECTORY "@HomeDir@/${COMPONENT_NAME_MAIN}")
|
||||
elseif (CMAKE_SYSTEM_NAME MATCHES Windows)
|
||||
set(CPACK_IFW_ROOT "C:/Qt/Tools/QtInstallerFramework/4.6")
|
||||
set(CPACK_IFW_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/resources/gpt4all.ico")
|
||||
set(CPACK_PACKAGE_FILE_NAME "${COMPONENT_NAME_MAIN}-installer-win64")
|
||||
set(CPACK_IFW_TARGET_DIRECTORY "@HomeDir@\\${COMPONENT_NAME_MAIN}")
|
||||
elseif (CMAKE_SYSTEM_NAME MATCHES Darwin)
|
||||
set(CPACK_IFW_ROOT "~/Qt/Tools/QtInstallerFramework/4.6")
|
||||
set(CPACK_IFW_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/resources/gpt4all.icns")
|
||||
set(CPACK_PACKAGE_FILE_NAME "${COMPONENT_NAME_MAIN}-installer-darwin")
|
||||
set(CPACK_IFW_TARGET_DIRECTORY "@ApplicationsDir@/${COMPONENT_NAME_MAIN}")
|
||||
endif()
|
||||
|
||||
set(CPACK_COMPONENTS_ALL ${COMPONENT_NAME_MAIN}) # exclude development components
|
||||
if (APPLE AND GPT4ALL_SIGN_INSTALL)
|
||||
list(APPEND CPACK_COMPONENTS_ALL maintenancetool)
|
||||
endif()
|
||||
set(CPACK_PACKAGE_INSTALL_DIRECTORY ${COMPONENT_NAME_MAIN})
|
||||
set(CPACK_PACKAGE_VERSION_MAJOR ${PROJECT_VERSION_MAJOR})
|
||||
set(CPACK_PACKAGE_VERSION_MINOR ${PROJECT_VERSION_MINOR})
|
||||
set(CPACK_PACKAGE_VERSION_PATCH ${PROJECT_VERSION_PATCH})
|
||||
set(CPACK_PACKAGE_HOMEPAGE_URL "https://www.nomic.ai/gpt4all")
|
||||
set(CPACK_PACKAGE_ICON "${CMAKE_CURRENT_SOURCE_DIR}/icons/gpt4all-48.png")
|
||||
set(CPACK_RESOURCE_FILE_LICENSE ${CMAKE_CURRENT_SOURCE_DIR}/LICENSE)
|
||||
set(CPACK_RESOURCE_FILE_README ${CMAKE_CURRENT_SOURCE_DIR}/README.md)
|
||||
set(CPACK_PACKAGE_EXECUTABLES "GPT4All")
|
||||
set(CPACK_CREATE_DESKTOP_LINKS "GPT4All")
|
||||
set(CPACK_IFW_PACKAGE_NAME "GPT4All")
|
||||
set(CPACK_IFW_PACKAGE_TITLE "GPT4All Installer")
|
||||
set(CPACK_IFW_PACKAGE_PUBLISHER "Nomic, Inc.")
|
||||
set(CPACK_IFW_PRODUCT_URL "https://www.nomic.ai/gpt4all")
|
||||
set(CPACK_IFW_PACKAGE_WIZARD_STYLE "Aero")
|
||||
set(CPACK_IFW_PACKAGE_LOGO "${CMAKE_CURRENT_SOURCE_DIR}/icons/gpt4all-48.png")
|
||||
set(CPACK_IFW_PACKAGE_WINDOW_ICON "${CMAKE_CURRENT_SOURCE_DIR}/icons/gpt4all-32.png")
|
||||
set(CPACK_IFW_PACKAGE_WIZARD_SHOW_PAGE_LIST OFF)
|
||||
set(CPACK_IFW_PACKAGE_CONTROL_SCRIPT "${CMAKE_CURRENT_SOURCE_DIR}/cmake/installer_control.qs")
|
@@ -1,8 +1,10 @@
|
||||
set(MACDEPLOYQT "@MACDEPLOYQT@")
|
||||
set(COMPONENT_NAME_MAIN "@COMPONENT_NAME_MAIN@")
|
||||
set(CMAKE_CURRENT_SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@")
|
||||
set(GPT4ALL_SIGN_INSTALL "@GPT4ALL_SIGN_INSTALL@")
|
||||
set(GPT4ALL_SIGNING_ID "@MAC_SIGNING_IDENTITY@")
|
||||
if (GPT4ALL_SIGNING_ID)
|
||||
set(CPACK_CONFIG_DIR "@CMAKE_BINARY_DIR@")
|
||||
if (GPT4ALL_SIGN_INSTALL)
|
||||
set(MAC_NOTARIZE -sign-for-notarization=${GPT4ALL_SIGNING_ID})
|
||||
endif()
|
||||
execute_process(COMMAND ${MACDEPLOYQT} ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/packages/${COMPONENT_NAME_MAIN}/data/bin/gpt4all.app -qmldir=${CMAKE_CURRENT_SOURCE_DIR} -verbose=2 ${MAC_NOTARIZE})
|
||||
@@ -18,3 +20,13 @@ file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/icons/gpt4all-48.png"
|
||||
DESTINATION ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/packages/${COMPONENT_NAME_MAIN}/data)
|
||||
file(COPY "${CMAKE_CURRENT_SOURCE_DIR}/resources/gpt4all.icns"
|
||||
DESTINATION ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/packages/${COMPONENT_NAME_MAIN}/data)
|
||||
|
||||
if (GPT4ALL_SIGN_INSTALL)
|
||||
# Create signed MaintenanceTool
|
||||
set(MT_DATA_DIR ${CPACK_TEMPORARY_INSTALL_DIRECTORY}/packages/maintenancetool/data)
|
||||
file(MAKE_DIRECTORY ${MT_DATA_DIR})
|
||||
execute_process(
|
||||
COMMAND binarycreator --config ${CPACK_CONFIG_DIR}/cpack-config/config/config.xml --create-maintenancetool --sign ${GPT4ALL_SIGNING_ID}
|
||||
WORKING_DIRECTORY ${MT_DATA_DIR}
|
||||
)
|
||||
endif()
|
||||
|
19
gpt4all-chat/cmake/installer_maintenancetool_component.qs
Normal file
19
gpt4all-chat/cmake/installer_maintenancetool_component.qs
Normal file
@@ -0,0 +1,19 @@
|
||||
function Component()
|
||||
{
|
||||
component.ifwVersion = installer.value("FrameworkVersion");
|
||||
installer.installationStarted.connect(this, Component.prototype.onInstallationStarted);
|
||||
}
|
||||
|
||||
Component.prototype.onInstallationStarted = function()
|
||||
{
|
||||
if (component.updateRequested() || component.installationRequested()) {
|
||||
if (installer.value("os") == "win") {
|
||||
component.installerbaseBinaryPath = "@TargetDir@/installerbase.exe";
|
||||
} else if (installer.value("os") == "x11") {
|
||||
component.installerbaseBinaryPath = "@TargetDir@/installerbase";
|
||||
} else if (installer.value("os") == "mac") {
|
||||
component.installerbaseBinaryPath = "@TargetDir@/MaintenanceTool.app";
|
||||
}
|
||||
installer.setInstallerBaseBinary(component.installerbaseBinaryPath);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user