From e609602cfec2eb2d8c24f15c3fc8826fe2272964 Mon Sep 17 00:00:00 2001 From: Colin Edwards Date: Sun, 5 Feb 2017 11:46:49 -0600 Subject: [PATCH] CI: Get some codesigning and sparkle stuff in place --- CI/before-deploy-osx.sh | 25 ++++++++++++++++++++++--- CI/install-dependencies-osx.sh | 9 +++++++++ CI/osxcert/cert.p12.enc | Bin 0 -> 3168 bytes CI/osxcert/pk.p12.enc | Bin 0 -> 3168 bytes 4 files changed, 31 insertions(+), 3 deletions(-) create mode 100644 CI/osxcert/cert.p12.enc create mode 100644 CI/osxcert/pk.p12.enc diff --git a/CI/before-deploy-osx.sh b/CI/before-deploy-osx.sh index 36dc78629..0e67b671a 100755 --- a/CI/before-deploy-osx.sh +++ b/CI/before-deploy-osx.sh @@ -1,18 +1,37 @@ # Exit if something fails set -e +# Generate file name variables export GIT_HASH=$(git rev-parse --short HEAD) export FILE_DATE=$(date +%Y-%m-%d.%H:%M:%S) export FILENAME=$FILE_DATE-$GIT_HASH-osx.pkg -mkdir nightly + cd ./build + +# Move the CEF plugin out before running build_app so that it doesn't get packaged twice mv ./rundir/RelWithDebInfo/obs-plugins/CEF.app ./ mv ./rundir/RelWithDebInfo/obs-plugins/obs-browser.so ./ -sudo python ../CI/install/osx/build_app.py + +# Package everything into a nice .app +sudo python ../CI/install/osx/build_app.py --public-key ../CI/install/osx/OBSPublicDSAKey.pem --sparkle-framework ../../sparkle/Sparkle.framework #--base-url=https://obsappcasturlhere + +# Move the CEF plugin back to where it belongs mv ./CEF.app ./rundir/RelWithDebInfo/obs-plugins/ mv ./obs-browser.so ./rundir/RelWithDebInfo/obs-plugins/ +# Package app packagesbuild ../CI/install/osx/CMakeLists.pkgproj -sudo cp OBS.pkg ./$FILENAME +# Signing stuff +openssl aes-256-cbc -K $encrypted_dd3c7f5e9db9_key -iv $encrypted_dd3c7f5e9db9_iv -in ../CI/osxcert/cert.p12.enc -out cert.p12 -d +openssl aes-256-cbc -K $encrypted_dd3c7f5e9db9_key -iv $encrypted_dd3c7f5e9db9_iv -in ../CI/osxcert/pk.p12.enc -out pk.p12 -d +security create-keychain -p mysecretpassword build.keychain +security default-keychain -s build.keychain +security unlock-keychain -p mysecretpassword build.keychain +security import cert.p12 -k build.keychain -T /usr/bin/codesign +security import pk.p12 -k build.keychain -T /usr/bin/codesign +productsign --sign 'Developer ID Installer: Hugh Bailey (2MMRE5MTB8)' ./OBS.pkg ./$FILENAME + +# Move to the folder that travis uses to upload artifacts from +mkdir ../nightly sudo mv ./$FILENAME ../nightly diff --git a/CI/install-dependencies-osx.sh b/CI/install-dependencies-osx.sh index 5d1b78665..a5e02e08b 100755 --- a/CI/install-dependencies-osx.sh +++ b/CI/install-dependencies-osx.sh @@ -6,6 +6,8 @@ git fetch --tags # Leave obs-studio folder cd ../ +# Install Packages app so we can build a package later +# http://s.sudre.free.fr/Software/Packages/about.html curl -L -O https://s3-us-west-2.amazonaws.com/obs-nightly/Packages.pkg -f --retry 5 -C - sudo installer -pkg ./Packages.pkg -target / @@ -14,12 +16,19 @@ brew update #Base OBS Deps brew install qt5 +# Fetch and untar prebuilt OBS deps that are compatible with older versions of OSX curl -L -O https://s3-us-west-2.amazonaws.com/obs-nightly/osx-deps.tar.gz -f --retry 5 -C - tar -xf ./osx-deps.tar.gz -C /tmp +# Fetch vlc codebase curl -L -o vlc-master.zip https://github.com/videolan/vlc/archive/master.zip -f --retry 5 -C - unzip -q ./vlc-master.zip +# Get sparkle +curl -L -o ./sparkle.tar.bz2 https://github.com/sparkle-project/Sparkle/releases/download/1.16.0/Sparkle-1.16.0.tar.bz2 +mkdir ./sparkle +tar -xf ./sparkle.tar.bz2 -C ./sparkle + # CEF Stuff curl -kLO http://opensource.spotify.com/cefbuilds/cef_binary_3.2883.1540.gedbfb20_macosx64.tar.bz2 -f --retry 5 -C - tar -xf ./cef_binary_3.2883.1540.gedbfb20_macosx64.tar.bz2 diff --git a/CI/osxcert/cert.p12.enc b/CI/osxcert/cert.p12.enc new file mode 100644 index 0000000000000000000000000000000000000000..38a1ac2ddaf146e71db29510cd9b2199caed1cd4 GIT binary patch literal 3168 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 GwVxIc_%_S{ literal 0 HcmV?d00001 diff --git a/CI/osxcert/pk.p12.enc b/CI/osxcert/pk.p12.enc new file mode 100644 index 0000000000000000000000000000000000000000..fe9bc1fcfe9b6acc2fc292e96bc1af4abb790fac GIT binary patch literal 3168 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 Go}*^+WjaIv literal 0 HcmV?d00001