{"action":"created","issue":{"url":"https://api.github.com/repos/freebsd/poudriere/issues/313","labels_url":"https://api.github.com/repos/freebsd/poudriere/issues/313/labels{/name}","comments_url":"https://api.github.com/repos/freebsd/poudriere/issues/313/comments","events_url":"https://api.github.com/repos/freebsd/poudriere/issues/313/events","html_url":"https://github.com/freebsd/poudriere/issues/313","id":77831046,"number":313,"title":"Poudriere fails to build pyNN- dependencies of non-default python version","user":{"login":"yurivict","id":271906,"avatar_url":"https://avatars.githubusercontent.com/u/271906?v=3","gravatar_id":"","url":"https://api.github.com/users/yurivict","html_url":"https://github.com/yurivict","followers_url":"https://api.github.com/users/yurivict/followers","following_url":"https://api.github.com/users/yurivict/following{/other_user}","gists_url":"https://api.github.com/users/yurivict/gists{/gist_id}","starred_url":"https://api.github.com/users/yurivict/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yurivict/subscriptions","organizations_url":"https://api.github.com/users/yurivict/orgs","repos_url":"https://api.github.com/users/yurivict/repos","events_url":"https://api.github.com/users/yurivict/events{/privacy}","received_events_url":"https://api.github.com/users/yurivict/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":1,"created_at":"2015-05-18T22:32:31Z","updated_at":"2015-05-19T00:56:15Z","closed_at":null,"body":"Port shar is here: http://pastebin.com/c98Jn1XX\r\n\r\nIt does rebuild and extract python34 fine:\r\n````\r\n[10amd64-local-workstation-job-01] `-- Extracting libffi-3.2.1... done\r\n[10amd64-local-workstation-job-01] Extracting python34-3.4.3_1... done\r\n===>   Returning to build of tiny-network-utilities-0.150518\r\n````\r\nbut it fails to rebuild required py34-* modules:\r\n````\r\n=======================<phase: run-depends    >============================\r\n===>   tiny-network-utilities-0.150518 depends on package: py34-netifaces>0 - not found\r\n===>    Verifying install for py34-netifaces>0 in /usr/ports/net/py-netifaces\r\n===>   tiny-network-utilities-0.150518 depends on package: /packages/All/py34-netifaces-0.10.3.txz - not found\r\n===>   USE_PACKAGE_DEPENDS_ONLY set - not building missing dependency from source\r\n*** Error code 1\r\n````\r\n\r\nIt looks like poudriere rebuilds py27- dependencies, and then fails on missing py34- ones.\r\n\r\nThis may well be the problem in ports Mk/, but it only fails in poudriere."},"comment":{"url":"https://api.github.com/repos/freebsd/poudriere/issues/comments/103285941","html_url":"https://github.com/freebsd/poudriere/issues/313#issuecomment-103285941","issue_url":"https://api.github.com/repos/freebsd/poudriere/issues/313","id":103285941,"user":{"login":"yurivict","id":271906,"avatar_url":"https://avatars.githubusercontent.com/u/271906?v=3","gravatar_id":"","url":"https://api.github.com/users/yurivict","html_url":"https://github.com/yurivict","followers_url":"https://api.github.com/users/yurivict/followers","following_url":"https://api.github.com/users/yurivict/following{/other_user}","gists_url":"https://api.github.com/users/yurivict/gists{/gist_id}","starred_url":"https://api.github.com/users/yurivict/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/yurivict/subscriptions","organizations_url":"https://api.github.com/users/yurivict/orgs","repos_url":"https://api.github.com/users/yurivict/repos","events_url":"https://api.github.com/users/yurivict/events{/privacy}","received_events_url":"https://api.github.com/users/yurivict/received_events","type":"User","site_admin":false},"created_at":"2015-05-19T00:56:15Z","updated_at":"2015-05-19T00:56:15Z","body":"Looking into this myself. Looks like pourdiere isn't package generation aware.\r\n\r\n'list_deps' is where this begins. Changing it to this:\r\n````\r\nlist_deps() {\r\n        [ $# -ne 1 ] && eargs list_deps directory\r\n        local dir=\"/usr/ports/$1\"\r\n        local makeargs=\"-VPKG_DEPENDS -VBUILD_DEPENDS -VEXTRACT_DEPENDS -VLIB_DEPENDS -VPATCH_DEPENDS -VFETCH_DEPENDS -VRUN_DEPENDS\"\r\n\r\n        prefix_stderr_quick \"(${COLOR_PORT}$1${COLOR_RESET})${COLOR_WARN}\" \\\r\n                injail make -C ${dir} $makeargs | \\\r\n                tr ' ' '\\n' | \\\r\n                sed -E \"s,^(py[0-9]+)-(.*)/py-(.*),\\1-\\2/\\1-\\3,g\" | \\\r\n                sed -e \"s,[[:graph:]]*/usr/ports/,,g\" \\\r\n                -e \"s,:[[:graph:]]*,,g\" -e '/^$/d' | \\\r\n                sort -u || err 1 \"Makefile broken: $1\"\r\n}\r\n````\r\nmakes it compute package names with generations.\r\nThis will need to be used to strip generation:\r\n````\r\npname_strip_generation() {\r\n        echo \"$1\" | sed -E \"s,^(py[0-9]+)-,py-,g\" | \\\r\n}\r\n````\r\nThen many functions need to be aware of this, when port directory =/= port name with generation in it.\r\n\r\n@bdrewery  - any comment? How hard is this to fix? Am I missing anything?\r\n"}}