{"action":"created","comment":{"url":"https://api.github.com/repos/gofed/go-macros/pulls/comments/175926398","pull_request_review_id":105540994,"id":175926398,"diff_hunk":"@@ -262,9 +267,8 @@ case $action in\n                       ln -fs \"${sourcedir}\"           \"${GO_BUILD_PATH}/src/${goipath}\"\n                     fi\n                     pushd \"${GO_BUILD_PATH}/src/${goipath}\" >/dev/null\n-                      [[ ! -e .goipath ]] && touch .goipath\n-                      golistfiles=$(listfiles \"${goipath}\")\n-                      for file in ${golistfiles[@]} ${otherfiles[@]} .goipath ; do\n+                      echo \"${golistflags[$goipath]}\" > .goipath","path":"bin/go-rpm-integration","position":50,"original_position":50,"commit_id":"49580f0d1f2f71aba7358131a858ac08e662cab4","original_commit_id":"49580f0d1f2f71aba7358131a858ac08e662cab4","user":{"login":"nim-nim","id":7858822,"avatar_url":"https://avatars2.githubusercontent.com/u/7858822?v=4","gravatar_id":"","url":"https://api.github.com/users/nim-nim","html_url":"https://github.com/nim-nim","followers_url":"https://api.github.com/users/nim-nim/followers","following_url":"https://api.github.com/users/nim-nim/following{/other_user}","gists_url":"https://api.github.com/users/nim-nim/gists{/gist_id}","starred_url":"https://api.github.com/users/nim-nim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nim-nim/subscriptions","organizations_url":"https://api.github.com/users/nim-nim/orgs","repos_url":"https://api.github.com/users/nim-nim/repos","events_url":"https://api.github.com/users/nim-nim/events{/privacy}","received_events_url":"https://api.github.com/users/nim-nim/received_events","type":"User","site_admin":false},"body":"Whatever we end up doing, forget about the “new pure tooling on top of rpm”.  The whole idea is dead dead beaten to death horse no use trying to relive it one more time.\r\n\r\nIt has been tried countless times by people more interested in language purity or experimenting than in getting working production solutions. They always try to “simplify” the needs to avoid dealing with hard problems and by the time they realise they can't avoid dealing with the hard problems they usually declare the experiment a success and move on to something else to avoid admitting their design is a failure. The strength of rpm is that it is on the service of actual long lived distributions people depend on, it forces its maintainers to be pragmatic and deal with hard stuff without postponing them to some illusory future.\r\n\r\nDemonstrating something able to deploy simplified software patterns once is trivial. Dealing with real-world software, continuously updated over time, that get renamed renumbered split merged forked reconfigured is several orders of magnitudes harder. The competitors got closer to rpm over time not the reverse, windows updates gets more like rpm every year and it comes from a completely different and segregated software culture. (it could write deb instead of rpm, real world constrains have forced a complete design convergence over time).\r\n\r\nIn the end of the day the rpm design is sound and time-tested and you always have apps that cross language barriers (case in point I got into this adventure because the prometheus snmp exporter needs to link to libsnmp and upstream is too enamoured with pure Go solutions to be able to publish any working binary for Fedora/EL7).\r\n\r\nSo what works: extending rpm integration to new languages with language-specific helpers. (rpm *can* be extended and adapted to changes. Purists always forget extension or change capabilities because they want the world to conform to their view, not adapt themselves to the world)\r\n\r\nWhat does not work: restarting from scratch, expecting software ecosystem to follow a single, pure, mono-language design that makes rpm constrains unnecessary.\r\n\r\n","created_at":"2018-03-20T21:20:25Z","updated_at":"2018-03-20T21:20:26Z","html_url":"https://github.com/gofed/go-macros/pull/37#discussion_r175926398","pull_request_url":"https://api.github.com/repos/gofed/go-macros/pulls/37","author_association":"NONE","_links":{"self":{"href":"https://api.github.com/repos/gofed/go-macros/pulls/comments/175926398"},"html":{"href":"https://github.com/gofed/go-macros/pull/37#discussion_r175926398"},"pull_request":{"href":"https://api.github.com/repos/gofed/go-macros/pulls/37"}},"in_reply_to_id":175811068},"pull_request":{"url":"https://api.github.com/repos/gofed/go-macros/pulls/37","id":174810182,"html_url":"https://github.com/gofed/go-macros/pull/37","diff_url":"https://github.com/gofed/go-macros/pull/37.diff","patch_url":"https://github.com/gofed/go-macros/pull/37.patch","issue_url":"https://api.github.com/repos/gofed/go-macros/issues/37","number":37,"state":"open","locked":false,"title":"Fix splitting of sub-import paths in separate packages","user":{"login":"nim-nim","id":7858822,"avatar_url":"https://avatars2.githubusercontent.com/u/7858822?v=4","gravatar_id":"","url":"https://api.github.com/users/nim-nim","html_url":"https://github.com/nim-nim","followers_url":"https://api.github.com/users/nim-nim/followers","following_url":"https://api.github.com/users/nim-nim/following{/other_user}","gists_url":"https://api.github.com/users/nim-nim/gists{/gist_id}","starred_url":"https://api.github.com/users/nim-nim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nim-nim/subscriptions","organizations_url":"https://api.github.com/users/nim-nim/orgs","repos_url":"https://api.github.com/users/nim-nim/repos","events_url":"https://api.github.com/users/nim-nim/events{/privacy}","received_events_url":"https://api.github.com/users/nim-nim/received_events","type":"User","site_admin":false},"body":"I needed to package a project subtree separately, as it pulled in problem dependencies, and the existing code proved totally broken in practice.\r\n\r\nThis fixed version works for me.\r\n\r\nI honestly do not see the point of the last_goipath and golistflags[$_last_goipath] stuff from line 137 onwards. IMHO it adds a lot of complexity and there’s no way it can actually work as intended in presence of default exclusion flags. However, it didn't prevent my subpackaging as a separate import path so I let it in.\r\n\r\nPlease check again if you actually need this with the fix I'm posting here. If not, please remove the per-goipath array indexing and make back the -d and -t exclusion flags as relative to the project root.\r\n\r\nWith or without the per-goipath exclusion array this fix is needed for the logic to actually work\r\n\r\n\r\n\r\n","created_at":"2018-03-13T22:42:45Z","updated_at":"2018-03-20T21:20:26Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c5c96605349fc23c7b03e2390c280d174a4b4f77","assignee":null,"assignees":[],"requested_reviewers":[],"requested_teams":[],"labels":[],"milestone":null,"commits_url":"https://api.github.com/repos/gofed/go-macros/pulls/37/commits","review_comments_url":"https://api.github.com/repos/gofed/go-macros/pulls/37/comments","review_comment_url":"https://api.github.com/repos/gofed/go-macros/pulls/comments{/number}","comments_url":"https://api.github.com/repos/gofed/go-macros/issues/37/comments","statuses_url":"https://api.github.com/repos/gofed/go-macros/statuses/49580f0d1f2f71aba7358131a858ac08e662cab4","head":{"label":"nim-nim:fix-multiple-goipath-use","ref":"fix-multiple-goipath-use","sha":"49580f0d1f2f71aba7358131a858ac08e662cab4","user":{"login":"nim-nim","id":7858822,"avatar_url":"https://avatars2.githubusercontent.com/u/7858822?v=4","gravatar_id":"","url":"https://api.github.com/users/nim-nim","html_url":"https://github.com/nim-nim","followers_url":"https://api.github.com/users/nim-nim/followers","following_url":"https://api.github.com/users/nim-nim/following{/other_user}","gists_url":"https://api.github.com/users/nim-nim/gists{/gist_id}","starred_url":"https://api.github.com/users/nim-nim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nim-nim/subscriptions","organizations_url":"https://api.github.com/users/nim-nim/orgs","repos_url":"https://api.github.com/users/nim-nim/repos","events_url":"https://api.github.com/users/nim-nim/events{/privacy}","received_events_url":"https://api.github.com/users/nim-nim/received_events","type":"User","site_admin":false},"repo":{"id":123310619,"name":"go-macros","full_name":"nim-nim/go-macros","owner":{"login":"nim-nim","id":7858822,"avatar_url":"https://avatars2.githubusercontent.com/u/7858822?v=4","gravatar_id":"","url":"https://api.github.com/users/nim-nim","html_url":"https://github.com/nim-nim","followers_url":"https://api.github.com/users/nim-nim/followers","following_url":"https://api.github.com/users/nim-nim/following{/other_user}","gists_url":"https://api.github.com/users/nim-nim/gists{/gist_id}","starred_url":"https://api.github.com/users/nim-nim/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/nim-nim/subscriptions","organizations_url":"https://api.github.com/users/nim-nim/orgs","repos_url":"https://api.github.com/users/nim-nim/repos","events_url":"https://api.github.com/users/nim-nim/events{/privacy}","received_events_url":"https://api.github.com/users/nim-nim/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/nim-nim/go-macros","description":"Rpm mechanics for Go packaging","fork":true,"url":"https://api.github.com/repos/nim-nim/go-macros","forks_url":"https://api.github.com/repos/nim-nim/go-macros/forks","keys_url":"https://api.github.com/repos/nim-nim/go-macros/keys{/key_id}","collaborators_url":"https://api.github.com/repos/nim-nim/go-macros/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/nim-nim/go-macros/teams","hooks_url":"https://api.github.com/repos/nim-nim/go-macros/hooks","issue_events_url":"https://api.github.com/repos/nim-nim/go-macros/issues/events{/number}","events_url":"https://api.github.com/repos/nim-nim/go-macros/events","assignees_url":"https://api.github.com/repos/nim-nim/go-macros/assignees{/user}","branches_url":"https://api.github.com/repos/nim-nim/go-macros/branches{/branch}","tags_url":"https://api.github.com/repos/nim-nim/go-macros/tags","blobs_url":"https://api.github.com/repos/nim-nim/go-macros/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/nim-nim/go-macros/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/nim-nim/go-macros/git/refs{/sha}","trees_url":"https://api.github.com/repos/nim-nim/go-macros/git/trees{/sha}","statuses_url":"https://api.github.com/repos/nim-nim/go-macros/statuses/{sha}","languages_url":"https://api.github.com/repos/nim-nim/go-macros/languages","stargazers_url":"https://api.github.com/repos/nim-nim/go-macros/stargazers","contributors_url":"https://api.github.com/repos/nim-nim/go-macros/contributors","subscribers_url":"https://api.github.com/repos/nim-nim/go-macros/subscribers","subscription_url":"https://api.github.com/repos/nim-nim/go-macros/subscription","commits_url":"https://api.github.com/repos/nim-nim/go-macros/commits{/sha}","git_commits_url":"https://api.github.com/repos/nim-nim/go-macros/git/commits{/sha}","comments_url":"https://api.github.com/repos/nim-nim/go-macros/comments{/number}","issue_comment_url":"https://api.github.com/repos/nim-nim/go-macros/issues/comments{/number}","contents_url":"https://api.github.com/repos/nim-nim/go-macros/contents/{+path}","compare_url":"https://api.github.com/repos/nim-nim/go-macros/compare/{base}...{head}","merges_url":"https://api.github.com/repos/nim-nim/go-macros/merges","archive_url":"https://api.github.com/repos/nim-nim/go-macros/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/nim-nim/go-macros/downloads","issues_url":"https://api.github.com/repos/nim-nim/go-macros/issues{/number}","pulls_url":"https://api.github.com/repos/nim-nim/go-macros/pulls{/number}","milestones_url":"https://api.github.com/repos/nim-nim/go-macros/milestones{/number}","notifications_url":"https://api.github.com/repos/nim-nim/go-macros/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/nim-nim/go-macros/labels{/name}","releases_url":"https://api.github.com/repos/nim-nim/go-macros/releases{/id}","deployments_url":"https://api.github.com/repos/nim-nim/go-macros/deployments","created_at":"2018-02-28T16:20:55Z","updated_at":"2018-03-14T08:22:31Z","pushed_at":"2018-03-14T08:22:27Z","git_url":"git://github.com/nim-nim/go-macros.git","ssh_url":"git@github.com:nim-nim/go-macros.git","clone_url":"https://github.com/nim-nim/go-macros.git","svn_url":"https://github.com/nim-nim/go-macros","homepage":null,"size":4239,"stargazers_count":1,"watchers_count":1,"language":"Shell","has_issues":false,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"archived":false,"open_issues_count":0,"license":null,"forks":0,"open_issues":0,"watchers":1,"default_branch":"master"}},"base":{"label":"gofed:master","ref":"master","sha":"6f0cadc4c48f93f02eb573649e2a94eeef12f15c","user":{"login":"gofed","id":14820221,"avatar_url":"https://avatars1.githubusercontent.com/u/14820221?v=4","gravatar_id":"","url":"https://api.github.com/users/gofed","html_url":"https://github.com/gofed","followers_url":"https://api.github.com/users/gofed/followers","following_url":"https://api.github.com/users/gofed/following{/other_user}","gists_url":"https://api.github.com/users/gofed/gists{/gist_id}","starred_url":"https://api.github.com/users/gofed/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gofed/subscriptions","organizations_url":"https://api.github.com/users/gofed/orgs","repos_url":"https://api.github.com/users/gofed/repos","events_url":"https://api.github.com/users/gofed/events{/privacy}","received_events_url":"https://api.github.com/users/gofed/received_events","type":"Organization","site_admin":false},"repo":{"id":121745153,"name":"go-macros","full_name":"gofed/go-macros","owner":{"login":"gofed","id":14820221,"avatar_url":"https://avatars1.githubusercontent.com/u/14820221?v=4","gravatar_id":"","url":"https://api.github.com/users/gofed","html_url":"https://github.com/gofed","followers_url":"https://api.github.com/users/gofed/followers","following_url":"https://api.github.com/users/gofed/following{/other_user}","gists_url":"https://api.github.com/users/gofed/gists{/gist_id}","starred_url":"https://api.github.com/users/gofed/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/gofed/subscriptions","organizations_url":"https://api.github.com/users/gofed/orgs","repos_url":"https://api.github.com/users/gofed/repos","events_url":"https://api.github.com/users/gofed/events{/privacy}","received_events_url":"https://api.github.com/users/gofed/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/gofed/go-macros","description":"Rpm mechanics for Go packaging","fork":false,"url":"https://api.github.com/repos/gofed/go-macros","forks_url":"https://api.github.com/repos/gofed/go-macros/forks","keys_url":"https://api.github.com/repos/gofed/go-macros/keys{/key_id}","collaborators_url":"https://api.github.com/repos/gofed/go-macros/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/gofed/go-macros/teams","hooks_url":"https://api.github.com/repos/gofed/go-macros/hooks","issue_events_url":"https://api.github.com/repos/gofed/go-macros/issues/events{/number}","events_url":"https://api.github.com/repos/gofed/go-macros/events","assignees_url":"https://api.github.com/repos/gofed/go-macros/assignees{/user}","branches_url":"https://api.github.com/repos/gofed/go-macros/branches{/branch}","tags_url":"https://api.github.com/repos/gofed/go-macros/tags","blobs_url":"https://api.github.com/repos/gofed/go-macros/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/gofed/go-macros/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/gofed/go-macros/git/refs{/sha}","trees_url":"https://api.github.com/repos/gofed/go-macros/git/trees{/sha}","statuses_url":"https://api.github.com/repos/gofed/go-macros/statuses/{sha}","languages_url":"https://api.github.com/repos/gofed/go-macros/languages","stargazers_url":"https://api.github.com/repos/gofed/go-macros/stargazers","contributors_url":"https://api.github.com/repos/gofed/go-macros/contributors","subscribers_url":"https://api.github.com/repos/gofed/go-macros/subscribers","subscription_url":"https://api.github.com/repos/gofed/go-macros/subscription","commits_url":"https://api.github.com/repos/gofed/go-macros/commits{/sha}","git_commits_url":"https://api.github.com/repos/gofed/go-macros/git/commits{/sha}","comments_url":"https://api.github.com/repos/gofed/go-macros/comments{/number}","issue_comment_url":"https://api.github.com/repos/gofed/go-macros/issues/comments{/number}","contents_url":"https://api.github.com/repos/gofed/go-macros/contents/{+path}","compare_url":"https://api.github.com/repos/gofed/go-macros/compare/{base}...{head}","merges_url":"https://api.github.com/repos/gofed/go-macros/merges","archive_url":"https://api.github.com/repos/gofed/go-macros/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/gofed/go-macros/downloads","issues_url":"https://api.github.com/repos/gofed/go-macros/issues{/number}","pulls_url":"https://api.github.com/repos/gofed/go-macros/pulls{/number}","milestones_url":"https://api.github.com/repos/gofed/go-macros/milestones{/number}","notifications_url":"https://api.github.com/repos/gofed/go-macros/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/gofed/go-macros/labels{/name}","releases_url":"https://api.github.com/repos/gofed/go-macros/releases{/id}","deployments_url":"https://api.github.com/repos/gofed/go-macros/deployments","created_at":"2018-02-16T11:49:12Z","updated_at":"2018-03-20T16:44:01Z","pushed_at":"2018-03-20T15:57:09Z","git_url":"git://github.com/gofed/go-macros.git","ssh_url":"git@github.com:gofed/go-macros.git","clone_url":"https://github.com/gofed/go-macros.git","svn_url":"https://github.com/gofed/go-macros","homepage":null,"size":4232,"stargazers_count":2,"watchers_count":2,"language":"Shell","has_issues":true,"has_projects":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":4,"mirror_url":null,"archived":false,"open_issues_count":12,"license":null,"forks":4,"open_issues":12,"watchers":2,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/gofed/go-macros/pulls/37"},"html":{"href":"https://github.com/gofed/go-macros/pull/37"},"issue":{"href":"https://api.github.com/repos/gofed/go-macros/issues/37"},"comments":{"href":"https://api.github.com/repos/gofed/go-macros/issues/37/comments"},"review_comments":{"href":"https://api.github.com/repos/gofed/go-macros/pulls/37/comments"},"review_comment":{"href":"https://api.github.com/repos/gofed/go-macros/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/gofed/go-macros/pulls/37/commits"},"statuses":{"href":"https://api.github.com/repos/gofed/go-macros/statuses/49580f0d1f2f71aba7358131a858ac08e662cab4"}},"author_association":"NONE"}}
{"actor":{"display_login":"nim-nim"}}