osx - Jenkins web download corrupts mac app code signing -


i'm seeing bizarre code-signing / file-transfer issue , haven't found clue cause, wonder if else has idea.

i have mac os x build server running jenkins builds , signs mac components , apps fine. these include apps final cut pro x plugins.

when download zip file produced build system through browser (from jenkins build page) these fcpx apps, after unzipping app won't launch - says it's unknown developer, if isn't code signed.

and yet if same build output zip way - downloading via sftp or afp-mounting build machine filesystem - works fine.

it code-signed on build system originally, because installer (which built downstream on build system) deploys app code-signed.

why downloading zip through browser jenkins destroy app's code signature? i've tried few browsers (chrome, firefox, safari) , it's same. i'd suspect it's issue app bundle bits or sim. except download wrapped in zip archive shouldn't matter. it's created os-native /usr/bin/zip command (not ant or python or other possibly non-bundle-savvy version).

so turns out os x gatekeeper's fault - doesn't appear have jenkins. os adds quarantine attribute zip tags along app bundle when unzipped, , seems cause treat app unsigned, though signed.

this seems bug in os x. since app signed , gatekeeper settings allow signed apps, should not screwing app quarantine attribute. app works fine , treated signed if deployed means other browser download.

there few workarounds, of coworker discovered.

one download app method other browser - used sftp, afp mounting of build system volume, , http request python script, , of worked.

another strip off quarantine setting after download:

xattr -dr com.apple.quarantine my_file.zip 

yet use 7z instead of native unzip / archive manager unzip archive.


Comments

Popular posts from this blog

PHP DOM loadHTML() method unusual warning -

python - How to create jsonb index using GIN on SQLAlchemy? -

c# - TransactionScope not rolling back although no complete() is called -