{"action":"opened","number":353,"pull_request":{"url":"https://api.github.com/repos/randombit/botan/pulls/353","id":53319464,"html_url":"https://github.com/randombit/botan/pull/353","diff_url":"https://github.com/randombit/botan/pull/353.diff","patch_url":"https://github.com/randombit/botan/pull/353.patch","issue_url":"https://api.github.com/repos/randombit/botan/issues/353","number":353,"state":"open","locked":false,"title":"make shutil.rmtree and os.makedirs more robust (at least on windows)","user":{"login":"neusdan","id":5289290,"avatar_url":"https://avatars.githubusercontent.com/u/5289290?v=3","gravatar_id":"","url":"https://api.github.com/users/neusdan","html_url":"https://github.com/neusdan","followers_url":"https://api.github.com/users/neusdan/followers","following_url":"https://api.github.com/users/neusdan/following{/other_user}","gists_url":"https://api.github.com/users/neusdan/gists{/gist_id}","starred_url":"https://api.github.com/users/neusdan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neusdan/subscriptions","organizations_url":"https://api.github.com/users/neusdan/orgs","repos_url":"https://api.github.com/users/neusdan/repos","events_url":"https://api.github.com/users/neusdan/events{/privacy}","received_events_url":"https://api.github.com/users/neusdan/received_events","type":"User","site_admin":false},"body":"On my system configure.py fails often during the \"setup build\" stage. I'm not sure if it is Windows specific but i found a lot other people having problems with the python calls `shutil.rmtree()` and `os.makedirs()`. For example [here](https://stackoverflow.com/questions/1889597/deleting-directory-in-python), [here](https://stackoverflow.com/questions/303200/how-do-i-remove-delete-a-folder-that-is-not-empty-with-python), [here](https://stackoverflow.com/questions/4609572/what-is-a-good-solution-to-a-bogus-oserror-13-eacces-using-python-on-windows) and [here](https://stackoverflow.com/questions/17619079/python-why-does-os-makedirs-cause-windowserror). I've got \"acces denied\" and \"directory not empty\" errors. Seems to be something timing related.\r\n\r\nThis patch fixes this for me.","created_at":"2015-12-10T21:27:27Z","updated_at":"2015-12-10T21:27:27Z","closed_at":null,"merged_at":null,"merge_commit_sha":null,"assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/randombit/botan/pulls/353/commits","review_comments_url":"https://api.github.com/repos/randombit/botan/pulls/353/comments","review_comment_url":"https://api.github.com/repos/randombit/botan/pulls/comments{/number}","comments_url":"https://api.github.com/repos/randombit/botan/issues/353/comments","statuses_url":"https://api.github.com/repos/randombit/botan/statuses/86630976bbb1442750177f4c3c392eab5c65db98","head":{"label":"neusdan:robust_build_setup_windows","ref":"robust_build_setup_windows","sha":"86630976bbb1442750177f4c3c392eab5c65db98","user":{"login":"neusdan","id":5289290,"avatar_url":"https://avatars.githubusercontent.com/u/5289290?v=3","gravatar_id":"","url":"https://api.github.com/users/neusdan","html_url":"https://github.com/neusdan","followers_url":"https://api.github.com/users/neusdan/followers","following_url":"https://api.github.com/users/neusdan/following{/other_user}","gists_url":"https://api.github.com/users/neusdan/gists{/gist_id}","starred_url":"https://api.github.com/users/neusdan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neusdan/subscriptions","organizations_url":"https://api.github.com/users/neusdan/orgs","repos_url":"https://api.github.com/users/neusdan/repos","events_url":"https://api.github.com/users/neusdan/events{/privacy}","received_events_url":"https://api.github.com/users/neusdan/received_events","type":"User","site_admin":false},"repo":{"id":31926804,"name":"botan","full_name":"neusdan/botan","owner":{"login":"neusdan","id":5289290,"avatar_url":"https://avatars.githubusercontent.com/u/5289290?v=3","gravatar_id":"","url":"https://api.github.com/users/neusdan","html_url":"https://github.com/neusdan","followers_url":"https://api.github.com/users/neusdan/followers","following_url":"https://api.github.com/users/neusdan/following{/other_user}","gists_url":"https://api.github.com/users/neusdan/gists{/gist_id}","starred_url":"https://api.github.com/users/neusdan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/neusdan/subscriptions","organizations_url":"https://api.github.com/users/neusdan/orgs","repos_url":"https://api.github.com/users/neusdan/repos","events_url":"https://api.github.com/users/neusdan/events{/privacy}","received_events_url":"https://api.github.com/users/neusdan/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/neusdan/botan","description":"Crypto and TLS for C++11","fork":true,"url":"https://api.github.com/repos/neusdan/botan","forks_url":"https://api.github.com/repos/neusdan/botan/forks","keys_url":"https://api.github.com/repos/neusdan/botan/keys{/key_id}","collaborators_url":"https://api.github.com/repos/neusdan/botan/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/neusdan/botan/teams","hooks_url":"https://api.github.com/repos/neusdan/botan/hooks","issue_events_url":"https://api.github.com/repos/neusdan/botan/issues/events{/number}","events_url":"https://api.github.com/repos/neusdan/botan/events","assignees_url":"https://api.github.com/repos/neusdan/botan/assignees{/user}","branches_url":"https://api.github.com/repos/neusdan/botan/branches{/branch}","tags_url":"https://api.github.com/repos/neusdan/botan/tags","blobs_url":"https://api.github.com/repos/neusdan/botan/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/neusdan/botan/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/neusdan/botan/git/refs{/sha}","trees_url":"https://api.github.com/repos/neusdan/botan/git/trees{/sha}","statuses_url":"https://api.github.com/repos/neusdan/botan/statuses/{sha}","languages_url":"https://api.github.com/repos/neusdan/botan/languages","stargazers_url":"https://api.github.com/repos/neusdan/botan/stargazers","contributors_url":"https://api.github.com/repos/neusdan/botan/contributors","subscribers_url":"https://api.github.com/repos/neusdan/botan/subscribers","subscription_url":"https://api.github.com/repos/neusdan/botan/subscription","commits_url":"https://api.github.com/repos/neusdan/botan/commits{/sha}","git_commits_url":"https://api.github.com/repos/neusdan/botan/git/commits{/sha}","comments_url":"https://api.github.com/repos/neusdan/botan/comments{/number}","issue_comment_url":"https://api.github.com/repos/neusdan/botan/issues/comments{/number}","contents_url":"https://api.github.com/repos/neusdan/botan/contents/{+path}","compare_url":"https://api.github.com/repos/neusdan/botan/compare/{base}...{head}","merges_url":"https://api.github.com/repos/neusdan/botan/merges","archive_url":"https://api.github.com/repos/neusdan/botan/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/neusdan/botan/downloads","issues_url":"https://api.github.com/repos/neusdan/botan/issues{/number}","pulls_url":"https://api.github.com/repos/neusdan/botan/pulls{/number}","milestones_url":"https://api.github.com/repos/neusdan/botan/milestones{/number}","notifications_url":"https://api.github.com/repos/neusdan/botan/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/neusdan/botan/labels{/name}","releases_url":"https://api.github.com/repos/neusdan/botan/releases{/id}","created_at":"2015-03-09T22:47:23Z","updated_at":"2015-03-16T21:43:25Z","pushed_at":"2015-12-10T21:19:55Z","git_url":"git://github.com/neusdan/botan.git","ssh_url":"git@github.com:neusdan/botan.git","clone_url":"https://github.com/neusdan/botan.git","svn_url":"https://github.com/neusdan/botan","homepage":"http://botan.randombit.net","size":49898,"stargazers_count":0,"watchers_count":0,"language":"C++","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"net.randombit.botan"}},"base":{"label":"randombit:master","ref":"master","sha":"79a51627ee11f4d7f55d589751b30463d1f02a76","user":{"login":"randombit","id":469092,"avatar_url":"https://avatars.githubusercontent.com/u/469092?v=3","gravatar_id":"","url":"https://api.github.com/users/randombit","html_url":"https://github.com/randombit","followers_url":"https://api.github.com/users/randombit/followers","following_url":"https://api.github.com/users/randombit/following{/other_user}","gists_url":"https://api.github.com/users/randombit/gists{/gist_id}","starred_url":"https://api.github.com/users/randombit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/randombit/subscriptions","organizations_url":"https://api.github.com/users/randombit/orgs","repos_url":"https://api.github.com/users/randombit/repos","events_url":"https://api.github.com/users/randombit/events{/privacy}","received_events_url":"https://api.github.com/users/randombit/received_events","type":"User","site_admin":false},"repo":{"id":8608254,"name":"botan","full_name":"randombit/botan","owner":{"login":"randombit","id":469092,"avatar_url":"https://avatars.githubusercontent.com/u/469092?v=3","gravatar_id":"","url":"https://api.github.com/users/randombit","html_url":"https://github.com/randombit","followers_url":"https://api.github.com/users/randombit/followers","following_url":"https://api.github.com/users/randombit/following{/other_user}","gists_url":"https://api.github.com/users/randombit/gists{/gist_id}","starred_url":"https://api.github.com/users/randombit/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/randombit/subscriptions","organizations_url":"https://api.github.com/users/randombit/orgs","repos_url":"https://api.github.com/users/randombit/repos","events_url":"https://api.github.com/users/randombit/events{/privacy}","received_events_url":"https://api.github.com/users/randombit/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/randombit/botan","description":"Crypto and TLS for C++11","fork":false,"url":"https://api.github.com/repos/randombit/botan","forks_url":"https://api.github.com/repos/randombit/botan/forks","keys_url":"https://api.github.com/repos/randombit/botan/keys{/key_id}","collaborators_url":"https://api.github.com/repos/randombit/botan/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/randombit/botan/teams","hooks_url":"https://api.github.com/repos/randombit/botan/hooks","issue_events_url":"https://api.github.com/repos/randombit/botan/issues/events{/number}","events_url":"https://api.github.com/repos/randombit/botan/events","assignees_url":"https://api.github.com/repos/randombit/botan/assignees{/user}","branches_url":"https://api.github.com/repos/randombit/botan/branches{/branch}","tags_url":"https://api.github.com/repos/randombit/botan/tags","blobs_url":"https://api.github.com/repos/randombit/botan/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/randombit/botan/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/randombit/botan/git/refs{/sha}","trees_url":"https://api.github.com/repos/randombit/botan/git/trees{/sha}","statuses_url":"https://api.github.com/repos/randombit/botan/statuses/{sha}","languages_url":"https://api.github.com/repos/randombit/botan/languages","stargazers_url":"https://api.github.com/repos/randombit/botan/stargazers","contributors_url":"https://api.github.com/repos/randombit/botan/contributors","subscribers_url":"https://api.github.com/repos/randombit/botan/subscribers","subscription_url":"https://api.github.com/repos/randombit/botan/subscription","commits_url":"https://api.github.com/repos/randombit/botan/commits{/sha}","git_commits_url":"https://api.github.com/repos/randombit/botan/git/commits{/sha}","comments_url":"https://api.github.com/repos/randombit/botan/comments{/number}","issue_comment_url":"https://api.github.com/repos/randombit/botan/issues/comments{/number}","contents_url":"https://api.github.com/repos/randombit/botan/contents/{+path}","compare_url":"https://api.github.com/repos/randombit/botan/compare/{base}...{head}","merges_url":"https://api.github.com/repos/randombit/botan/merges","archive_url":"https://api.github.com/repos/randombit/botan/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/randombit/botan/downloads","issues_url":"https://api.github.com/repos/randombit/botan/issues{/number}","pulls_url":"https://api.github.com/repos/randombit/botan/pulls{/number}","milestones_url":"https://api.github.com/repos/randombit/botan/milestones{/number}","notifications_url":"https://api.github.com/repos/randombit/botan/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/randombit/botan/labels{/name}","releases_url":"https://api.github.com/repos/randombit/botan/releases{/id}","created_at":"2013-03-06T16:51:39Z","updated_at":"2015-12-08T18:20:12Z","pushed_at":"2015-12-10T15:55:32Z","git_url":"git://github.com/randombit/botan.git","ssh_url":"git@github.com:randombit/botan.git","clone_url":"https://github.com/randombit/botan.git","svn_url":"https://github.com/randombit/botan","homepage":"http://botan.randombit.net","size":49270,"stargazers_count":200,"watchers_count":200,"language":"C++","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":60,"mirror_url":null,"open_issues_count":34,"forks":60,"open_issues":34,"watchers":200,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/randombit/botan/pulls/353"},"html":{"href":"https://github.com/randombit/botan/pull/353"},"issue":{"href":"https://api.github.com/repos/randombit/botan/issues/353"},"comments":{"href":"https://api.github.com/repos/randombit/botan/issues/353/comments"},"review_comments":{"href":"https://api.github.com/repos/randombit/botan/pulls/353/comments"},"review_comment":{"href":"https://api.github.com/repos/randombit/botan/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/randombit/botan/pulls/353/commits"},"statuses":{"href":"https://api.github.com/repos/randombit/botan/statuses/86630976bbb1442750177f4c3c392eab5c65db98"}},"merged":false,"mergeable":null,"mergeable_state":"unknown","merged_by":null,"comments":0,"review_comments":0,"commits":1,"additions":27,"deletions":2,"changed_files":1}}