{"action":"created","issue":{"url":"https://api.github.com/repos/saltstack/salt/issues/27037","labels_url":"https://api.github.com/repos/saltstack/salt/issues/27037/labels{/name}","comments_url":"https://api.github.com/repos/saltstack/salt/issues/27037/comments","events_url":"https://api.github.com/repos/saltstack/salt/issues/27037/events","html_url":"https://github.com/saltstack/salt/issues/27037","id":105920361,"number":27037,"title":"Manage homebrew taps with pkgrepo","user":{"login":"DavidJFelix","id":263432,"avatar_url":"https://avatars.githubusercontent.com/u/263432?v=3","gravatar_id":"","url":"https://api.github.com/users/DavidJFelix","html_url":"https://github.com/DavidJFelix","followers_url":"https://api.github.com/users/DavidJFelix/followers","following_url":"https://api.github.com/users/DavidJFelix/following{/other_user}","gists_url":"https://api.github.com/users/DavidJFelix/gists{/gist_id}","starred_url":"https://api.github.com/users/DavidJFelix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DavidJFelix/subscriptions","organizations_url":"https://api.github.com/users/DavidJFelix/orgs","repos_url":"https://api.github.com/users/DavidJFelix/repos","events_url":"https://api.github.com/users/DavidJFelix/events{/privacy}","received_events_url":"https://api.github.com/users/DavidJFelix/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/saltstack/salt/labels/Execution%20Module","name":"Execution Module","color":"006b75"},{"url":"https://api.github.com/repos/saltstack/salt/labels/Feature","name":"Feature","color":"009800"},{"url":"https://api.github.com/repos/saltstack/salt/labels/Platform","name":"Platform","color":"fef2c0"}],"state":"open","locked":false,"assignee":null,"milestone":{"url":"https://api.github.com/repos/saltstack/salt/milestones/13","html_url":"https://github.com/saltstack/salt/milestones/Approved","labels_url":"https://api.github.com/repos/saltstack/salt/milestones/13/labels","id":9265,"number":13,"title":"Approved","description":"All issues that are ready to be worked on, both bugs and features.","creator":{"login":"thatch45","id":507599,"avatar_url":"https://avatars.githubusercontent.com/u/507599?v=3","gravatar_id":"","url":"https://api.github.com/users/thatch45","html_url":"https://github.com/thatch45","followers_url":"https://api.github.com/users/thatch45/followers","following_url":"https://api.github.com/users/thatch45/following{/other_user}","gists_url":"https://api.github.com/users/thatch45/gists{/gist_id}","starred_url":"https://api.github.com/users/thatch45/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/thatch45/subscriptions","organizations_url":"https://api.github.com/users/thatch45/orgs","repos_url":"https://api.github.com/users/thatch45/repos","events_url":"https://api.github.com/users/thatch45/events{/privacy}","received_events_url":"https://api.github.com/users/thatch45/received_events","type":"User","site_admin":false},"open_issues":2541,"closed_issues":2605,"state":"open","created_at":"2011-05-14T04:00:56Z","updated_at":"2015-09-17T22:03:00Z","due_on":null,"closed_at":null},"comments":2,"created_at":"2015-09-10T23:47:41Z","updated_at":"2015-09-17T22:12:59Z","closed_at":null,"body":"Quick background:\r\n\r\n* Homebrew, `brew` is currently aliased by `pkg` on OSX platforms.\r\n* \"Taps\" are git repos that homebrew uses for packages. Initially, just the default homebrew repo is used, but you can use taps from github like \"caskroom/cask\", \"caskroom/versions\", \"homebrew/versions\" and more to add packages that are available to brew.\r\n* You can specify taps to check for the `brew` module.\r\n\r\n-- End background --\r\n\r\nThe problem is that taps cannot be added permanently. In normal homebrew cli, this is done with `brew tap caskroom/cask` which assumes github and locates `github.com/{user}/homebrew-{repo}` which maps to http://github.com/caskroom/homebrew-cask\r\n\r\nThis behavior reminds me heavily of the way that PPAs work or alternate debian repos work, but the only way to manage this is by using the `cmd` module, not by using `pkgrepo` like I can with deb repos, RPM repos and PPAs. `brew tap` can be called to get a list of installed taps (and determine statefully) if a tap is installed and needs to be reinstalled.\r\n\r\nI'd say this feature is likely aesthetic at best. Adding a tap every run doesn't seem to be as costly as adding a PPA every run."},"comment":{"url":"https://api.github.com/repos/saltstack/salt/issues/comments/141250596","html_url":"https://github.com/saltstack/salt/issues/27037#issuecomment-141250596","issue_url":"https://api.github.com/repos/saltstack/salt/issues/27037","id":141250596,"user":{"login":"DavidJFelix","id":263432,"avatar_url":"https://avatars.githubusercontent.com/u/263432?v=3","gravatar_id":"","url":"https://api.github.com/users/DavidJFelix","html_url":"https://github.com/DavidJFelix","followers_url":"https://api.github.com/users/DavidJFelix/followers","following_url":"https://api.github.com/users/DavidJFelix/following{/other_user}","gists_url":"https://api.github.com/users/DavidJFelix/gists{/gist_id}","starred_url":"https://api.github.com/users/DavidJFelix/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/DavidJFelix/subscriptions","organizations_url":"https://api.github.com/users/DavidJFelix/orgs","repos_url":"https://api.github.com/users/DavidJFelix/repos","events_url":"https://api.github.com/users/DavidJFelix/events{/privacy}","received_events_url":"https://api.github.com/users/DavidJFelix/received_events","type":"User","site_admin":false},"created_at":"2015-09-17T22:12:58Z","updated_at":"2015-09-17T22:12:58Z","body":"@jfindlay A little more on this one:\r\n\r\nIt appears that specifying a tap is possible at the `pkg` level: https://github.com/saltstack/salt/blob/561d7b72bb8bb0d5fa5c4395db12425f27c26c1a/salt/modules/brew.py#L39\r\n\r\nHowever, it does not appear that this tap is able to be managed, removed, etc. It seems in order to ensure packages will be installed, you'd have to specify the tap every time."}}