{"action":"created","issue":{"url":"https://api.github.com/repos/google/gapid/issues/152","repository_url":"https://api.github.com/repos/google/gapid","labels_url":"https://api.github.com/repos/google/gapid/issues/152/labels{/name}","comments_url":"https://api.github.com/repos/google/gapid/issues/152/comments","events_url":"https://api.github.com/repos/google/gapid/issues/152/events","html_url":"https://github.com/google/gapid/issues/152","id":217380613,"number":152,"title":"GAPID Packaging","user":{"login":"pmuetschard","id":13356324,"avatar_url":"https://avatars0.githubusercontent.com/u/13356324?v=3","gravatar_id":"","url":"https://api.github.com/users/pmuetschard","html_url":"https://github.com/pmuetschard","followers_url":"https://api.github.com/users/pmuetschard/followers","following_url":"https://api.github.com/users/pmuetschard/following{/other_user}","gists_url":"https://api.github.com/users/pmuetschard/gists{/gist_id}","starred_url":"https://api.github.com/users/pmuetschard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pmuetschard/subscriptions","organizations_url":"https://api.github.com/users/pmuetschard/orgs","repos_url":"https://api.github.com/users/pmuetschard/repos","events_url":"https://api.github.com/users/pmuetschard/events{/privacy}","received_events_url":"https://api.github.com/users/pmuetschard/received_events","type":"User","site_admin":false},"labels":[{"id":553743499,"url":"https://api.github.com/repos/google/gapid/labels/build","name":"build","color":"f9d0c4","default":false},{"id":562523054,"url":"https://api.github.com/repos/google/gapid/labels/needs%20discussion","name":"needs discussion","color":"006b75","default":false}],"state":"open","locked":false,"assignee":{"login":"pmuetschard","id":13356324,"avatar_url":"https://avatars0.githubusercontent.com/u/13356324?v=3","gravatar_id":"","url":"https://api.github.com/users/pmuetschard","html_url":"https://github.com/pmuetschard","followers_url":"https://api.github.com/users/pmuetschard/followers","following_url":"https://api.github.com/users/pmuetschard/following{/other_user}","gists_url":"https://api.github.com/users/pmuetschard/gists{/gist_id}","starred_url":"https://api.github.com/users/pmuetschard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pmuetschard/subscriptions","organizations_url":"https://api.github.com/users/pmuetschard/orgs","repos_url":"https://api.github.com/users/pmuetschard/repos","events_url":"https://api.github.com/users/pmuetschard/events{/privacy}","received_events_url":"https://api.github.com/users/pmuetschard/received_events","type":"User","site_admin":false},"assignees":[{"login":"pmuetschard","id":13356324,"avatar_url":"https://avatars0.githubusercontent.com/u/13356324?v=3","gravatar_id":"","url":"https://api.github.com/users/pmuetschard","html_url":"https://github.com/pmuetschard","followers_url":"https://api.github.com/users/pmuetschard/followers","following_url":"https://api.github.com/users/pmuetschard/following{/other_user}","gists_url":"https://api.github.com/users/pmuetschard/gists{/gist_id}","starred_url":"https://api.github.com/users/pmuetschard/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pmuetschard/subscriptions","organizations_url":"https://api.github.com/users/pmuetschard/orgs","repos_url":"https://api.github.com/users/pmuetschard/repos","events_url":"https://api.github.com/users/pmuetschard/events{/privacy}","received_events_url":"https://api.github.com/users/pmuetschard/received_events","type":"User","site_admin":false}],"milestone":null,"comments":6,"created_at":"2017-03-27T21:27:29Z","updated_at":"2017-03-29T20:51:16Z","closed_at":null,"body":"# !!! Work in progress !!!\r\n\r\n# Open questions\r\n## Which binaries do we need?\r\n\r\n- [x] gapis\r\n- [x] gapir\r\n- [x] gapit\r\n- [ ] filehash\r\n- [ ] gfxtrace\r\n- [ ] robot\r\n- [ ] stash\r\n\r\n# Proposed Package Layout\r\n\r\n## Windows\r\nThe install will allow the user to install the package anywhere, suggesting `%PROGRAMFILES%\\gapid`. The package will install GAPID into the selected folder with the following structure:\r\n```\r\n<install root>\\\r\n├─ app\\\r\n│  ├─ lib\\\r\n│  │  ├─ GraphicsSpyLayer.json\r\n│  │  ├─ gapic.jar\r\n│  │  ├─ libgapii.dll\r\n│  │  ├─ libVkLayer_VirtualSwapchain.dll\r\n│  │  ├─ libVkLayerGraphicsSpy.dll\r\n│  │  └─ VirtualSwapchainLayer.json\r\n│  ├─ strings\\en-us.stb\r\n│  ├─ GAPID.cfg\r\n│  ├─ gapid-arm64-v8a.apk\r\n│  ├─ gapid-armeabi-v7a.apk\r\n│  ├─ gapid-x86.apk\r\n│  ├─ gapir.exe\r\n│  ├─ gapis.exe\r\n│  └─ gapit.exe\r\n├─ runtime\\... (contains JRE)\r\n├─ GAPID.exe\r\n├─ GAPID.ico\r\n├─ msvcp120.dll\r\n├─ msvcr100.dll\r\n├─ msvcr120.dll\r\n└─ packager.dll   \r\n```\r\n\r\n### Do we need the .dll.a files?\r\n\r\n## MacOS\r\nThe built package will consist of a `.dmg` disk image containing the `GAPID.app` application and link to `/Applications` to make \"installing\" easy. The `GAPID.app` will follow the following structure:\r\n```\r\nGAPID.app/\r\n└─ Contents/\r\n   ├─ Java/\r\n   │  ├─ gapic.jar\r\n   │  └─ GAPID.cfg\r\n   ├─ MacOS/\r\n   │  ├─ GAPID\r\n   │  └─ libpackager.dylib\r\n   ├─ Plugins/\r\n   │  ├─ gapid/\r\n   │  │  └─ <see below>\r\n   │  └─ Java.runtime/...\r\n   ├─ Resources/GAPID.icns\r\n   ├─ Info.plist\r\n   └─ PkgInfo\r\n```\r\n\r\nThe `gapid` folder will contain the following structure:\r\n```\r\ngapid/\r\n├─ lib/\r\n│  ├─ GraphicsSpyLayer.json\r\n│  ├─ libgapii.dylib\r\n│  ├─ libVkLayerGraphicsSpy.dylib\r\n│  ├─ libVkLayer_VirtualSwapchain.dylib\r\n│  └─ VirtualSwapchainLayer.json\r\n├─ strings/en-us.stb\r\n├─ gapid-arm64-v8a.apk\r\n├─ gapid-armeabi-v7a.apk\r\n├─ gapid-x86.apk\r\n├─ gapir\r\n├─ gapis\r\n└─ gapit\r\n```  \r\n\r\n## Linux\r\nDebian package would install into `/opt/gapid`, while archives could be expanded anywhere (the archive would contain a `gapid/` folder as root, though). The Debian package would depend on openjdk-8-jre and the launcher script would invoke it directly by using `/usr/lib/jvm/java-8-openjdk-amd64/jre/bin/java`. For archives, the launcher script should attempt to find Java 1.8 using `$JAVA_HOME`, the `$PATH`, or looking in `/usr/lib/jvm/`.\r\n```\r\n/{opt|wherever}/gapid/\r\n├─ lib/\r\n│  ├─ gapic.jar\r\n│  ├─ GraphicsSpyLayer.json\r\n│  ├─ libgapii.so\r\n│  ├─ libVkLayerGraphicsSpy.so\r\n│  ├─ libVkLayer_VirtualSwapchain.so\r\n│  └─ VirtualSwapchainLayer.json\r\n├─ strings/en-us.stb\r\n├─ gapid\r\n├─ gapid-arm64-v8a.apk\r\n├─ gapid-armeabi-v7a.apk\r\n├─ gapid-x86.apk\r\n├─ gapir\r\n├─ gapis\r\n└─ gapit\r\n```\r\n\r\n## Required Changes to the Build Script\r\n\r\n1. Eliminate the unnecessary binaries from the `pkg/` folder\r\n2. Instead of putting the binaries into the `<os>/<arch>/` folder, put them into the `pkg` root.\r\n3. Instead of putting the libs into the `<os>/<arch>/` folder, put them into `pkg/lib`\r\n4. Kill source.properties\r\n\r\n## Required Code Changes\r\n\r\n1. Locating the binaries no longer should look for the `<os>/<arch>` structure\r\n2. Locating the libraries should look inside `lib` instead of `<os>/<arch>`"},"comment":{"url":"https://api.github.com/repos/google/gapid/issues/comments/290221839","html_url":"https://github.com/google/gapid/issues/152#issuecomment-290221839","issue_url":"https://api.github.com/repos/google/gapid/issues/152","id":290221839,"user":{"login":"ben-clayton","id":11505236,"avatar_url":"https://avatars3.githubusercontent.com/u/11505236?v=3","gravatar_id":"","url":"https://api.github.com/users/ben-clayton","html_url":"https://github.com/ben-clayton","followers_url":"https://api.github.com/users/ben-clayton/followers","following_url":"https://api.github.com/users/ben-clayton/following{/other_user}","gists_url":"https://api.github.com/users/ben-clayton/gists{/gist_id}","starred_url":"https://api.github.com/users/ben-clayton/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/ben-clayton/subscriptions","organizations_url":"https://api.github.com/users/ben-clayton/orgs","repos_url":"https://api.github.com/users/ben-clayton/repos","events_url":"https://api.github.com/users/ben-clayton/events{/privacy}","received_events_url":"https://api.github.com/users/ben-clayton/received_events","type":"User","site_admin":false},"created_at":"2017-03-29T20:51:16Z","updated_at":"2017-03-29T20:51:16Z","body":"> write our own launcher script... in... sigh... go.\r\nSGTM. We'd could to do some voodoo to embed the icon."}}
{"actor":{"display_login":"ben-clayton"}}