{"action":"created","comment":{"url":"https://api.github.com/repos/letsencrypt/letsencrypt/pulls/comments/43556714","id":43556714,"diff_hunk":"@@ -20,11 +20,15 @@ $tool install -y \\\n   git-core \\\n   python \\\n   python-devel \\\n-  python-virtualenv \\\n-  python-devel \\\n+  python-setuptools \\\n   gcc \\\n   dialog \\\n   augeas-libs \\\n   openssl-devel \\\n   libffi-devel \\\n   ca-certificates \\\n+\n+if ! $tool install -y python-virtualenv ; then\n+    easy_install pip\n+    pip install virtualenv","path":"bootstrap/_rpm_common.sh","position":16,"original_position":16,"commit_id":"9091e788913ff90453b1a1741e3fe42ae597e60b","original_commit_id":"9091e788913ff90453b1a1741e3fe42ae597e60b","user":{"login":"kuba","id":106176,"avatar_url":"https://avatars.githubusercontent.com/u/106176?v=3","gravatar_id":"","url":"https://api.github.com/users/kuba","html_url":"https://github.com/kuba","followers_url":"https://api.github.com/users/kuba/followers","following_url":"https://api.github.com/users/kuba/following{/other_user}","gists_url":"https://api.github.com/users/kuba/gists{/gist_id}","starred_url":"https://api.github.com/users/kuba/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kuba/subscriptions","organizations_url":"https://api.github.com/users/kuba/orgs","repos_url":"https://api.github.com/users/kuba/repos","events_url":"https://api.github.com/users/kuba/events{/privacy}","received_events_url":"https://api.github.com/users/kuba/received_events","type":"User","site_admin":false},"body":"Nope, we don't want to `sudo pip install` or `sudo easy_install` - that pollutes system space :(","created_at":"2015-10-30T21:55:10Z","updated_at":"2015-10-30T21:55:10Z","html_url":"https://github.com/letsencrypt/letsencrypt/pull/1232#discussion_r43556714","pull_request_url":"https://api.github.com/repos/letsencrypt/letsencrypt/pulls/1232","_links":{"self":{"href":"https://api.github.com/repos/letsencrypt/letsencrypt/pulls/comments/43556714"},"html":{"href":"https://github.com/letsencrypt/letsencrypt/pull/1232#discussion_r43556714"},"pull_request":{"href":"https://api.github.com/repos/letsencrypt/letsencrypt/pulls/1232"}}},"pull_request":{"url":"https://api.github.com/repos/letsencrypt/letsencrypt/pulls/1232","id":49326844,"html_url":"https://github.com/letsencrypt/letsencrypt/pull/1232","diff_url":"https://github.com/letsencrypt/letsencrypt/pull/1232.diff","patch_url":"https://github.com/letsencrypt/letsencrypt/pull/1232.patch","issue_url":"https://api.github.com/repos/letsencrypt/letsencrypt/issues/1232","number":1232,"state":"open","locked":false,"title":"Bootstrap CentOS 6 Compatibility Improvement","user":{"login":"devnsec-com","id":13988546,"avatar_url":"https://avatars.githubusercontent.com/u/13988546?v=3","gravatar_id":"","url":"https://api.github.com/users/devnsec-com","html_url":"https://github.com/devnsec-com","followers_url":"https://api.github.com/users/devnsec-com/followers","following_url":"https://api.github.com/users/devnsec-com/following{/other_user}","gists_url":"https://api.github.com/users/devnsec-com/gists{/gist_id}","starred_url":"https://api.github.com/users/devnsec-com/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/devnsec-com/subscriptions","organizations_url":"https://api.github.com/users/devnsec-com/orgs","repos_url":"https://api.github.com/users/devnsec-com/repos","events_url":"https://api.github.com/users/devnsec-com/events{/privacy}","received_events_url":"https://api.github.com/users/devnsec-com/received_events","type":"User","site_admin":false},"body":"Fix #1204 missing `virtualenv` issue, now the bootstrap will try to install `python-virtualenv` via `yum` or `dnf` first, and then try to use `pip install virtualenv` if previous attempt failed.\r\n\r\nAlso removed duplicates `python-devel`. Have two `python-devel` in the `yum install` or `dnf install` packages list make no sense.","created_at":"2015-10-30T21:53:14Z","updated_at":"2015-10-30T21:55:10Z","closed_at":null,"merged_at":null,"merge_commit_sha":"a8830ce3c2f40f76245271feef245bcb287d2458","assignee":null,"milestone":null,"commits_url":"https://api.github.com/repos/letsencrypt/letsencrypt/pulls/1232/commits","review_comments_url":"https://api.github.com/repos/letsencrypt/letsencrypt/pulls/1232/comments","review_comment_url":"https://api.github.com/repos/letsencrypt/letsencrypt/pulls/comments{/number}","comments_url":"https://api.github.com/repos/letsencrypt/letsencrypt/issues/1232/comments","statuses_url":"https://api.github.com/repos/letsencrypt/letsencrypt/statuses/9091e788913ff90453b1a1741e3fe42ae597e60b","head":{"label":"devnsec-com:pr4","ref":"pr4","sha":"9091e788913ff90453b1a1741e3fe42ae597e60b","user":{"login":"devnsec-com","id":13988546,"avatar_url":"https://avatars.githubusercontent.com/u/13988546?v=3","gravatar_id":"","url":"https://api.github.com/users/devnsec-com","html_url":"https://github.com/devnsec-com","followers_url":"https://api.github.com/users/devnsec-com/followers","following_url":"https://api.github.com/users/devnsec-com/following{/other_user}","gists_url":"https://api.github.com/users/devnsec-com/gists{/gist_id}","starred_url":"https://api.github.com/users/devnsec-com/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/devnsec-com/subscriptions","organizations_url":"https://api.github.com/users/devnsec-com/orgs","repos_url":"https://api.github.com/users/devnsec-com/repos","events_url":"https://api.github.com/users/devnsec-com/events{/privacy}","received_events_url":"https://api.github.com/users/devnsec-com/received_events","type":"User","site_admin":false},"repo":{"id":44882142,"name":"letsencrypt","full_name":"devnsec-com/letsencrypt","owner":{"login":"devnsec-com","id":13988546,"avatar_url":"https://avatars.githubusercontent.com/u/13988546?v=3","gravatar_id":"","url":"https://api.github.com/users/devnsec-com","html_url":"https://github.com/devnsec-com","followers_url":"https://api.github.com/users/devnsec-com/followers","following_url":"https://api.github.com/users/devnsec-com/following{/other_user}","gists_url":"https://api.github.com/users/devnsec-com/gists{/gist_id}","starred_url":"https://api.github.com/users/devnsec-com/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/devnsec-com/subscriptions","organizations_url":"https://api.github.com/users/devnsec-com/orgs","repos_url":"https://api.github.com/users/devnsec-com/repos","events_url":"https://api.github.com/users/devnsec-com/events{/privacy}","received_events_url":"https://api.github.com/users/devnsec-com/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/devnsec-com/letsencrypt","description":"An ACME client that can obtain certs and extensibly update server configurations (currently supports Apache on .deb based systems, nginx support coming soon)","fork":true,"url":"https://api.github.com/repos/devnsec-com/letsencrypt","forks_url":"https://api.github.com/repos/devnsec-com/letsencrypt/forks","keys_url":"https://api.github.com/repos/devnsec-com/letsencrypt/keys{/key_id}","collaborators_url":"https://api.github.com/repos/devnsec-com/letsencrypt/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/devnsec-com/letsencrypt/teams","hooks_url":"https://api.github.com/repos/devnsec-com/letsencrypt/hooks","issue_events_url":"https://api.github.com/repos/devnsec-com/letsencrypt/issues/events{/number}","events_url":"https://api.github.com/repos/devnsec-com/letsencrypt/events","assignees_url":"https://api.github.com/repos/devnsec-com/letsencrypt/assignees{/user}","branches_url":"https://api.github.com/repos/devnsec-com/letsencrypt/branches{/branch}","tags_url":"https://api.github.com/repos/devnsec-com/letsencrypt/tags","blobs_url":"https://api.github.com/repos/devnsec-com/letsencrypt/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/devnsec-com/letsencrypt/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/devnsec-com/letsencrypt/git/refs{/sha}","trees_url":"https://api.github.com/repos/devnsec-com/letsencrypt/git/trees{/sha}","statuses_url":"https://api.github.com/repos/devnsec-com/letsencrypt/statuses/{sha}","languages_url":"https://api.github.com/repos/devnsec-com/letsencrypt/languages","stargazers_url":"https://api.github.com/repos/devnsec-com/letsencrypt/stargazers","contributors_url":"https://api.github.com/repos/devnsec-com/letsencrypt/contributors","subscribers_url":"https://api.github.com/repos/devnsec-com/letsencrypt/subscribers","subscription_url":"https://api.github.com/repos/devnsec-com/letsencrypt/subscription","commits_url":"https://api.github.com/repos/devnsec-com/letsencrypt/commits{/sha}","git_commits_url":"https://api.github.com/repos/devnsec-com/letsencrypt/git/commits{/sha}","comments_url":"https://api.github.com/repos/devnsec-com/letsencrypt/comments{/number}","issue_comment_url":"https://api.github.com/repos/devnsec-com/letsencrypt/issues/comments{/number}","contents_url":"https://api.github.com/repos/devnsec-com/letsencrypt/contents/{+path}","compare_url":"https://api.github.com/repos/devnsec-com/letsencrypt/compare/{base}...{head}","merges_url":"https://api.github.com/repos/devnsec-com/letsencrypt/merges","archive_url":"https://api.github.com/repos/devnsec-com/letsencrypt/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/devnsec-com/letsencrypt/downloads","issues_url":"https://api.github.com/repos/devnsec-com/letsencrypt/issues{/number}","pulls_url":"https://api.github.com/repos/devnsec-com/letsencrypt/pulls{/number}","milestones_url":"https://api.github.com/repos/devnsec-com/letsencrypt/milestones{/number}","notifications_url":"https://api.github.com/repos/devnsec-com/letsencrypt/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/devnsec-com/letsencrypt/labels{/name}","releases_url":"https://api.github.com/repos/devnsec-com/letsencrypt/releases{/id}","created_at":"2015-10-24T19:52:06Z","updated_at":"2015-10-24T19:52:08Z","pushed_at":"2015-10-30T21:44:49Z","git_url":"git://github.com/devnsec-com/letsencrypt.git","ssh_url":"git@github.com:devnsec-com/letsencrypt.git","clone_url":"https://github.com/devnsec-com/letsencrypt.git","svn_url":"https://github.com/devnsec-com/letsencrypt","homepage":"","size":5918,"stargazers_count":0,"watchers_count":0,"language":"Python","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":"master"}},"base":{"label":"letsencrypt:master","ref":"master","sha":"4998f329a5273bd4bcdfc65bd32dfead48ff8e00","user":{"login":"letsencrypt","id":9289019,"avatar_url":"https://avatars.githubusercontent.com/u/9289019?v=3","gravatar_id":"","url":"https://api.github.com/users/letsencrypt","html_url":"https://github.com/letsencrypt","followers_url":"https://api.github.com/users/letsencrypt/followers","following_url":"https://api.github.com/users/letsencrypt/following{/other_user}","gists_url":"https://api.github.com/users/letsencrypt/gists{/gist_id}","starred_url":"https://api.github.com/users/letsencrypt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/letsencrypt/subscriptions","organizations_url":"https://api.github.com/users/letsencrypt/orgs","repos_url":"https://api.github.com/users/letsencrypt/repos","events_url":"https://api.github.com/users/letsencrypt/events{/privacy}","received_events_url":"https://api.github.com/users/letsencrypt/received_events","type":"Organization","site_admin":false},"repo":{"id":26516210,"name":"letsencrypt","full_name":"letsencrypt/letsencrypt","owner":{"login":"letsencrypt","id":9289019,"avatar_url":"https://avatars.githubusercontent.com/u/9289019?v=3","gravatar_id":"","url":"https://api.github.com/users/letsencrypt","html_url":"https://github.com/letsencrypt","followers_url":"https://api.github.com/users/letsencrypt/followers","following_url":"https://api.github.com/users/letsencrypt/following{/other_user}","gists_url":"https://api.github.com/users/letsencrypt/gists{/gist_id}","starred_url":"https://api.github.com/users/letsencrypt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/letsencrypt/subscriptions","organizations_url":"https://api.github.com/users/letsencrypt/orgs","repos_url":"https://api.github.com/users/letsencrypt/repos","events_url":"https://api.github.com/users/letsencrypt/events{/privacy}","received_events_url":"https://api.github.com/users/letsencrypt/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/letsencrypt/letsencrypt","description":"An ACME client that can obtain certs and extensibly update server configurations (currently supports Apache on .deb based systems, nginx support coming soon)","fork":false,"url":"https://api.github.com/repos/letsencrypt/letsencrypt","forks_url":"https://api.github.com/repos/letsencrypt/letsencrypt/forks","keys_url":"https://api.github.com/repos/letsencrypt/letsencrypt/keys{/key_id}","collaborators_url":"https://api.github.com/repos/letsencrypt/letsencrypt/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/letsencrypt/letsencrypt/teams","hooks_url":"https://api.github.com/repos/letsencrypt/letsencrypt/hooks","issue_events_url":"https://api.github.com/repos/letsencrypt/letsencrypt/issues/events{/number}","events_url":"https://api.github.com/repos/letsencrypt/letsencrypt/events","assignees_url":"https://api.github.com/repos/letsencrypt/letsencrypt/assignees{/user}","branches_url":"https://api.github.com/repos/letsencrypt/letsencrypt/branches{/branch}","tags_url":"https://api.github.com/repos/letsencrypt/letsencrypt/tags","blobs_url":"https://api.github.com/repos/letsencrypt/letsencrypt/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/letsencrypt/letsencrypt/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/letsencrypt/letsencrypt/git/refs{/sha}","trees_url":"https://api.github.com/repos/letsencrypt/letsencrypt/git/trees{/sha}","statuses_url":"https://api.github.com/repos/letsencrypt/letsencrypt/statuses/{sha}","languages_url":"https://api.github.com/repos/letsencrypt/letsencrypt/languages","stargazers_url":"https://api.github.com/repos/letsencrypt/letsencrypt/stargazers","contributors_url":"https://api.github.com/repos/letsencrypt/letsencrypt/contributors","subscribers_url":"https://api.github.com/repos/letsencrypt/letsencrypt/subscribers","subscription_url":"https://api.github.com/repos/letsencrypt/letsencrypt/subscription","commits_url":"https://api.github.com/repos/letsencrypt/letsencrypt/commits{/sha}","git_commits_url":"https://api.github.com/repos/letsencrypt/letsencrypt/git/commits{/sha}","comments_url":"https://api.github.com/repos/letsencrypt/letsencrypt/comments{/number}","issue_comment_url":"https://api.github.com/repos/letsencrypt/letsencrypt/issues/comments{/number}","contents_url":"https://api.github.com/repos/letsencrypt/letsencrypt/contents/{+path}","compare_url":"https://api.github.com/repos/letsencrypt/letsencrypt/compare/{base}...{head}","merges_url":"https://api.github.com/repos/letsencrypt/letsencrypt/merges","archive_url":"https://api.github.com/repos/letsencrypt/letsencrypt/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/letsencrypt/letsencrypt/downloads","issues_url":"https://api.github.com/repos/letsencrypt/letsencrypt/issues{/number}","pulls_url":"https://api.github.com/repos/letsencrypt/letsencrypt/pulls{/number}","milestones_url":"https://api.github.com/repos/letsencrypt/letsencrypt/milestones{/number}","notifications_url":"https://api.github.com/repos/letsencrypt/letsencrypt/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/letsencrypt/letsencrypt/labels{/name}","releases_url":"https://api.github.com/repos/letsencrypt/letsencrypt/releases{/id}","created_at":"2014-11-12T02:52:20Z","updated_at":"2015-10-30T21:50:03Z","pushed_at":"2015-10-30T21:53:14Z","git_url":"git://github.com/letsencrypt/letsencrypt.git","ssh_url":"git@github.com:letsencrypt/letsencrypt.git","clone_url":"https://github.com/letsencrypt/letsencrypt.git","svn_url":"https://github.com/letsencrypt/letsencrypt","homepage":"","size":17893,"stargazers_count":5639,"watchers_count":5639,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":398,"mirror_url":null,"open_issues_count":218,"forks":398,"open_issues":218,"watchers":5639,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/letsencrypt/letsencrypt/pulls/1232"},"html":{"href":"https://github.com/letsencrypt/letsencrypt/pull/1232"},"issue":{"href":"https://api.github.com/repos/letsencrypt/letsencrypt/issues/1232"},"comments":{"href":"https://api.github.com/repos/letsencrypt/letsencrypt/issues/1232/comments"},"review_comments":{"href":"https://api.github.com/repos/letsencrypt/letsencrypt/pulls/1232/comments"},"review_comment":{"href":"https://api.github.com/repos/letsencrypt/letsencrypt/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/letsencrypt/letsencrypt/pulls/1232/commits"},"statuses":{"href":"https://api.github.com/repos/letsencrypt/letsencrypt/statuses/9091e788913ff90453b1a1741e3fe42ae597e60b"}}}}