{"action":"created","issue":{"url":"https://api.github.com/repos/nexB/scancode-toolkit/issues/1073","repository_url":"https://api.github.com/repos/nexB/scancode-toolkit","labels_url":"https://api.github.com/repos/nexB/scancode-toolkit/issues/1073/labels{/name}","comments_url":"https://api.github.com/repos/nexB/scancode-toolkit/issues/1073/comments","events_url":"https://api.github.com/repos/nexB/scancode-toolkit/issues/1073/events","html_url":"https://github.com/nexB/scancode-toolkit/issues/1073","id":325401599,"node_id":"MDU6SXNzdWUzMjU0MDE1OTk=","number":1073,"title":"Add support for FreeBSD Ports and packages","user":{"login":"pombredanne","id":675997,"node_id":"MDQ6VXNlcjY3NTk5Nw==","avatar_url":"https://avatars2.githubusercontent.com/u/675997?v=4","gravatar_id":"","url":"https://api.github.com/users/pombredanne","html_url":"https://github.com/pombredanne","followers_url":"https://api.github.com/users/pombredanne/followers","following_url":"https://api.github.com/users/pombredanne/following{/other_user}","gists_url":"https://api.github.com/users/pombredanne/gists{/gist_id}","starred_url":"https://api.github.com/users/pombredanne/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pombredanne/subscriptions","organizations_url":"https://api.github.com/users/pombredanne/orgs","repos_url":"https://api.github.com/users/pombredanne/repos","events_url":"https://api.github.com/users/pombredanne/events{/privacy}","received_events_url":"https://api.github.com/users/pombredanne/received_events","type":"User","site_admin":false},"labels":[{"id":242412686,"node_id":"MDU6TGFiZWwyNDI0MTI2ODY=","url":"https://api.github.com/repos/nexB/scancode-toolkit/labels/new%20feature","name":"new feature","color":"84b6eb","default":false},{"id":242414184,"node_id":"MDU6TGFiZWwyNDI0MTQxODQ=","url":"https://api.github.com/repos/nexB/scancode-toolkit/labels/package%20scan","name":"package scan","color":"0052cc","default":false}],"state":"open","locked":false,"assignee":{"login":"majurg","id":7485204,"node_id":"MDQ6VXNlcjc0ODUyMDQ=","avatar_url":"https://avatars3.githubusercontent.com/u/7485204?v=4","gravatar_id":"","url":"https://api.github.com/users/majurg","html_url":"https://github.com/majurg","followers_url":"https://api.github.com/users/majurg/followers","following_url":"https://api.github.com/users/majurg/following{/other_user}","gists_url":"https://api.github.com/users/majurg/gists{/gist_id}","starred_url":"https://api.github.com/users/majurg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/majurg/subscriptions","organizations_url":"https://api.github.com/users/majurg/orgs","repos_url":"https://api.github.com/users/majurg/repos","events_url":"https://api.github.com/users/majurg/events{/privacy}","received_events_url":"https://api.github.com/users/majurg/received_events","type":"User","site_admin":false},"assignees":[{"login":"majurg","id":7485204,"node_id":"MDQ6VXNlcjc0ODUyMDQ=","avatar_url":"https://avatars3.githubusercontent.com/u/7485204?v=4","gravatar_id":"","url":"https://api.github.com/users/majurg","html_url":"https://github.com/majurg","followers_url":"https://api.github.com/users/majurg/followers","following_url":"https://api.github.com/users/majurg/following{/other_user}","gists_url":"https://api.github.com/users/majurg/gists{/gist_id}","starred_url":"https://api.github.com/users/majurg/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/majurg/subscriptions","organizations_url":"https://api.github.com/users/majurg/orgs","repos_url":"https://api.github.com/users/majurg/repos","events_url":"https://api.github.com/users/majurg/events{/privacy}","received_events_url":"https://api.github.com/users/majurg/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/nexB/scancode-toolkit/milestones/11","html_url":"https://github.com/nexB/scancode-toolkit/milestone/11","labels_url":"https://api.github.com/repos/nexB/scancode-toolkit/milestones/11/labels","id":3793309,"node_id":"MDk6TWlsZXN0b25lMzc5MzMwOQ==","number":11,"title":"v3.1","description":"Important new features and bug fixes that can wait for after v3.0","creator":{"login":"pombredanne","id":675997,"node_id":"MDQ6VXNlcjY3NTk5Nw==","avatar_url":"https://avatars2.githubusercontent.com/u/675997?v=4","gravatar_id":"","url":"https://api.github.com/users/pombredanne","html_url":"https://github.com/pombredanne","followers_url":"https://api.github.com/users/pombredanne/followers","following_url":"https://api.github.com/users/pombredanne/following{/other_user}","gists_url":"https://api.github.com/users/pombredanne/gists{/gist_id}","starred_url":"https://api.github.com/users/pombredanne/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pombredanne/subscriptions","organizations_url":"https://api.github.com/users/pombredanne/orgs","repos_url":"https://api.github.com/users/pombredanne/repos","events_url":"https://api.github.com/users/pombredanne/events{/privacy}","received_events_url":"https://api.github.com/users/pombredanne/received_events","type":"User","site_admin":false},"open_issues":19,"closed_issues":1,"state":"open","created_at":"2018-11-04T06:32:36Z","updated_at":"2018-11-05T21:01:49Z","due_on":null,"closed_at":null},"comments":5,"created_at":"2018-05-22T17:55:52Z","updated_at":"2018-11-05T21:02:08Z","closed_at":null,"author_association":"MEMBER","body":"Ports are the packages for FreeBSD. They area built from sources and also available as pre-built binaries.\r\n\r\n- The main site is at: https://www.freebsd.org/ports/\r\n- The doc is at https://www.freebsd.org/doc/handbook/ports.html\r\n- Source are in SVN at https://svnweb.freebsd.org/ports/head/\r\n- And binaries at http://pkg.freebsd.org/\r\n\r\nAn example of a \"port\" would be this on the source side:\r\nhttps://svnweb.freebsd.org/ports/head/sysutils/dmidecode/\r\n\r\nThe main source-side \"metafile\" is the Makefile:\r\nhttps://svnweb.freebsd.org/ports/head/sysutils/dmidecode/Makefile?view=markup\r\n\r\nThe binaries are there (by architectures and releases):\r\nhttps://pkg.freebsd.org/FreeBSD:10:amd64/release_1/All/\r\n\r\nThe index https://pkg.freebsd.org/FreeBSD:10:amd64/release_3/packagesite.txz may be of seom interest in the future and contains a packagesite.yaml which has one valid YAML doc in flowstyle per line, each being package data.\r\n\r\nNote: the field \"origin\" contains a path back to the SVN ports tree\r\ne.g. with origin=\"x11/xrefresh\" we can go to  https://svnweb.freebsd.org/ports/head/x11/xrefresh/\r\n\r\nFor dmidecode as an example package, the tarball:\r\n\r\nhttps://pkg.freebsd.org/FreeBSD:10:amd64/release_1/All/dmidecode-2.12.txz\r\n\r\nwould contain this +COMPACT_MANIFEST file as a YAML file (same strcuture as each line in the packagesite.yaml above):\r\n```\r\n    \"name\": \"dmidecode\", \r\n    \"origin\": \"sysutils/dmidecode\", \r\n    \"version\": \"2.12\", \r\n    \"name\": \"dmidecode\", \r\n    \"origin\": \"sysutils/dmidecode\", \r\n    \"version\": \"2.12\", \r\n    \"arch\": \"freebsd:10:x86:64\", \r\n    \"maintainer\": \"anders@FreeBSD.org\", \r\n    \"prefix\": \"/usr/local\", \r\n    \"www\": \"http://www.nongnu.org/dmidecode/\", \r\n    \"flatsize\": 188874, \r\n    \"comment\": \"Tool for dumping DMI (SMBIOS) contents in human-readable format\", \r\n    \"licenselogic\": \"single\", \r\n    \"licenses\": [\r\n        \"GPLv2\"\r\n    ], \r\n    \"desc\": \"Dmidecode is a tool or dumping a computer's DMI (some say SMBIOS) table\\ncontents in a human-readable format. The output contains a description of the\\nsystem's hardware components, as well as other useful pieces of information\\nsuch as serial numbers and BIOS revision.\\n\\nWWW: http://www.nongnu.org/dmidecode/\", \r\n    \"categories\": [\r\n        \"sysutils\"\r\n    ]\r\n    \"arch\": \"freebsd:10:x86:64\", \r\n    \"maintainer\": \"anders@FreeBSD.org\", \r\n    \"prefix\": \"/usr/local\", \r\n    \"www\": \"http://www.nongnu.org/dmidecode/\", \r\n    \"flatsize\": 188874, \r\n    \"comment\": \"Tool for dumping DMI (SMBIOS) contents in human-readable format\", \r\n    \"licenselogic\": \"single\", \r\n    \"licenses\": [\r\n        \"GPLv2\"\r\n    ], \r\n    \"desc\": \"Dmidecode is a tool or dumping a computer's DMI (some say SMBIOS) table\\ncontents in a human-readable format. The output contains a description of the\\nsystem's hardware components, as well as other useful pieces of information\\nsuch as serial numbers and BIOS revision.\\n\\nWWW: http://www.nongnu.org/dmidecode/\", \r\n    \"categories\": [\r\n        \"sysutils\"\r\n    ]\r\n}\r\n```\r\n\r\nBased on this we should be able to write a package manifest parser to read/report this metadata. For now we should IMHO focus only on the +COMPACT_MANIFEST.\r\n\r\n\r\nWe may need to map the FreeBSD license \"codes\" to proper keys, as a bonus.\r\n\r\n\r\nSome possible fields mapping:\r\n -   \"name\": \"dmidecode\", \r\n -   \"origin\": \"sysutils/dmidecode\", ==> can be used to infer the source URL for the package\r\n -   \"version\": \"2.12\", \r\n -   \"arch\": \"freebsd:10:x86:64\", ==> can may be used to infer the binary URL for the package such as https://pkg.freebsd.org/freebsd:10:x86:64/latest/All/dmidecode-2.12.txz\r\n -   \"maintainer\": \"anders@FreeBSD.org\",  ==> a Party\r\n -   \"prefix\": \"/usr/local\",  ==> useless for now\r\n -   \"www\": \"http://www.nongnu.org/dmidecode/\",  ==> homepage\r\n -   \"flatsize\": 188874, ==> not useful\r\n -   \"comment\": \"Tool for dumping DMI (SMBIOS) contents in human-readable format\", ==> first line of description \r\n -   \"licenselogic\": \"single\", ==> these two would be the asserted \r\n -   \"licenses\": [ \r\n        \"GPLv2\"\r\n    ], \r\n-    \"desc\": \"Dmidecode is a tool or dumping a computer's DMI (some say SMBIOS) table\\ncontents in a human-readable format. The output contains a description of the\\nsystem's hardware components, as well as other useful pieces of information\\nsuch as serial numbers and BIOS revision.\\n\\nWWW: http://www.nongnu.org/dmidecode/\",  ==> rest of description \r\n-    \"categories\": [ ==> keywords\r\n        \"sysutils\"\r\n    ]\r\n"},"comment":{"url":"https://api.github.com/repos/nexB/scancode-toolkit/issues/comments/436033391","html_url":"https://github.com/nexB/scancode-toolkit/issues/1073#issuecomment-436033391","issue_url":"https://api.github.com/repos/nexB/scancode-toolkit/issues/1073","id":436033391,"node_id":"MDEyOklzc3VlQ29tbWVudDQzNjAzMzM5MQ==","user":{"login":"pombredanne","id":675997,"node_id":"MDQ6VXNlcjY3NTk5Nw==","avatar_url":"https://avatars2.githubusercontent.com/u/675997?v=4","gravatar_id":"","url":"https://api.github.com/users/pombredanne","html_url":"https://github.com/pombredanne","followers_url":"https://api.github.com/users/pombredanne/followers","following_url":"https://api.github.com/users/pombredanne/following{/other_user}","gists_url":"https://api.github.com/users/pombredanne/gists{/gist_id}","starred_url":"https://api.github.com/users/pombredanne/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/pombredanne/subscriptions","organizations_url":"https://api.github.com/users/pombredanne/orgs","repos_url":"https://api.github.com/users/pombredanne/repos","events_url":"https://api.github.com/users/pombredanne/events{/privacy}","received_events_url":"https://api.github.com/users/pombredanne/received_events","type":"User","site_admin":false},"created_at":"2018-11-05T21:02:08Z","updated_at":"2018-11-05T21:02:08Z","author_association":"MEMBER","body":"Basic support is in develop. More to come later"}}
{"actor":{"display_login":"pombredanne"}}