{"action":"created","issue":{"url":"https://api.github.com/repos/xbmc/xbmc/issues/5572","labels_url":"https://api.github.com/repos/xbmc/xbmc/issues/5572/labels{/name}","comments_url":"https://api.github.com/repos/xbmc/xbmc/issues/5572/comments","events_url":"https://api.github.com/repos/xbmc/xbmc/issues/5572/events","html_url":"https://github.com/xbmc/xbmc/pull/5572","id":46820579,"number":5572,"title":"Binary addons: Multi addons","user":{"login":"Montellese","id":75864,"avatar_url":"https://avatars.githubusercontent.com/u/75864?v=3","gravatar_id":"","url":"https://api.github.com/users/Montellese","html_url":"https://github.com/Montellese","followers_url":"https://api.github.com/users/Montellese/followers","following_url":"https://api.github.com/users/Montellese/following{/other_user}","gists_url":"https://api.github.com/users/Montellese/gists{/gist_id}","starred_url":"https://api.github.com/users/Montellese/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Montellese/subscriptions","organizations_url":"https://api.github.com/users/Montellese/orgs","repos_url":"https://api.github.com/users/Montellese/repos","events_url":"https://api.github.com/users/Montellese/events{/privacy}","received_events_url":"https://api.github.com/users/Montellese/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/xbmc/xbmc/labels/Feature","name":"Feature","color":"0b02e1"},{"url":"https://api.github.com/repos/xbmc/xbmc/labels/I%2A%2A%2A%2A%2A","name":"I*****","color":"207de5"},{"url":"https://api.github.com/repos/xbmc/xbmc/labels/RFC","name":"RFC","color":"d7e102"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":19,"created_at":"2014-10-25T19:08:00Z","updated_at":"2015-01-12T13:05:24Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/xbmc/xbmc/pulls/5572","html_url":"https://github.com/xbmc/xbmc/pull/5572","diff_url":"https://github.com/xbmc/xbmc/pull/5572.diff","patch_url":"https://github.com/xbmc/xbmc/pull/5572.patch"},"body":"This work is inspired by @notspiff's work and adds support for addons whose content actually just consist of a list of sub-directories which are addons themselves. The main target are scrapers which are all stored in the same git repository at https://github.com/xbmc/repo-scrapers which a sub-directory for every scraper addon.\r\nThis allows us to add such a repository to the list of addons to be built with the addition of a `multi.txt` file containing a line for every actual addon to be copied to the final location. There's no support for intermediate build/compile commands.\r\n\r\nI've taken a different approach than @notspiff making use of `ExternalProject_Add()` instead of adding custom commands.\r\n\r\nThe advantage of this is that we don't have to keep the scraperes in our code and we only have to update one git revision to sync all the default scrapers with the scraper repository.\r\n\r\nA disadvantage is that there are no default scrapers (except for `metadata.local`) in our tree anymore so if someone builds and runs/debugs Kodi from a checkout he either doesn't have the default scrapers or he has to copy them to the `addons` directory manually to be able to use them."},"comment":{"url":"https://api.github.com/repos/xbmc/xbmc/issues/comments/69566617","html_url":"https://github.com/xbmc/xbmc/pull/5572#issuecomment-69566617","issue_url":"https://api.github.com/repos/xbmc/xbmc/issues/5572","id":69566617,"user":{"login":"akva2","id":2144327,"avatar_url":"https://avatars.githubusercontent.com/u/2144327?v=3","gravatar_id":"","url":"https://api.github.com/users/akva2","html_url":"https://github.com/akva2","followers_url":"https://api.github.com/users/akva2/followers","following_url":"https://api.github.com/users/akva2/following{/other_user}","gists_url":"https://api.github.com/users/akva2/gists{/gist_id}","starred_url":"https://api.github.com/users/akva2/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/akva2/subscriptions","organizations_url":"https://api.github.com/users/akva2/orgs","repos_url":"https://api.github.com/users/akva2/repos","events_url":"https://api.github.com/users/akva2/events{/privacy}","received_events_url":"https://api.github.com/users/akva2/received_events","type":"User","site_admin":false},"created_at":"2015-01-12T13:05:24Z","updated_at":"2015-01-12T13:05:24Z","body":"that was only meant as an example as such. i don't see how it wouldn't work with what you have now, assuming there's a prepare_tarball thingabom that can be reused across distros. but maybe that's the thing, it's integrated with the debian packaging ? if so i see your point.."}}