{"action":"created","comment":{"url":"https://api.github.com/repos/snapcore/snapd/pulls/comments/197425883","pull_request_review_id":131168853,"id":197425883,"node_id":"MDI0OlB1bGxSZXF1ZXN0UmV2aWV3Q29tbWVudDE5NzQyNTg4Mw==","diff_hunk":"@@ -30,12 +30,15 @@ import (\n \n // check helpers\n \n-func checkSnapType(snapType snap.Type, types []string) error {\n+func checkSnapType(snap *snap.Info, types []string) error {\n \tif len(types) == 0 {\n \t\treturn nil\n \t}\n-\ts := string(snapType)\n-\tif s == \"os\" { // we use \"core\" in the assertions\n+\tsnapID := snap.SnapID\n+\ts := string(snap.Type)\n+\tif s == \"os\" || snapID == \"PMrrV4ml8uWuEUDBT8dSGnKUYbevVhc4\" || snapID == \"todo-staging-snapd-id\" {","path":"interfaces/policy/helpers.go","position":13,"original_position":13,"commit_id":"f3aecb2785ae6531685729cf7cca6cbc19dfea9a","original_commit_id":"ffcd6b99bbf2d0f16b9f325030212b51698d3f46","user":{"login":"mvo5","id":914418,"node_id":"MDQ6VXNlcjkxNDQxOA==","avatar_url":"https://avatars3.githubusercontent.com/u/914418?v=4","gravatar_id":"","url":"https://api.github.com/users/mvo5","html_url":"https://github.com/mvo5","followers_url":"https://api.github.com/users/mvo5/followers","following_url":"https://api.github.com/users/mvo5/following{/other_user}","gists_url":"https://api.github.com/users/mvo5/gists{/gist_id}","starred_url":"https://api.github.com/users/mvo5/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mvo5/subscriptions","organizations_url":"https://api.github.com/users/mvo5/orgs","repos_url":"https://api.github.com/users/mvo5/repos","events_url":"https://api.github.com/users/mvo5/events{/privacy}","received_events_url":"https://api.github.com/users/mvo5/received_events","type":"User","site_admin":false},"body":"I think we need a comment here that this is the prod-id of the snapd snap.","created_at":"2018-06-22T12:05:09Z","updated_at":"2018-06-22T12:06:14Z","html_url":"https://github.com/snapcore/snapd/pull/5369#discussion_r197425883","pull_request_url":"https://api.github.com/repos/snapcore/snapd/pulls/5369","author_association":"COLLABORATOR","_links":{"self":{"href":"https://api.github.com/repos/snapcore/snapd/pulls/comments/197425883"},"html":{"href":"https://github.com/snapcore/snapd/pull/5369#discussion_r197425883"},"pull_request":{"href":"https://api.github.com/repos/snapcore/snapd/pulls/5369"}}},"pull_request":{"url":"https://api.github.com/repos/snapcore/snapd/pulls/5369","id":196459859,"node_id":"MDExOlB1bGxSZXF1ZXN0MTk2NDU5ODU5","html_url":"https://github.com/snapcore/snapd/pull/5369","diff_url":"https://github.com/snapcore/snapd/pull/5369.diff","patch_url":"https://github.com/snapcore/snapd/pull/5369.patch","issue_url":"https://api.github.com/repos/snapcore/snapd/issues/5369","number":5369,"state":"open","locked":false,"title":"overlord,interfaces,cmd: WIP early support for interfaces on core18","user":{"login":"zyga","id":784262,"node_id":"MDQ6VXNlcjc4NDI2Mg==","avatar_url":"https://avatars0.githubusercontent.com/u/784262?v=4","gravatar_id":"","url":"https://api.github.com/users/zyga","html_url":"https://github.com/zyga","followers_url":"https://api.github.com/users/zyga/followers","following_url":"https://api.github.com/users/zyga/following{/other_user}","gists_url":"https://api.github.com/users/zyga/gists{/gist_id}","starred_url":"https://api.github.com/users/zyga/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zyga/subscriptions","organizations_url":"https://api.github.com/users/zyga/orgs","repos_url":"https://api.github.com/users/zyga/repos","events_url":"https://api.github.com/users/zyga/events{/privacy}","received_events_url":"https://api.github.com/users/zyga/received_events","type":"User","site_admin":false},"body":"This branch, which comes without new tests, represents the work towards having\r\ninterfaces on core18 systems where the core snap is _not_ installed (definitely\r\nnot by default, it may be installed later).\r\n\r\nThe main idea is the branch is snapd snap becomes the host of implicit\r\ninterfaces. There are several consequences of this idea:\r\n\r\n- the logic that adds implicit interface now looks at the state to figure out if snapd is installed\r\n- the logic that checks interface policy treats the \"snapd\" snap as if it was of type \"core\"\r\n- the logic that resolves connect and disconnect calls now prefers \"snapd\" if it is present\r\n- the snap manager doesn't allow installation of snapd on systems without a base in the model\r\n\r\nThe model with base restriction for installing snapd is so that we want to\r\nexplore this branch without breaking classic or core system that use core as\r\nthe base. To be fully compatible with all devices snapd must refuse to remove\r\nsnapd-the-snap and must restart snapd.service after installing it. This\r\nrestriction can be lifted in subsequent patches.\r\n\r\nI'm opening this pull request to gather feedback about missing tests, bugs in\r\nthe design and implementation and any other suggestions.","created_at":"2018-06-21T13:52:35Z","updated_at":"2018-06-22T12:06:14Z","closed_at":null,"merged_at":null,"merge_commit_sha":"06b6d2bc1d9d1eb2583014271b4dd321a5df619a","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[{"id":378322797,"node_id":"MDU6TGFiZWwzNzgzMjI3OTc=","url":"https://api.github.com/repos/snapcore/snapd/labels/Blocked","name":"Blocked","color":"d93f0b","default":false}],"milestone":null,"commits_url":"https://api.github.com/repos/snapcore/snapd/pulls/5369/commits","review_comments_url":"https://api.github.com/repos/snapcore/snapd/pulls/5369/comments","review_comment_url":"https://api.github.com/repos/snapcore/snapd/pulls/comments{/number}","comments_url":"https://api.github.com/repos/snapcore/snapd/issues/5369/comments","statuses_url":"https://api.github.com/repos/snapcore/snapd/statuses/f3aecb2785ae6531685729cf7cca6cbc19dfea9a","head":{"label":"zyga:rfc/smart-implicit-interfaces","ref":"rfc/smart-implicit-interfaces","sha":"f3aecb2785ae6531685729cf7cca6cbc19dfea9a","user":{"login":"zyga","id":784262,"node_id":"MDQ6VXNlcjc4NDI2Mg==","avatar_url":"https://avatars0.githubusercontent.com/u/784262?v=4","gravatar_id":"","url":"https://api.github.com/users/zyga","html_url":"https://github.com/zyga","followers_url":"https://api.github.com/users/zyga/followers","following_url":"https://api.github.com/users/zyga/following{/other_user}","gists_url":"https://api.github.com/users/zyga/gists{/gist_id}","starred_url":"https://api.github.com/users/zyga/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zyga/subscriptions","organizations_url":"https://api.github.com/users/zyga/orgs","repos_url":"https://api.github.com/users/zyga/repos","events_url":"https://api.github.com/users/zyga/events{/privacy}","received_events_url":"https://api.github.com/users/zyga/received_events","type":"User","site_admin":false},"repo":{"id":45263078,"node_id":"MDEwOlJlcG9zaXRvcnk0NTI2MzA3OA==","name":"snapd","full_name":"zyga/snapd","owner":{"login":"zyga","id":784262,"node_id":"MDQ6VXNlcjc4NDI2Mg==","avatar_url":"https://avatars0.githubusercontent.com/u/784262?v=4","gravatar_id":"","url":"https://api.github.com/users/zyga","html_url":"https://github.com/zyga","followers_url":"https://api.github.com/users/zyga/followers","following_url":"https://api.github.com/users/zyga/following{/other_user}","gists_url":"https://api.github.com/users/zyga/gists{/gist_id}","starred_url":"https://api.github.com/users/zyga/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/zyga/subscriptions","organizations_url":"https://api.github.com/users/zyga/orgs","repos_url":"https://api.github.com/users/zyga/repos","events_url":"https://api.github.com/users/zyga/events{/privacy}","received_events_url":"https://api.github.com/users/zyga/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/zyga/snapd","description":"Snappy is the software at the heart of Ubuntu Core.","fork":true,"url":"https://api.github.com/repos/zyga/snapd","forks_url":"https://api.github.com/repos/zyga/snapd/forks","keys_url":"https://api.github.com/repos/zyga/snapd/keys{/key_id}","collaborators_url":"https://api.github.com/repos/zyga/snapd/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/zyga/snapd/teams","hooks_url":"https://api.github.com/repos/zyga/snapd/hooks","issue_events_url":"https://api.github.com/repos/zyga/snapd/issues/events{/number}","events_url":"https://api.github.com/repos/zyga/snapd/events","assignees_url":"https://api.github.com/repos/zyga/snapd/assignees{/user}","branches_url":"https://api.github.com/repos/zyga/snapd/branches{/branch}","tags_url":"https://api.github.com/repos/zyga/snapd/tags","blobs_url":"https://api.github.com/repos/zyga/snapd/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/zyga/snapd/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/zyga/snapd/git/refs{/sha}","trees_url":"https://api.github.com/repos/zyga/snapd/git/trees{/sha}","statuses_url":"https://api.github.com/repos/zyga/snapd/statuses/{sha}","languages_url":"https://api.github.com/repos/zyga/snapd/languages","stargazers_url":"https://api.github.com/repos/zyga/snapd/stargazers","contributors_url":"https://api.github.com/repos/zyga/snapd/contributors","subscribers_url":"https://api.github.com/repos/zyga/snapd/subscribers","subscription_url":"https://api.github.com/repos/zyga/snapd/subscription","commits_url":"https://api.github.com/repos/zyga/snapd/commits{/sha}","git_commits_url":"https://api.github.com/repos/zyga/snapd/git/commits{/sha}","comments_url":"https://api.github.com/repos/zyga/snapd/comments{/number}","issue_comment_url":"https://api.github.com/repos/zyga/snapd/issues/comments{/number}","contents_url":"https://api.github.com/repos/zyga/snapd/contents/{+path}","compare_url":"https://api.github.com/repos/zyga/snapd/compare/{base}...{head}","merges_url":"https://api.github.com/repos/zyga/snapd/merges","archive_url":"https://api.github.com/repos/zyga/snapd/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/zyga/snapd/downloads","issues_url":"https://api.github.com/repos/zyga/snapd/issues{/number}","pulls_url":"https://api.github.com/repos/zyga/snapd/pulls{/number}","milestones_url":"https://api.github.com/repos/zyga/snapd/milestones{/number}","notifications_url":"https://api.github.com/repos/zyga/snapd/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/zyga/snapd/labels{/name}","releases_url":"https://api.github.com/repos/zyga/snapd/releases{/id}","deployments_url":"https://api.github.com/repos/zyga/snapd/deployments","created_at":"2015-10-30T16:30:25Z","updated_at":"2018-05-30T11:44:23Z","pushed_at":"2018-06-22T07:54:40Z","git_url":"git://github.com/zyga/snapd.git","ssh_url":"git@github.com:zyga/snapd.git","clone_url":"https://github.com/zyga/snapd.git","svn_url":"https://github.com/zyga/snapd","homepage":null,"size":66350,"stargazers_count":1,"watchers_count":1,"language":"Go","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":{"key":"gpl-3.0","name":"GNU General Public License v3.0","spdx_id":"GPL-3.0","url":"https://api.github.com/licenses/gpl-3.0","node_id":"MDc6TGljZW5zZTk="},"forks":0,"open_issues":0,"watchers":1,"default_branch":"master"}},"base":{"label":"snapcore:master","ref":"master","sha":"ba6b4b39af022212d246840760be8ffd99ef60db","user":{"login":"snapcore","id":19532717,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE5NTMyNzE3","avatar_url":"https://avatars1.githubusercontent.com/u/19532717?v=4","gravatar_id":"","url":"https://api.github.com/users/snapcore","html_url":"https://github.com/snapcore","followers_url":"https://api.github.com/users/snapcore/followers","following_url":"https://api.github.com/users/snapcore/following{/other_user}","gists_url":"https://api.github.com/users/snapcore/gists{/gist_id}","starred_url":"https://api.github.com/users/snapcore/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/snapcore/subscriptions","organizations_url":"https://api.github.com/users/snapcore/orgs","repos_url":"https://api.github.com/users/snapcore/repos","events_url":"https://api.github.com/users/snapcore/events{/privacy}","received_events_url":"https://api.github.com/users/snapcore/received_events","type":"Organization","site_admin":false},"repo":{"id":44672744,"node_id":"MDEwOlJlcG9zaXRvcnk0NDY3Mjc0NA==","name":"snapd","full_name":"snapcore/snapd","owner":{"login":"snapcore","id":19532717,"node_id":"MDEyOk9yZ2FuaXphdGlvbjE5NTMyNzE3","avatar_url":"https://avatars1.githubusercontent.com/u/19532717?v=4","gravatar_id":"","url":"https://api.github.com/users/snapcore","html_url":"https://github.com/snapcore","followers_url":"https://api.github.com/users/snapcore/followers","following_url":"https://api.github.com/users/snapcore/following{/other_user}","gists_url":"https://api.github.com/users/snapcore/gists{/gist_id}","starred_url":"https://api.github.com/users/snapcore/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/snapcore/subscriptions","organizations_url":"https://api.github.com/users/snapcore/orgs","repos_url":"https://api.github.com/users/snapcore/repos","events_url":"https://api.github.com/users/snapcore/events{/privacy}","received_events_url":"https://api.github.com/users/snapcore/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/snapcore/snapd","description":"The snapd and snap tools enable systems to work with .snap files.","fork":false,"url":"https://api.github.com/repos/snapcore/snapd","forks_url":"https://api.github.com/repos/snapcore/snapd/forks","keys_url":"https://api.github.com/repos/snapcore/snapd/keys{/key_id}","collaborators_url":"https://api.github.com/repos/snapcore/snapd/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/snapcore/snapd/teams","hooks_url":"https://api.github.com/repos/snapcore/snapd/hooks","issue_events_url":"https://api.github.com/repos/snapcore/snapd/issues/events{/number}","events_url":"https://api.github.com/repos/snapcore/snapd/events","assignees_url":"https://api.github.com/repos/snapcore/snapd/assignees{/user}","branches_url":"https://api.github.com/repos/snapcore/snapd/branches{/branch}","tags_url":"https://api.github.com/repos/snapcore/snapd/tags","blobs_url":"https://api.github.com/repos/snapcore/snapd/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/snapcore/snapd/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/snapcore/snapd/git/refs{/sha}","trees_url":"https://api.github.com/repos/snapcore/snapd/git/trees{/sha}","statuses_url":"https://api.github.com/repos/snapcore/snapd/statuses/{sha}","languages_url":"https://api.github.com/repos/snapcore/snapd/languages","stargazers_url":"https://api.github.com/repos/snapcore/snapd/stargazers","contributors_url":"https://api.github.com/repos/snapcore/snapd/contributors","subscribers_url":"https://api.github.com/repos/snapcore/snapd/subscribers","subscription_url":"https://api.github.com/repos/snapcore/snapd/subscription","commits_url":"https://api.github.com/repos/snapcore/snapd/commits{/sha}","git_commits_url":"https://api.github.com/repos/snapcore/snapd/git/commits{/sha}","comments_url":"https://api.github.com/repos/snapcore/snapd/comments{/number}","issue_comment_url":"https://api.github.com/repos/snapcore/snapd/issues/comments{/number}","contents_url":"https://api.github.com/repos/snapcore/snapd/contents/{+path}","compare_url":"https://api.github.com/repos/snapcore/snapd/compare/{base}...{head}","merges_url":"https://api.github.com/repos/snapcore/snapd/merges","archive_url":"https://api.github.com/repos/snapcore/snapd/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/snapcore/snapd/downloads","issues_url":"https://api.github.com/repos/snapcore/snapd/issues{/number}","pulls_url":"https://api.github.com/repos/snapcore/snapd/pulls{/number}","milestones_url":"https://api.github.com/repos/snapcore/snapd/milestones{/number}","notifications_url":"https://api.github.com/repos/snapcore/snapd/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/snapcore/snapd/labels{/name}","releases_url":"https://api.github.com/repos/snapcore/snapd/releases{/id}","deployments_url":"https://api.github.com/repos/snapcore/snapd/deployments","created_at":"2015-10-21T11:51:46Z","updated_at":"2018-06-22T11:08:49Z","pushed_at":"2018-06-22T11:35:46Z","git_url":"git://github.com/snapcore/snapd.git","ssh_url":"git@github.com:snapcore/snapd.git","clone_url":"https://github.com/snapcore/snapd.git","svn_url":"https://github.com/snapcore/snapd","homepage":"","size":65941,"stargazers_count":952,"watchers_count":952,"language":"Go","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":238,"mirror_url":null,"archived":false,"open_issues_count":39,"license":{"key":"gpl-3.0","name":"GNU General Public License v3.0","spdx_id":"GPL-3.0","url":"https://api.github.com/licenses/gpl-3.0","node_id":"MDc6TGljZW5zZTk="},"forks":238,"open_issues":39,"watchers":952,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/snapcore/snapd/pulls/5369"},"html":{"href":"https://github.com/snapcore/snapd/pull/5369"},"issue":{"href":"https://api.github.com/repos/snapcore/snapd/issues/5369"},"comments":{"href":"https://api.github.com/repos/snapcore/snapd/issues/5369/comments"},"review_comments":{"href":"https://api.github.com/repos/snapcore/snapd/pulls/5369/comments"},"review_comment":{"href":"https://api.github.com/repos/snapcore/snapd/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/snapcore/snapd/pulls/5369/commits"},"statuses":{"href":"https://api.github.com/repos/snapcore/snapd/statuses/f3aecb2785ae6531685729cf7cca6cbc19dfea9a"}},"author_association":"CONTRIBUTOR"}}
{"actor":{"display_login":"mvo5"}}