#!/usr/bin/env bash # This file is part of the LibreOffice project. # # This Source Code Form is subject to the terms of the Mozilla Public # License, v. 2.0. If a copy of the MPL was not distributed with this # file, You can obtain one at http://mozilla.org/MPL/2.0/. # Exit on errors set -e # Use of unset variable is an error set -u # If any part of a pipeline of commands fails, the whole pipeline fails set -o pipefail if [ `uname` != Darwin ]; then echo This is for macOS only >&2 exit 1 fi if [ $# != 2 ]; then echo Usage: $0 signed-app-bundle type echo " where type is 'release', 'dev', or 'collabora'" exit 1 fi if [ ! -d "$1" ]; then echo No such directory: $1 >&2 exit 1 fi if [[ "$1" != *.app ]]; then echo "signed-app-bundle argument $1 does not end with .app" >&2 exit 1 fi DSSTOREFILE= VOLUMEICON= if [ "$2" = "release" ];then DSSTOREFILE=DS_Store elif [ "$2" = "dev" ];then DSSTOREFILE=DS_Store_Dev elif [ "$2" = "collabora" ];then DSSTOREFILE=DS_Store # Collabora is not currently using a volume icon #VOLUMEICON=main.icns else echo "type argument $2 is not equal to 'release', 'dev', or 'collabora'" >&2 exit 1 fi IN=$(cd "$1" && /bin/pwd) INAPP=$(basename "$IN") INDIR=$(dirname "$IN") OUTVOLUME=$(basename "$IN" .app) OUTVOLUMEMOUNT=/Volumes/"$OUTVOLUME" OUTTMPDIR=$(dirname "$IN")/"$OUTVOLUME" OUTFILE="$OUTTMPDIR".dmg OUTFILETMP="$OUTTMPDIR".tmp.dmg SRCDIR=$(cd `dirname "$0"`/.. && /bin/pwd) # Create $OUTTMPDIR directory in the same directory as the output .dmg and # assemble assets if [ -f "$OUTFILE" ]; then echo The file $OUTFILE exists already >&2 exit 1 fi if [ -d "$OUTFILE" ]; then echo $OUTFILE exists and is a directory >&2 exit 1 fi if [ -f "$OUTFILETMP" ]; then echo The file $OUTFILETMP exists already >&2 exit 1 fi if [ -d "$OUTFILETMP" ]; then echo $OUTFILETMP exists and is a directory >&2 exit 1 fi if [ -d "$OUTTMPDIR" ]; then echo The directory $OUTTMPDIR exists already >&2 exit 1 fi if [ -f "$OUTTMPDIR" ]; then echo $OUTTMPDIR exists and is a file >&2 exit 1 fi if [ -d "$OUTVOLUMEMOUNT" ]; then echo The directory $OUTVOLUMEMOUNT exists already >&2 exit 1 fi if [ -f "$OUTVOLUMEMOUNT" ]; then echo $OUTVOLUMEMOUNT exists and is a file >&2 exit 1 fi mkdir "$OUTTMPDIR" mkdir "$OUTTMPDIR"/.background tar cf - "$INAPP" -C "$INDIR" | tar xvpf - -C "$OUTTMPDIR" ln -s /Applications "$OUTTMPDIR"/Applications cp "$SRCDIR"/setup_native/source/packinfo/DS_Store "$OUTTMPDIR"/.DS_Store if [ ! -z "$VOLUMEICON" ]; then cp "$SRCDIR"/sysui/desktop/icons/"$VOLUMEICON" "$OUTTMPDIR"/.VolumeIcon.icns fi cp "$SRCDIR"/setup_native/source/packinfo/osxdndinstall.png "$OUTTMPDIR"/.background/background.png # Create and mount empty .dmg sync if [ -z "$VOLUMEICON" ]; then # Copied and adapted to bash from solenv/bin/modules/installer/simplepackage.pm # tdf#151341 Use lzfse compression instead of bzip2 hdiutil create -srcfolder "$OUTTMPDIR" "$OUTFILE" -ov -fs HFS+ -volname "$OUTVOLUME" -format ULFO else # To set a volume icon, we need to create a writable .dmg, mount it, set the # volume icon, unmount it, and then convert it to a read-only .dmg hdiutil create -srcfolder "$OUTTMPDIR" "$OUTFILETMP" -ov -fs HFS+ -volname "$OUTVOLUME" -format UDRW sync hdiutil attach "$OUTFILETMP" if [ -f "$OUTVOLUMEMOUNT"/.VolumeIcon.icns ]; then # TODO: SetFile is deprecated so we will eventually need to find another # way to set the volume icon or stop trying to set the volume icon SetFile -a C "$OUTVOLUMEMOUNT" fi hdiutil detach "$OUTVOLUMEMOUNT" sync hdiutil convert "$OUTFILETMP" -format ULFO -o "$OUTFILE" fi sync # Print warning about notarization echo "Successfully created '$OUTFILE'" echo echo "Warning: the .dmg is NOT notarized!" echo echo "You can manually notarize the .dmg using the following commands:" echo " xcrun notarytool submit '$OUTFILE' ... [--wait]" echo " xcrun stapler staple '$OUTFILE'" echo " xcrun stapler validate '$OUTFILE'" exit 0 tro/collabora/cp-6.0'>distro/collabora/cp-6.0 LibreOffice 核心代码仓库文档基金会
summaryrefslogtreecommitdiff
path: root/framework/util
AgeCommit message (Expand)Author
2022-01-20WASM --enable-wasm-strip now skips lots of LO codeArmin Le Grand (Allotropia)
2021-03-23use single-use attribute for ContextChangeEventMultiplexerNoel Grandin
2021-03-22use single-use attribute for GlobalAcceleratorConfigurationNoel Grandin
2021-03-22use single-use attribute for PathSettingsNoel Grandin
2021-03-22use single-use attribute for JobExecutorNoel Grandin
2021-03-22use single-use attribute for AutoRecoveryNoel Grandin
2021-03-21use single-use attribute for TaskCreatorServiceNoel Grandin
2021-03-21use single-use attribute for ModuleManagerNoel Grandin
2021-03-21use single-use attribute for SubstitutePathVariablesNoel Grandin
2021-03-20use single-use attribute for StatusBarControllerFactoryNoel
2021-03-20use single-use attribute for UICommandDescriptionNoel
2021-03-20use single-use attribute for UICategoryDescriptionNoel
2021-03-20use single-use attribute for ToolbarControllerFactoryNoel
2021-03-19use single-use attribute for PopupMenuControllerFactoryNoel
2021-03-19use single-use attribute for WindowStateConfigurationNoel
2021-03-19use single-use attribute for ModuleUIConfigurationManagerSupplierNoel
2021-03-19use single-use attribute for UIElementFactoryManagerNoel
2021-03-19use single-use attribute for WindowContentFactoryManagerNoel
2020-08-28MenuBarManager: Extract the window list to own controllerMaxim Monastirsky
2020-07-09framework: create instances with uno constructorsNoel Grandin
2020-07-08framework: create instances with uno constructorsNoel Grandin
2020-07-07framework: create instances with uno constructorsNoel Grandin
2020-07-04reduce number of framework librariesNoel Grandin
2020-01-21remove unused GSOC 2005 "Tabbed Document Windows for OOo"Caolán McNamara
2018-04-02tdf#115131 made a common submenu for toolbars and notebookbarsKshitij Pathania
2016-08-22GSoC: tdf#101249 Toolbar Mode switchingSzymon Kłos
2016-08-16GSoC notebookbar: multiple .ui implementationsSzymon Kłos
2016-05-12framework: register DispatchDisabler serviceMiklos Vajna
2016-04-07[API CHANGE] Remove undocumented TabContainerWindow serviceStephan Bergmann
2016-02-17tdf#91013 Convert freezepanes menu to xmlMaxim Monastirsky
2016-02-17tdf#91013 Add new uno commands to freeze one row and column.Gulsah Kose
2015-12-13tdf#93837 Add helper code to load popup menus from xmlMaxim Monastirsky
2015-11-28New controller to show toolbar contents as menuMaxim Monastirsky
2015-11-20Change the bits of the save button dynamicallyMaxim Monastirsky
2015-11-18Unify menu-based toolbar controllersMaxim Monastirsky
2015-11-11tdf#93837 Create Thesaurus popup menu controllerMaxim Monastirsky
2015-07-16'Save As' popup menu in the Writer's toolbarSzymon Kłos
2015-07-13Introduce generic sub toolbar controllerMaxim Monastirsky