{"action":"created","comment":{"url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/pulls/comments/62733754","id":62733754,"diff_hunk":"@@ -14,31 +14,47 @@ echo \"---------------------------------------------\"\n echo \"Running vagrant provisioning\"\n echo \"---------------------------------------------\"\n \n+# install heroku toolbelt\n+echo \"-------------- Installing heroku toolbelt -------------------------\"\n+#wget -O- https://toolbelt.heroku.com/install-ubuntu.sh | sh\n+# These shell script snippets are directly taken from heroku installation script\n+# We want to avoid the apt-get update\n+# add heroku repository to apt\n+echo \"deb http://toolbelt.heroku.com/ubuntu ./\" > /etc/apt/sources.list.d/heroku.list\n+# install heroku's release key for package verification\n+wget -O- https://toolbelt.heroku.com/apt/release.key | apt-key add -\n+\n echo \"------------- Updating packages and their dependencies -----------\"\n apt-get update -y # no need for sudo, and -y is needed to bypass the yes-no\n+\n+# install the toolbelt\n+apt-get install heroku-toolbelt --no-install-recommends -y\n+\n echo \"-------------- Installing build-essential and pip ----------------\"\n-apt-get install -y build-essential python-pip\n+# install gcc and g++ and other build basics to ensure most software works\n+# install man too\n+apt-get install build-essential python-pip man -y --no-install-recommends\n \n-# install heroku toolbelt\n-echo \"-------------- Installing heroku toolbelt -------------------------\"\n-wget -O- https://toolbelt.heroku.com/install-ubuntu.sh | sh\n+# needed for heroku toolbelt\n+# notice that this is not a rigorous Ruby install, where we typically use rvm\n+apt-get install ruby --no-install-recommends -y\n \n # install virtualenv and virtualenvwrapper\n echo \"--------------- Installing both virtualenv and virtualenvwrapper ---\"\n pip install virtualenvwrapper virtualenv\n \n # install postgresql and setup user\n echo \"--------------- Installing postgresql ------------------------------\"\n-apt-get install -y python-dev python3-dev libpq-dev postgresql postgresql-contrib\n+apt-get install python-dev python3-dev libpq-dev postgresql postgresql-contrib --no-install-recommends -y\n su - postgres -c \"createuser -s vagrant\"\n su - vagrant -c \"createdb ${DB}\"\n \n echo \"--------------- Preparing .bashrc for first usage ------------------\"\n # set up virtualenvwrapper\n echo WORKON_HOME=\"/home/vagrant/.virtualenvs\" >> /home/vagrant/.bashrc\n # activate virtualenvwrapper\n-echo \"source /usr/local/bin/virtualenvwrapper.sh\" >> /home/vagrant/.bashrc\n echo \"WORKON_HOME=\\\"/home/vagrant/.virtualenvs\\\"\" >> /home/vagrant/.bashrc\n+echo \"source /usr/local/bin/virtualenvwrapper.sh > /dev/null 2>&1\" >> /home/vagrant/.bashrc","path":"provision.sh","position":50,"original_position":50,"commit_id":"ce86594278663850cf9abc47323680d7fa18d972","original_commit_id":"ce86594278663850cf9abc47323680d7fa18d972","user":{"login":"byteknacker","id":10653912,"avatar_url":"https://avatars.githubusercontent.com/u/10653912?v=3","gravatar_id":"","url":"https://api.github.com/users/byteknacker","html_url":"https://github.com/byteknacker","followers_url":"https://api.github.com/users/byteknacker/followers","following_url":"https://api.github.com/users/byteknacker/following{/other_user}","gists_url":"https://api.github.com/users/byteknacker/gists{/gist_id}","starred_url":"https://api.github.com/users/byteknacker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/byteknacker/subscriptions","organizations_url":"https://api.github.com/users/byteknacker/orgs","repos_url":"https://api.github.com/users/byteknacker/repos","events_url":"https://api.github.com/users/byteknacker/events{/privacy}","received_events_url":"https://api.github.com/users/byteknacker/received_events","type":"User","site_admin":false},"body":"What does this line do? 57\r\n","created_at":"2016-05-10T19:12:55Z","updated_at":"2016-05-10T19:12:55Z","html_url":"https://github.com/byteknacker/fcc-python-vagrant/pull/10#discussion_r62733754","pull_request_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/pulls/10","_links":{"self":{"href":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/pulls/comments/62733754"},"html":{"href":"https://github.com/byteknacker/fcc-python-vagrant/pull/10#discussion_r62733754"},"pull_request":{"href":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/pulls/10"}}},"pull_request":{"url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/pulls/10","id":69559010,"html_url":"https://github.com/byteknacker/fcc-python-vagrant/pull/10","diff_url":"https://github.com/byteknacker/fcc-python-vagrant/pull/10.diff","patch_url":"https://github.com/byteknacker/fcc-python-vagrant/pull/10.patch","issue_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/issues/10","number":10,"state":"open","locked":false,"title":"Remove unnecessary updates, recommended packages","user":{"login":"alayek","id":5607371,"avatar_url":"https://avatars.githubusercontent.com/u/5607371?v=3","gravatar_id":"","url":"https://api.github.com/users/alayek","html_url":"https://github.com/alayek","followers_url":"https://api.github.com/users/alayek/followers","following_url":"https://api.github.com/users/alayek/following{/other_user}","gists_url":"https://api.github.com/users/alayek/gists{/gist_id}","starred_url":"https://api.github.com/users/alayek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alayek/subscriptions","organizations_url":"https://api.github.com/users/alayek/orgs","repos_url":"https://api.github.com/users/alayek/repos","events_url":"https://api.github.com/users/alayek/events{/privacy}","received_events_url":"https://api.github.com/users/alayek/received_events","type":"User","site_admin":false},"body":"Things changed in this PR\r\n\r\n- Expand on heroku install, to remove unnecessary `apt-get update`.\r\n- Add `--no-install-recommends` flag to not installed recommended packages\r\n- Add `man` install\r\n- Add test instructions on README\r\n\r\nI have tested on my Linux and Windows.","created_at":"2016-05-10T18:57:39Z","updated_at":"2016-05-10T19:12:55Z","closed_at":null,"merged_at":null,"merge_commit_sha":"4da12273f50c5029938294bec8a27e72320b1d45","assignee":{"login":"alayek","id":5607371,"avatar_url":"https://avatars.githubusercontent.com/u/5607371?v=3","gravatar_id":"","url":"https://api.github.com/users/alayek","html_url":"https://github.com/alayek","followers_url":"https://api.github.com/users/alayek/followers","following_url":"https://api.github.com/users/alayek/following{/other_user}","gists_url":"https://api.github.com/users/alayek/gists{/gist_id}","starred_url":"https://api.github.com/users/alayek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alayek/subscriptions","organizations_url":"https://api.github.com/users/alayek/orgs","repos_url":"https://api.github.com/users/alayek/repos","events_url":"https://api.github.com/users/alayek/events{/privacy}","received_events_url":"https://api.github.com/users/alayek/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/milestones/1","html_url":"https://github.com/byteknacker/fcc-python-vagrant/milestones/Version%200.1.0%20-%20MVP","labels_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/milestones/1/labels","id":1758609,"number":1,"title":"Version 0.1.0 - MVP","description":null,"creator":{"login":"byteknacker","id":10653912,"avatar_url":"https://avatars.githubusercontent.com/u/10653912?v=3","gravatar_id":"","url":"https://api.github.com/users/byteknacker","html_url":"https://github.com/byteknacker","followers_url":"https://api.github.com/users/byteknacker/followers","following_url":"https://api.github.com/users/byteknacker/following{/other_user}","gists_url":"https://api.github.com/users/byteknacker/gists{/gist_id}","starred_url":"https://api.github.com/users/byteknacker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/byteknacker/subscriptions","organizations_url":"https://api.github.com/users/byteknacker/orgs","repos_url":"https://api.github.com/users/byteknacker/repos","events_url":"https://api.github.com/users/byteknacker/events{/privacy}","received_events_url":"https://api.github.com/users/byteknacker/received_events","type":"User","site_admin":false},"open_issues":1,"closed_issues":0,"state":"open","created_at":"2016-05-10T19:05:05Z","updated_at":"2016-05-10T19:05:05Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/pulls/10/commits","review_comments_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/pulls/10/comments","review_comment_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/pulls/comments{/number}","comments_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/issues/10/comments","statuses_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/statuses/ce86594278663850cf9abc47323680d7fa18d972","head":{"label":"alayek:optimize-update","ref":"optimize-update","sha":"ce86594278663850cf9abc47323680d7fa18d972","user":{"login":"alayek","id":5607371,"avatar_url":"https://avatars.githubusercontent.com/u/5607371?v=3","gravatar_id":"","url":"https://api.github.com/users/alayek","html_url":"https://github.com/alayek","followers_url":"https://api.github.com/users/alayek/followers","following_url":"https://api.github.com/users/alayek/following{/other_user}","gists_url":"https://api.github.com/users/alayek/gists{/gist_id}","starred_url":"https://api.github.com/users/alayek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alayek/subscriptions","organizations_url":"https://api.github.com/users/alayek/orgs","repos_url":"https://api.github.com/users/alayek/repos","events_url":"https://api.github.com/users/alayek/events{/privacy}","received_events_url":"https://api.github.com/users/alayek/received_events","type":"User","site_admin":false},"repo":{"id":58480185,"name":"fcc-python-vagrant","full_name":"alayek/fcc-python-vagrant","owner":{"login":"alayek","id":5607371,"avatar_url":"https://avatars.githubusercontent.com/u/5607371?v=3","gravatar_id":"","url":"https://api.github.com/users/alayek","html_url":"https://github.com/alayek","followers_url":"https://api.github.com/users/alayek/followers","following_url":"https://api.github.com/users/alayek/following{/other_user}","gists_url":"https://api.github.com/users/alayek/gists{/gist_id}","starred_url":"https://api.github.com/users/alayek/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/alayek/subscriptions","organizations_url":"https://api.github.com/users/alayek/orgs","repos_url":"https://api.github.com/users/alayek/repos","events_url":"https://api.github.com/users/alayek/events{/privacy}","received_events_url":"https://api.github.com/users/alayek/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/alayek/fcc-python-vagrant","description":"Vagrant box development for FCC students who are learning Python","fork":true,"url":"https://api.github.com/repos/alayek/fcc-python-vagrant","forks_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/forks","keys_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/keys{/key_id}","collaborators_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/teams","hooks_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/hooks","issue_events_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/issues/events{/number}","events_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/events","assignees_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/assignees{/user}","branches_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/branches{/branch}","tags_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/tags","blobs_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/git/refs{/sha}","trees_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/git/trees{/sha}","statuses_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/statuses/{sha}","languages_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/languages","stargazers_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/stargazers","contributors_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/contributors","subscribers_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/subscribers","subscription_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/subscription","commits_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/commits{/sha}","git_commits_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/git/commits{/sha}","comments_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/comments{/number}","issue_comment_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/issues/comments{/number}","contents_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/contents/{+path}","compare_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/compare/{base}...{head}","merges_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/merges","archive_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/downloads","issues_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/issues{/number}","pulls_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/pulls{/number}","milestones_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/milestones{/number}","notifications_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/labels{/name}","releases_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/releases{/id}","deployments_url":"https://api.github.com/repos/alayek/fcc-python-vagrant/deployments","created_at":"2016-05-10T17:18:42Z","updated_at":"2016-05-10T17:18:43Z","pushed_at":"2016-05-10T18:55:11Z","git_url":"git://github.com/alayek/fcc-python-vagrant.git","ssh_url":"git@github.com:alayek/fcc-python-vagrant.git","clone_url":"https://github.com/alayek/fcc-python-vagrant.git","svn_url":"https://github.com/alayek/fcc-python-vagrant","homepage":null,"size":25,"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":"byteknacker:master","ref":"master","sha":"5b81c69bb1f9a92218c1527f9ab4d3dbda2c23f6","user":{"login":"byteknacker","id":10653912,"avatar_url":"https://avatars.githubusercontent.com/u/10653912?v=3","gravatar_id":"","url":"https://api.github.com/users/byteknacker","html_url":"https://github.com/byteknacker","followers_url":"https://api.github.com/users/byteknacker/followers","following_url":"https://api.github.com/users/byteknacker/following{/other_user}","gists_url":"https://api.github.com/users/byteknacker/gists{/gist_id}","starred_url":"https://api.github.com/users/byteknacker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/byteknacker/subscriptions","organizations_url":"https://api.github.com/users/byteknacker/orgs","repos_url":"https://api.github.com/users/byteknacker/repos","events_url":"https://api.github.com/users/byteknacker/events{/privacy}","received_events_url":"https://api.github.com/users/byteknacker/received_events","type":"User","site_admin":false},"repo":{"id":57364005,"name":"fcc-python-vagrant","full_name":"byteknacker/fcc-python-vagrant","owner":{"login":"byteknacker","id":10653912,"avatar_url":"https://avatars.githubusercontent.com/u/10653912?v=3","gravatar_id":"","url":"https://api.github.com/users/byteknacker","html_url":"https://github.com/byteknacker","followers_url":"https://api.github.com/users/byteknacker/followers","following_url":"https://api.github.com/users/byteknacker/following{/other_user}","gists_url":"https://api.github.com/users/byteknacker/gists{/gist_id}","starred_url":"https://api.github.com/users/byteknacker/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/byteknacker/subscriptions","organizations_url":"https://api.github.com/users/byteknacker/orgs","repos_url":"https://api.github.com/users/byteknacker/repos","events_url":"https://api.github.com/users/byteknacker/events{/privacy}","received_events_url":"https://api.github.com/users/byteknacker/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/byteknacker/fcc-python-vagrant","description":"Vagrant box development for FCC students who are learning Python","fork":false,"url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant","forks_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/forks","keys_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/keys{/key_id}","collaborators_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/teams","hooks_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/hooks","issue_events_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/issues/events{/number}","events_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/events","assignees_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/assignees{/user}","branches_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/branches{/branch}","tags_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/tags","blobs_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/git/refs{/sha}","trees_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/git/trees{/sha}","statuses_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/statuses/{sha}","languages_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/languages","stargazers_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/stargazers","contributors_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/contributors","subscribers_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/subscribers","subscription_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/subscription","commits_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/commits{/sha}","git_commits_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/git/commits{/sha}","comments_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/comments{/number}","issue_comment_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/issues/comments{/number}","contents_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/contents/{+path}","compare_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/compare/{base}...{head}","merges_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/merges","archive_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/downloads","issues_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/issues{/number}","pulls_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/pulls{/number}","milestones_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/milestones{/number}","notifications_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/labels{/name}","releases_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/releases{/id}","deployments_url":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/deployments","created_at":"2016-04-29T07:19:17Z","updated_at":"2016-05-02T17:25:50Z","pushed_at":"2016-05-10T18:57:40Z","git_url":"git://github.com/byteknacker/fcc-python-vagrant.git","ssh_url":"git@github.com:byteknacker/fcc-python-vagrant.git","clone_url":"https://github.com/byteknacker/fcc-python-vagrant.git","svn_url":"https://github.com/byteknacker/fcc-python-vagrant","homepage":null,"size":28,"stargazers_count":5,"watchers_count":5,"language":"Python","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":2,"mirror_url":null,"open_issues_count":2,"forks":2,"open_issues":2,"watchers":5,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/pulls/10"},"html":{"href":"https://github.com/byteknacker/fcc-python-vagrant/pull/10"},"issue":{"href":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/issues/10"},"comments":{"href":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/issues/10/comments"},"review_comments":{"href":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/pulls/10/comments"},"review_comment":{"href":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/pulls/10/commits"},"statuses":{"href":"https://api.github.com/repos/byteknacker/fcc-python-vagrant/statuses/ce86594278663850cf9abc47323680d7fa18d972"}}}}