Make codesign call compatible with MacOS X >= 10.9.5. #2875

This commit is contained in:
Alessandro Ranellucci 2017-03-29 20:32:19 +02:00
parent 467dc324f6
commit 7abc1b1a4b

View File

@ -62,31 +62,28 @@ PP_BIN=$(which pp)
SLIC3R_DIR=$(perl -MCwd=realpath -e "print realpath '${WD}/../../'")
if [[ -d "${appfolder}" ]]; then
echo "Deleting old working folder."
echo "Deleting old working folder: ${appfolder}"
rm -rf ${appfolder}
fi
if [[ -e "${dmgfile}" ]]; then
echo "Deleting old dmg ${dmgfile}."
echo "Deleting old dmg: ${dmgfile}"
rm -rf ${dmgfile}
fi
echo "Creating new app folder at $appfolder."
echo "Creating new app folder: $appfolder"
mkdir -p $appfolder
mkdir -p $macosfolder
mkdir -p $resourcefolder
echo "Copying resources..."
cp -r $SLIC3R_DIR/var $macosfolder/
cp -rf $SLIC3R_DIR/var $macosfolder/
mv $macosfolder/var/Slic3r.icns $resourcefolder
echo "Copying Slic3r..."
cp $SLIC3R_DIR/slic3r.pl $macosfolder/slic3r.pl
cp -RP $SLIC3R_DIR/local-lib $macosfolder/local-lib
cp -RP $SLIC3R_DIR/lib/* $macosfolder/local-lib/lib/perl5/
find $macosfolder/local-lib -name man -type d -delete
find $macosfolder/local-lib -name .packlist -delete
rm -rf $macosfolder/local-lib/lib/perl5/darwin-thread-multi-2level/Alien/wxWidgets/osx_cocoa_3_0_2_uni/include
cp -fRP $SLIC3R_DIR/local-lib $macosfolder/local-lib
cp -fRP $SLIC3R_DIR/lib/* $macosfolder/local-lib/lib/perl5/
echo "Relocating dylib paths..."
for bundle in $(find $macosfolder/local-lib/lib/perl5/darwin-thread-multi-2level/auto/Wx -name '*.bundle') $(find $macosfolder/local-lib/lib/perl5/darwin-thread-multi-2level/Alien/wxWidgets -name '*.dylib' -type f); do
@ -97,11 +94,11 @@ for bundle in $(find $macosfolder/local-lib/lib/perl5/darwin-thread-multi-2level
done
echo "Copying startup script..."
cp $WD/startup_script.sh $macosfolder/$appname
cp -f $WD/startup_script.sh $macosfolder/$appname
chmod +x $macosfolder/$appname
echo "Copying perl from $PERL_BIN"
cp $PERL_BIN $macosfolder/perl-local
cp -f $PERL_BIN $macosfolder/perl-local
${PP_BIN} -M attributes -M base -M bytes -M B -M POSIX \
-M FindBin -M Unicode::Normalize -M Tie::Handle \
-M Time::Local -M Math::Trig \
@ -110,19 +107,28 @@ ${PP_BIN} -M attributes -M base -M bytes -M B -M POSIX \
-M strict -M utf8 -M parent \
-B -p -e "print 123" -o $WD/_tmp/test.par
unzip $WD/_tmp/test.par -d $WD/_tmp/
cp -r $WD/_tmp/lib/* $macosfolder/local-lib/lib/perl5/
cp -rf $WD/_tmp/lib/* $macosfolder/local-lib/lib/perl5/
rm -rf $WD/_tmp
echo "Cleaning bundle"
find $macosfolder/local-lib -name man -type d -delete
find $macosfolder/local-lib -name .packlist -delete
find $macosfolder/local-lib -name .meta -exec rm -rf "{}" \;
find $macosfolder/local-lib -name '*.h' -delete
find $macosfolder/local-lib -type d -empty -delete
rm -rf $macosfolder/local-lib/lib/perl5/darwin-thread-multi-2level/Alien/wxWidgets/osx_cocoa_3_0_2_uni/include
make_plist
echo $PkgInfoContents >$appfolder/Contents/PkgInfo
if [[ -e "${KEYCHAIN_FILE}" ]]; then
echo "Signing app..."
chmod -R +w $macosfolder/*
security list-keychains -s "${KEYCHAIN_FILE}"
security default-keychain -s "${KEYCHAIN_FILE}"
security unlock-keychain -p "${KEYCHAIN_PASSWORD}" "${KEYCHAIN_FILE}"
codesign --sign "${KEYCHAIN_IDENTITY}" "$appfolder"
codesign --sign "${KEYCHAIN_IDENTITY}" --deep "$appfolder"
fi
echo "Creating dmg file...."