{"action":"created","issue":{"url":"https://api.github.com/repos/nodejs/node/issues/4607","repository_url":"https://api.github.com/repos/nodejs/node","labels_url":"https://api.github.com/repos/nodejs/node/issues/4607/labels{/name}","comments_url":"https://api.github.com/repos/nodejs/node/issues/4607/comments","events_url":"https://api.github.com/repos/nodejs/node/issues/4607/events","html_url":"https://github.com/nodejs/node/issues/4607","id":125801100,"number":4607,"title":"TODO comments in Makefile* and configure","user":{"login":"Trott","id":718899,"avatar_url":"https://avatars.githubusercontent.com/u/718899?v=3","gravatar_id":"","url":"https://api.github.com/users/Trott","html_url":"https://github.com/Trott","followers_url":"https://api.github.com/users/Trott/followers","following_url":"https://api.github.com/users/Trott/following{/other_user}","gists_url":"https://api.github.com/users/Trott/gists{/gist_id}","starred_url":"https://api.github.com/users/Trott/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Trott/subscriptions","organizations_url":"https://api.github.com/users/Trott/orgs","repos_url":"https://api.github.com/users/Trott/repos","events_url":"https://api.github.com/users/Trott/events{/privacy}","received_events_url":"https://api.github.com/users/Trott/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/nodejs/node/labels/build","name":"build","color":"eb6420"},{"url":"https://api.github.com/repos/nodejs/node/labels/good%20first%20contribution","name":"good first contribution","color":"bfdadc"},{"url":"https://api.github.com/repos/nodejs/node/labels/help%20wanted","name":"help wanted","color":"159818"},{"url":"https://api.github.com/repos/nodejs/node/labels/mentor-available","name":"mentor-available","color":"006b75"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":23,"created_at":"2016-01-10T05:25:12Z","updated_at":"2016-05-13T16:27:48Z","closed_at":null,"body":"Ref: #264 \r\n\r\nThere are four TODO comments in the general build scripts for the project. It would be great to either remove them from the code (if they are no longer valid or at least not particularly high value), or get issues opened for them, or just get whatever it is they are addressing addressed. Here they are as of this writing.\r\n\r\n- [ ] 1: Makefile:\r\n```\r\n# .buildstamp and .docbuildstamp need $(NODE_EXE) but cannot depend on it\r\n# directly because it calls make recursively.  The parent make cannot know\r\n# if the subprocess touched anything so it pessimistically assumes that\r\n# .buildstamp and .docbuildstamp are out of date and need a rebuild.\r\n# Just goes to show that recursive make really is harmful...\r\n# TODO(bnoordhuis) Force rebuild after gyp or node-gyp update.\r\nbuild-addons: $(NODE_EXE) test/addons/.buildstamp\r\n```\r\n\r\n- [x] 2: Makefile.build:\r\n```\r\n# TODO(bnoordhuis) Make i18n support configurable.\r\nGYPFLAGS ?= -Dv8_enable_i18n_support=0\r\n```\r\n\r\n- [x] 3: configure:\r\n```\r\n# TODO document when we've decided on what the tracing API and its options will\r\n# look like\r\nparser.add_option('--systemtap-includes',\r\n    action='store',\r\n    dest='systemtap_includes',\r\n    help=optparse.SUPPRESS_HELP)\r\n```\r\n\r\n- [x] 4: And again in configure:\r\n```\r\n  icu_endianness = sys.byteorder[0];  # TODO(srl295): EBCDIC should be 'e'\r\n```\r\n\r\n/cc @bnoordhuis, @srl295\r\n"},"comment":{"url":"https://api.github.com/repos/nodejs/node/issues/comments/219092701","html_url":"https://github.com/nodejs/node/issues/4607#issuecomment-219092701","issue_url":"https://api.github.com/repos/nodejs/node/issues/4607","id":219092701,"user":{"login":"Fishrock123","id":1093990,"avatar_url":"https://avatars.githubusercontent.com/u/1093990?v=3","gravatar_id":"","url":"https://api.github.com/users/Fishrock123","html_url":"https://github.com/Fishrock123","followers_url":"https://api.github.com/users/Fishrock123/followers","following_url":"https://api.github.com/users/Fishrock123/following{/other_user}","gists_url":"https://api.github.com/users/Fishrock123/gists{/gist_id}","starred_url":"https://api.github.com/users/Fishrock123/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/Fishrock123/subscriptions","organizations_url":"https://api.github.com/users/Fishrock123/orgs","repos_url":"https://api.github.com/users/Fishrock123/repos","events_url":"https://api.github.com/users/Fishrock123/events{/privacy}","received_events_url":"https://api.github.com/users/Fishrock123/received_events","type":"User","site_admin":false},"created_at":"2016-05-13T16:27:48Z","updated_at":"2016-05-13T16:27:48Z","body":"> It looks like the npm project is copied into the node repository by hand (maybe?) whenever node bumps it's dependency version on npm. I don't see any place where this is automated. But perhaps I just haven't found it yet.\r\n\r\nThe npm team does that. Here's the documentation on the process: https://github.com/npm/npm/wiki/CLI-Team-Process#submitting-the-new-latest-x-to-nodejs\r\n\r\n> So, if this is true then `gyp` and `node-gyp` are only updated when npm is updated as a whole - right? In that case, would a make prerequisite on the `npm` directory work OK? If no files were added or removed in the update, this wouldn't actually catch it, however.\r\n\r\nNah, we update `tools/gyp` separately. I think that is what you are asking?\r\n"}}