{"action":"created","comment":{"url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/comments/60365367","id":60365367,"diff_hunk":"@@ -4,23 +4,43 @@\n all:\n \n # set undefined variables\n-RIOTBASE ?= $(shell dirname \"$(lastword $(MAKEFILE_LIST))\")\n-RIOTBASE := $(abspath $(RIOTBASE))\n-\n-CCACHE_BASEDIR := $(RIOTBASE)\n-\n-RIOTCPU ?= $(RIOTBASE)/cpu\n-RIOTCPU := $(abspath $(RIOTCPU))\n-\n-RIOTBOARD ?= $(RIOTBASE)/boards\n-RIOTBOARD := $(abspath $(RIOTBOARD))\n-\n-RIOTPKG ?= $(RIOTBASE)/pkg\n+RIOTBASE       ?= $(dir $(lastword $(MAKEFILE_LIST)))\n+CCACHE_BASEDIR ?= $(RIOTBASE)\n+RIOTCPU        ?= $(RIOTBASE)/cpu\n+RIOTBOARD      ?= $(RIOTBASE)/boards\n+RIOTPKG        ?= $(RIOTBASE)/pkg\n+RIOTPROJECT    ?= $(shell git rev-parse --show-toplevel 2>/dev/null || pwd)\n+GITCACHE       ?= $(RIOTBASE)/dist/tools/git/git-cache\n+APPDIR         ?= $(CURDIR)\n+BINDIRBASE     ?= $(APPDIR)/bin\n+BINDIR         ?= $(BINDIRBASE)/$(BOARD)\n+\n+__DIRECTORY_VARIABLES := RIOTBASE CCACHE_BASEDIR RIOTCPU RIOTBOARD RIOTPKG GITCACHE RIOTPROJECT APPDIR BINDIRBASE BINDIR\n+\n+# Ensure that all directories are set and don't contain spaces.\n+ifneq (, $(filter-out 1, $(foreach v,${__DIRECTORY_VARIABLES},$(words ${${v}}))))\n+  $(info Aborting compilation for your safety.)\n+  $(info Related variables = ${__DIRECTORY_VARIABLES})\n+  $(error Make sure no path override is empty or contains spaces!)","path":"Makefile.include","position":33,"original_position":33,"commit_id":"32d51e8eff34f84c560be1ca98da4ac7f2e48932","original_commit_id":"32d51e8eff34f84c560be1ca98da4ac7f2e48932","user":{"login":"cgundogan","id":739129,"avatar_url":"https://avatars.githubusercontent.com/u/739129?v=3","gravatar_id":"","url":"https://api.github.com/users/cgundogan","html_url":"https://github.com/cgundogan","followers_url":"https://api.github.com/users/cgundogan/followers","following_url":"https://api.github.com/users/cgundogan/following{/other_user}","gists_url":"https://api.github.com/users/cgundogan/gists{/gist_id}","starred_url":"https://api.github.com/users/cgundogan/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/cgundogan/subscriptions","organizations_url":"https://api.github.com/users/cgundogan/orgs","repos_url":"https://api.github.com/users/cgundogan/repos","events_url":"https://api.github.com/users/cgundogan/events{/privacy}","received_events_url":"https://api.github.com/users/cgundogan/received_events","type":"User","site_admin":false},"body":"@Kijewski I am just wondering: would it be \"safer\" if this check is done **after** making all paths absolute below?","created_at":"2016-04-20T08:04:23Z","updated_at":"2016-04-20T08:04:23Z","html_url":"https://github.com/RIOT-OS/RIOT/pull/5221#discussion_r60365367","pull_request_url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/5221","_links":{"self":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/comments/60365367"},"html":{"href":"https://github.com/RIOT-OS/RIOT/pull/5221#discussion_r60365367"},"pull_request":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/5221"}}},"pull_request":{"url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/5221","id":64873417,"html_url":"https://github.com/RIOT-OS/RIOT/pull/5221","diff_url":"https://github.com/RIOT-OS/RIOT/pull/5221.diff","patch_url":"https://github.com/RIOT-OS/RIOT/pull/5221.patch","issue_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/5221","number":5221,"state":"open","locked":false,"title":"make: bail out if there are spaces in the path","user":{"login":"Kijewski","id":136776,"avatar_url":"https://avatars.githubusercontent.com/u/136776?v=3","gravatar_id":"","url":"https://api.github.com/users/Kijewski","html_url":"https://github.com/Kijewski","followers_url":"https://api.github.com/users/Kijewski/followers","following_url":"https://api.github.com/users/Kijewski/following{/other_user}","gists_url":"https://api.github.com/users/Kijewski/gists{/gist_id}","starred_url":"https://api.github.com/users/Kijewski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Kijewski/subscriptions","organizations_url":"https://api.github.com/users/Kijewski/orgs","repos_url":"https://api.github.com/users/Kijewski/repos","events_url":"https://api.github.com/users/Kijewski/events{/privacy}","received_events_url":"https://api.github.com/users/Kijewski/received_events","type":"User","site_admin":false},"body":"If we use `rm -r(f)` then we should make sure that we don't delete random directory trees because there was a whitespace in the path.\r\n\r\nRelated story: [“In A UEFI World, \"rm -rf /\" Can Brick Your System”](https://www.phoronix.com/scan.php?page=news_item&px=UEFI-rm-root-directory).","created_at":"2016-03-31T23:07:11Z","updated_at":"2016-04-20T08:04:23Z","closed_at":null,"merged_at":null,"merge_commit_sha":"6fef22a9ee1f3319d37178df9d8ad3b94ea3f8b1","assignee":{"login":"kaspar030","id":4679640,"avatar_url":"https://avatars.githubusercontent.com/u/4679640?v=3","gravatar_id":"","url":"https://api.github.com/users/kaspar030","html_url":"https://github.com/kaspar030","followers_url":"https://api.github.com/users/kaspar030/followers","following_url":"https://api.github.com/users/kaspar030/following{/other_user}","gists_url":"https://api.github.com/users/kaspar030/gists{/gist_id}","starred_url":"https://api.github.com/users/kaspar030/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/kaspar030/subscriptions","organizations_url":"https://api.github.com/users/kaspar030/orgs","repos_url":"https://api.github.com/users/kaspar030/repos","events_url":"https://api.github.com/users/kaspar030/events{/privacy}","received_events_url":"https://api.github.com/users/kaspar030/received_events","type":"User","site_admin":false},"milestone":{"url":"https://api.github.com/repos/RIOT-OS/RIOT/milestones/13","html_url":"https://github.com/RIOT-OS/RIOT/milestones/Release%202016.04","labels_url":"https://api.github.com/repos/RIOT-OS/RIOT/milestones/13/labels","id":1447832,"number":13,"title":"Release 2016.04","description":"The next major release.","creator":{"login":"OlegHahm","id":1590423,"avatar_url":"https://avatars.githubusercontent.com/u/1590423?v=3","gravatar_id":"","url":"https://api.github.com/users/OlegHahm","html_url":"https://github.com/OlegHahm","followers_url":"https://api.github.com/users/OlegHahm/followers","following_url":"https://api.github.com/users/OlegHahm/following{/other_user}","gists_url":"https://api.github.com/users/OlegHahm/gists{/gist_id}","starred_url":"https://api.github.com/users/OlegHahm/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OlegHahm/subscriptions","organizations_url":"https://api.github.com/users/OlegHahm/orgs","repos_url":"https://api.github.com/users/OlegHahm/repos","events_url":"https://api.github.com/users/OlegHahm/events{/privacy}","received_events_url":"https://api.github.com/users/OlegHahm/received_events","type":"User","site_admin":false},"open_issues":47,"closed_issues":491,"state":"open","created_at":"2015-12-07T14:56:18Z","updated_at":"2016-04-20T06:45:09Z","due_on":"2016-04-14T22:00:00Z","closed_at":null},"commits_url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/5221/commits","review_comments_url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/5221/comments","review_comment_url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/comments{/number}","comments_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/5221/comments","statuses_url":"https://api.github.com/repos/RIOT-OS/RIOT/statuses/32d51e8eff34f84c560be1ca98da4ac7f2e48932","head":{"label":"Kijewski:rm-rf-safe","ref":"rm-rf-safe","sha":"32d51e8eff34f84c560be1ca98da4ac7f2e48932","user":{"login":"Kijewski","id":136776,"avatar_url":"https://avatars.githubusercontent.com/u/136776?v=3","gravatar_id":"","url":"https://api.github.com/users/Kijewski","html_url":"https://github.com/Kijewski","followers_url":"https://api.github.com/users/Kijewski/followers","following_url":"https://api.github.com/users/Kijewski/following{/other_user}","gists_url":"https://api.github.com/users/Kijewski/gists{/gist_id}","starred_url":"https://api.github.com/users/Kijewski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Kijewski/subscriptions","organizations_url":"https://api.github.com/users/Kijewski/orgs","repos_url":"https://api.github.com/users/Kijewski/repos","events_url":"https://api.github.com/users/Kijewski/events{/privacy}","received_events_url":"https://api.github.com/users/Kijewski/received_events","type":"User","site_admin":false},"repo":{"id":10765176,"name":"RIOT","full_name":"Kijewski/RIOT","owner":{"login":"Kijewski","id":136776,"avatar_url":"https://avatars.githubusercontent.com/u/136776?v=3","gravatar_id":"","url":"https://api.github.com/users/Kijewski","html_url":"https://github.com/Kijewski","followers_url":"https://api.github.com/users/Kijewski/followers","following_url":"https://api.github.com/users/Kijewski/following{/other_user}","gists_url":"https://api.github.com/users/Kijewski/gists{/gist_id}","starred_url":"https://api.github.com/users/Kijewski/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Kijewski/subscriptions","organizations_url":"https://api.github.com/users/Kijewski/orgs","repos_url":"https://api.github.com/users/Kijewski/repos","events_url":"https://api.github.com/users/Kijewski/events{/privacy}","received_events_url":"https://api.github.com/users/Kijewski/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/Kijewski/RIOT","description":"RIOT OS -  The revolutionary IoT OS","fork":true,"url":"https://api.github.com/repos/Kijewski/RIOT","forks_url":"https://api.github.com/repos/Kijewski/RIOT/forks","keys_url":"https://api.github.com/repos/Kijewski/RIOT/keys{/key_id}","collaborators_url":"https://api.github.com/repos/Kijewski/RIOT/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/Kijewski/RIOT/teams","hooks_url":"https://api.github.com/repos/Kijewski/RIOT/hooks","issue_events_url":"https://api.github.com/repos/Kijewski/RIOT/issues/events{/number}","events_url":"https://api.github.com/repos/Kijewski/RIOT/events","assignees_url":"https://api.github.com/repos/Kijewski/RIOT/assignees{/user}","branches_url":"https://api.github.com/repos/Kijewski/RIOT/branches{/branch}","tags_url":"https://api.github.com/repos/Kijewski/RIOT/tags","blobs_url":"https://api.github.com/repos/Kijewski/RIOT/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/Kijewski/RIOT/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/Kijewski/RIOT/git/refs{/sha}","trees_url":"https://api.github.com/repos/Kijewski/RIOT/git/trees{/sha}","statuses_url":"https://api.github.com/repos/Kijewski/RIOT/statuses/{sha}","languages_url":"https://api.github.com/repos/Kijewski/RIOT/languages","stargazers_url":"https://api.github.com/repos/Kijewski/RIOT/stargazers","contributors_url":"https://api.github.com/repos/Kijewski/RIOT/contributors","subscribers_url":"https://api.github.com/repos/Kijewski/RIOT/subscribers","subscription_url":"https://api.github.com/repos/Kijewski/RIOT/subscription","commits_url":"https://api.github.com/repos/Kijewski/RIOT/commits{/sha}","git_commits_url":"https://api.github.com/repos/Kijewski/RIOT/git/commits{/sha}","comments_url":"https://api.github.com/repos/Kijewski/RIOT/comments{/number}","issue_comment_url":"https://api.github.com/repos/Kijewski/RIOT/issues/comments{/number}","contents_url":"https://api.github.com/repos/Kijewski/RIOT/contents/{+path}","compare_url":"https://api.github.com/repos/Kijewski/RIOT/compare/{base}...{head}","merges_url":"https://api.github.com/repos/Kijewski/RIOT/merges","archive_url":"https://api.github.com/repos/Kijewski/RIOT/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/Kijewski/RIOT/downloads","issues_url":"https://api.github.com/repos/Kijewski/RIOT/issues{/number}","pulls_url":"https://api.github.com/repos/Kijewski/RIOT/pulls{/number}","milestones_url":"https://api.github.com/repos/Kijewski/RIOT/milestones{/number}","notifications_url":"https://api.github.com/repos/Kijewski/RIOT/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/Kijewski/RIOT/labels{/name}","releases_url":"https://api.github.com/repos/Kijewski/RIOT/releases{/id}","deployments_url":"https://api.github.com/repos/Kijewski/RIOT/deployments","created_at":"2013-06-18T14:25:14Z","updated_at":"2014-12-11T21:14:01Z","pushed_at":"2016-04-18T22:38:00Z","git_url":"git://github.com/Kijewski/RIOT.git","ssh_url":"git@github.com:Kijewski/RIOT.git","clone_url":"https://github.com/Kijewski/RIOT.git","svn_url":"https://github.com/Kijewski/RIOT","homepage":"https://github.com/RIOT-OS/RIOT/wiki","size":27590,"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":"master"}},"base":{"label":"RIOT-OS:master","ref":"master","sha":"7b8e2d523112a8bf01c4c3cce910dccd715b685d","user":{"login":"RIOT-OS","id":3079480,"avatar_url":"https://avatars.githubusercontent.com/u/3079480?v=3","gravatar_id":"","url":"https://api.github.com/users/RIOT-OS","html_url":"https://github.com/RIOT-OS","followers_url":"https://api.github.com/users/RIOT-OS/followers","following_url":"https://api.github.com/users/RIOT-OS/following{/other_user}","gists_url":"https://api.github.com/users/RIOT-OS/gists{/gist_id}","starred_url":"https://api.github.com/users/RIOT-OS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RIOT-OS/subscriptions","organizations_url":"https://api.github.com/users/RIOT-OS/orgs","repos_url":"https://api.github.com/users/RIOT-OS/repos","events_url":"https://api.github.com/users/RIOT-OS/events{/privacy}","received_events_url":"https://api.github.com/users/RIOT-OS/received_events","type":"Organization","site_admin":false},"repo":{"id":7370241,"name":"RIOT","full_name":"RIOT-OS/RIOT","owner":{"login":"RIOT-OS","id":3079480,"avatar_url":"https://avatars.githubusercontent.com/u/3079480?v=3","gravatar_id":"","url":"https://api.github.com/users/RIOT-OS","html_url":"https://github.com/RIOT-OS","followers_url":"https://api.github.com/users/RIOT-OS/followers","following_url":"https://api.github.com/users/RIOT-OS/following{/other_user}","gists_url":"https://api.github.com/users/RIOT-OS/gists{/gist_id}","starred_url":"https://api.github.com/users/RIOT-OS/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/RIOT-OS/subscriptions","organizations_url":"https://api.github.com/users/RIOT-OS/orgs","repos_url":"https://api.github.com/users/RIOT-OS/repos","events_url":"https://api.github.com/users/RIOT-OS/events{/privacy}","received_events_url":"https://api.github.com/users/RIOT-OS/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/RIOT-OS/RIOT","description":"RIOT -  The friendly OS for IoT","fork":false,"url":"https://api.github.com/repos/RIOT-OS/RIOT","forks_url":"https://api.github.com/repos/RIOT-OS/RIOT/forks","keys_url":"https://api.github.com/repos/RIOT-OS/RIOT/keys{/key_id}","collaborators_url":"https://api.github.com/repos/RIOT-OS/RIOT/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/RIOT-OS/RIOT/teams","hooks_url":"https://api.github.com/repos/RIOT-OS/RIOT/hooks","issue_events_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/events{/number}","events_url":"https://api.github.com/repos/RIOT-OS/RIOT/events","assignees_url":"https://api.github.com/repos/RIOT-OS/RIOT/assignees{/user}","branches_url":"https://api.github.com/repos/RIOT-OS/RIOT/branches{/branch}","tags_url":"https://api.github.com/repos/RIOT-OS/RIOT/tags","blobs_url":"https://api.github.com/repos/RIOT-OS/RIOT/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/RIOT-OS/RIOT/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/RIOT-OS/RIOT/git/refs{/sha}","trees_url":"https://api.github.com/repos/RIOT-OS/RIOT/git/trees{/sha}","statuses_url":"https://api.github.com/repos/RIOT-OS/RIOT/statuses/{sha}","languages_url":"https://api.github.com/repos/RIOT-OS/RIOT/languages","stargazers_url":"https://api.github.com/repos/RIOT-OS/RIOT/stargazers","contributors_url":"https://api.github.com/repos/RIOT-OS/RIOT/contributors","subscribers_url":"https://api.github.com/repos/RIOT-OS/RIOT/subscribers","subscription_url":"https://api.github.com/repos/RIOT-OS/RIOT/subscription","commits_url":"https://api.github.com/repos/RIOT-OS/RIOT/commits{/sha}","git_commits_url":"https://api.github.com/repos/RIOT-OS/RIOT/git/commits{/sha}","comments_url":"https://api.github.com/repos/RIOT-OS/RIOT/comments{/number}","issue_comment_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues/comments{/number}","contents_url":"https://api.github.com/repos/RIOT-OS/RIOT/contents/{+path}","compare_url":"https://api.github.com/repos/RIOT-OS/RIOT/compare/{base}...{head}","merges_url":"https://api.github.com/repos/RIOT-OS/RIOT/merges","archive_url":"https://api.github.com/repos/RIOT-OS/RIOT/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/RIOT-OS/RIOT/downloads","issues_url":"https://api.github.com/repos/RIOT-OS/RIOT/issues{/number}","pulls_url":"https://api.github.com/repos/RIOT-OS/RIOT/pulls{/number}","milestones_url":"https://api.github.com/repos/RIOT-OS/RIOT/milestones{/number}","notifications_url":"https://api.github.com/repos/RIOT-OS/RIOT/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/RIOT-OS/RIOT/labels{/name}","releases_url":"https://api.github.com/repos/RIOT-OS/RIOT/releases{/id}","deployments_url":"https://api.github.com/repos/RIOT-OS/RIOT/deployments","created_at":"2012-12-29T20:38:40Z","updated_at":"2016-04-20T07:55:54Z","pushed_at":"2016-04-20T07:42:51Z","git_url":"git://github.com/RIOT-OS/RIOT.git","ssh_url":"git@github.com:RIOT-OS/RIOT.git","clone_url":"https://github.com/RIOT-OS/RIOT.git","svn_url":"https://github.com/RIOT-OS/RIOT","homepage":"https://github.com/RIOT-OS/RIOT/wiki","size":87721,"stargazers_count":741,"watchers_count":741,"language":"C","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":535,"mirror_url":null,"open_issues_count":468,"forks":535,"open_issues":468,"watchers":741,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/5221"},"html":{"href":"https://github.com/RIOT-OS/RIOT/pull/5221"},"issue":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/issues/5221"},"comments":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/issues/5221/comments"},"review_comments":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/5221/comments"},"review_comment":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/pulls/5221/commits"},"statuses":{"href":"https://api.github.com/repos/RIOT-OS/RIOT/statuses/32d51e8eff34f84c560be1ca98da4ac7f2e48932"}}}}