mirror of https://github.com/BOINC/boinc.git
119 lines
5.4 KiB
Bash
119 lines
5.4 KiB
Bash
#!/bin/csh
|
|
|
|
##
|
|
# Release Script for Macintosh BOINC Manager 2/16/06 by Charlie Fenton
|
|
##
|
|
|
|
## Usage:
|
|
## cd to the root directory of the boinc tree, for example:
|
|
## cd [path]/boinc
|
|
##
|
|
## Invoke this script with the three parts of version number as arguments.
|
|
## For example, if the version is 3.2.1:
|
|
## source [path_to_this_script] 3 2 1
|
|
##
|
|
## This will create a director "BOINC_Installer" in the parent directory of
|
|
## the current directory
|
|
##
|
|
## For testing only, you can use the development build by adding a fourth argument -dev
|
|
## For example, if the version is 3.2.1:
|
|
## source [path_to_this_script] 3 2 1 -dev
|
|
|
|
if [ $# -lt 3 ]; then
|
|
echo "Usage:"
|
|
echo " cd [path]/boinc"
|
|
echo " source [path_to_this_script] major_version minor_version revision_number"
|
|
return 1
|
|
fi
|
|
|
|
pushd ./
|
|
|
|
## XCode 2.x has separate directories for Development and Deployment build products
|
|
if [ "$4" = "-dev" ]; then
|
|
if [ -d mac_build/build/Development/ ]; then
|
|
BUILDPATH="mac_build/build/Development"
|
|
else
|
|
BUILDPATH="mac_build/build"
|
|
fi
|
|
else
|
|
if [ -d mac_build/build/Deployment/ ]; then
|
|
BUILDPATH="mac_build/build/Deployment"
|
|
else
|
|
BUILDPATH="mac_build/build"
|
|
fi
|
|
fi
|
|
|
|
sudo rm -dfR ../BOINC_Installer/Installer\ Resources/
|
|
sudo rm -dfR ../BOINC_Installer/Pkg_Root
|
|
|
|
mkdir -p ../BOINC_Installer/Installer\ Resources/
|
|
|
|
cp -fp mac_Installer/License.rtf ../BOINC_Installer/Installer\ Resources/
|
|
cp -fp mac_installer/ReadMe.rtf ../BOINC_Installer/Installer\ Resources/
|
|
#### We don't customize BOINC Data directory name for branding
|
|
#### cp -fp mac_installer/preinstall ../BOINC_Installer/Installer\ Resources/
|
|
#### cp -fp mac_installer/preinstall ../BOINC_Installer/Installer\ Resources/preupgrade
|
|
cp -fp mac_installer/postinstall ../BOINC_Installer/Installer\ Resources/
|
|
cp -fp mac_installer/postupgrade ../BOINC_Installer/Installer\ Resources/
|
|
|
|
cp -fpR $BUILDPATH/Postinstall.app ../BOINC_Installer/Installer\ Resources/
|
|
|
|
mkdir -p ../BOINC_Installer/Pkg_Root
|
|
mkdir -p ../BOINC_Installer/Pkg_Root/Applications
|
|
mkdir -p ../BOINC_Installer/Pkg_Root/Library
|
|
mkdir -p ../BOINC_Installer/Pkg_Root/Library/Screen\ Savers
|
|
mkdir -p ../BOINC_Installer/Pkg_Root/Library/Application\ Support
|
|
mkdir -p ../BOINC_Installer/Pkg_Root/Library/Application\ Support/BOINC\ Data
|
|
mkdir -p ../BOINC_Installer/Pkg_Root/Library/Application\ Support/BOINC\ Data/locale
|
|
|
|
cp -fpR $BUILDPATH/BOINCManager.app ../BOINC_Installer/Pkg_Root/Applications/
|
|
|
|
cp -fpR $BUILDPATH/BOINCSaver.saver ../BOINC_Installer/Pkg_Root/Library/Screen\ Savers/
|
|
|
|
## Copy the localization files into the installer tree
|
|
## Old way copies CVS and *.po files which are not needed
|
|
## cp -fpR locale/client/ ../BOINC_Installer/Pkg_Root/Library/Application\ Support/BOINC\ Data/locale
|
|
## sudo rm -dfR ../BOINC_Installer/Pkg_Root/Library/Application\ Support/BOINC\ Data/locale/CVS
|
|
## New way copies only *.mo files (adapted from boinc/sea/make-tar.sh)
|
|
find locale/client -name '*.mo' | cut -d '/' -f 3 | awk '{print "\"../BOINC_Installer/Pkg_Root/Library/Application Support/BOINC Data/locale/"$0"\""}' | xargs mkdir -p
|
|
find locale/client -name '*.mo' | cut -d '/' -f 3,4 | awk '{print "cp \"locale/client/"$0"\" \"../BOINC_Installer/Pkg_Root/Library/Application Support/BOINC Data/locale/"$0"\""}' | bash
|
|
|
|
## Fix up ownership and permissions
|
|
sudo chown -R root:admin ../BOINC_Installer/Pkg_Root/*
|
|
sudo chmod -R 775 ../BOINC_Installer/Pkg_Root/*
|
|
sudo chmod 1775 ../BOINC_Installer/Pkg_Root/Library
|
|
|
|
sudo chown -R 501:admin ../BOINC_Installer/Pkg_Root/Library/Application\ Support/*
|
|
sudo chmod -R 755 ../BOINC_Installer/Pkg_Root/Library/Application\ Support/*
|
|
|
|
sudo chown -R root:admin ../BOINC_Installer/Installer\ Resources/*
|
|
sudo chmod -R 755 ../BOINC_Installer/Installer\ Resources/*
|
|
|
|
sudo rm -dfR ../BOINC_Installer/New_Release_$1_$2_$3/
|
|
|
|
mkdir -p ../BOINC_Installer/New_Release_$1_$2_$3/
|
|
mkdir -p ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_macOSX_universal
|
|
mkdir -p ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_universal-apple-darwin
|
|
mkdir -p ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_macOSX_SymbolTables
|
|
|
|
cp -fp mac_installer/ReadMe.rtf ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_macOSX_universal
|
|
sudo chown -R 501:admin ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_macOSX_universal/ReadMe.rtf
|
|
sudo chmod -R 755 ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_macOSX_universal/ReadMe.rtf
|
|
|
|
cp -fpR $BUILDPATH/boinc ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_universal-apple-darwin/
|
|
cp -fpR $BUILDPATH/boinc_cmd ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_universal-apple-darwin/
|
|
sudo chown -R root:admin ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_universal-apple-darwin/*
|
|
sudo chmod -R 755 ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_universal-apple-darwin/*
|
|
|
|
cp -fpR $BUILDPATH/SymbolTables ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_macOSX_SymbolTables/
|
|
|
|
/Developer/Tools/packagemaker -build -p ../BOINC_Installer/New_Release_$1_$2_$3/boinc_$1.$2.$3_macOSX_universal/BOINC.pkg -f ../BOINC_Installer/Pkg_Root -r ../BOINC_Installer/Installer\ Resources/ -i mac_build/Pkg-Info.plist -d mac_Installer/Description.plist -ds
|
|
|
|
cd ../BOINC_Installer/New_Release_$1_$2_$3
|
|
zip -rqy boinc_$1.$2.$3_macOSX_universal.zip boinc_$1.$2.$3_macOSX_universal
|
|
zip -rqy boinc_$1.$2.$3_universal-apple-darwin.zip boinc_$1.$2.$3_universal-apple-darwin
|
|
zip -rqy boinc_$1.$2.$3_macOSX_SymbolTables.zip boinc_$1.$2.$3_macOSX_SymbolTables
|
|
|
|
popd
|
|
return 0
|