{"action":"created","issue":{"url":"https://api.github.com/repos/sparkle-project/Sparkle/issues/523","labels_url":"https://api.github.com/repos/sparkle-project/Sparkle/issues/523/labels{/name}","comments_url":"https://api.github.com/repos/sparkle-project/Sparkle/issues/523/comments","events_url":"https://api.github.com/repos/sparkle-project/Sparkle/issues/523/events","html_url":"https://github.com/sparkle-project/Sparkle/pull/523","id":68191880,"number":523,"title":"Verify final code signature for issue #441","user":{"login":"iwankerl","id":149942,"avatar_url":"https://avatars.githubusercontent.com/u/149942?v=3","gravatar_id":"","url":"https://api.github.com/users/iwankerl","html_url":"https://github.com/iwankerl","followers_url":"https://api.github.com/users/iwankerl/followers","following_url":"https://api.github.com/users/iwankerl/following{/other_user}","gists_url":"https://api.github.com/users/iwankerl/gists{/gist_id}","starred_url":"https://api.github.com/users/iwankerl/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iwankerl/subscriptions","organizations_url":"https://api.github.com/users/iwankerl/orgs","repos_url":"https://api.github.com/users/iwankerl/repos","events_url":"https://api.github.com/users/iwankerl/events{/privacy}","received_events_url":"https://api.github.com/users/iwankerl/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":8,"created_at":"2015-04-13T20:54:17Z","updated_at":"2015-04-21T00:45:20Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/sparkle-project/Sparkle/pulls/523","html_url":"https://github.com/sparkle-project/Sparkle/pull/523","diff_url":"https://github.com/sparkle-project/Sparkle/pull/523.diff","patch_url":"https://github.com/sparkle-project/Sparkle/pull/523.patch"},"body":"This should help prevent situations like issue #441 where Sparkle\r\ncreates broken app bundles.\r\n\r\nOnce the app has been installed, we check to make sure the final\r\ncopy has a valid code signature (if it's required to be signed)."},"comment":{"url":"https://api.github.com/repos/sparkle-project/Sparkle/issues/comments/94602360","html_url":"https://github.com/sparkle-project/Sparkle/pull/523#issuecomment-94602360","issue_url":"https://api.github.com/repos/sparkle-project/Sparkle/issues/523","id":94602360,"user":{"login":"zorgiepoo","id":857267,"avatar_url":"https://avatars.githubusercontent.com/u/857267?v=3","gravatar_id":"","url":"https://api.github.com/users/zorgiepoo","html_url":"https://github.com/zorgiepoo","followers_url":"https://api.github.com/users/zorgiepoo/followers","following_url":"https://api.github.com/users/zorgiepoo/following{/other_user}","gists_url":"https://api.github.com/users/zorgiepoo/gists{/gist_id}","starred_url":"https://api.github.com/users/zorgiepoo/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zorgiepoo/subscriptions","organizations_url":"https://api.github.com/users/zorgiepoo/orgs","repos_url":"https://api.github.com/users/zorgiepoo/repos","events_url":"https://api.github.com/users/zorgiepoo/events{/privacy}","received_events_url":"https://api.github.com/users/zorgiepoo/received_events","type":"User","site_admin":false},"created_at":"2015-04-21T00:45:20Z","updated_at":"2015-04-21T00:45:20Z","body":"If the issue lies on Sparkle crashing during copying the app to its file destination, then no amount of verification is going to improve this issue. Which begs the question of why a copy operation of the app is being done after the application has been unarchived/patched? Often with copying files, file moves are often done as the final steps since they're atomic operations. If the destination is on a different volume from the source, you can copy it to a temporary path near the destination, then do a move as a final step. On the other hand, if they're on the same volume and permissions are already sufficient or what not, a copy just takes extra time."}}