{"action":"created","comment":{"url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/pulls/comments/84723471","pull_request_review_id":5482941,"id":84723471,"diff_hunk":"@@ -20,14 +20,18 @@ def __init__(self):\n             \"file_dir_permissions.csv\":     \"create_permission.py\",\n             \"accounts_password.csv\":        \"create_accounts_password.py\",\n         }\n-        self.supported_ovals      = [\"oval_5.10\"]\n-        self.langs                = [\"bash\", \"ansible\", \"oval\"]\n-        utils_dir                 = os.path.dirname(os.path.realpath(__file__))\n-        root_dir                  = os.path.join(utils_dir, \"..\", \"..\")\n-        self.shared_templates_dir = os.path.join(root_dir, \"shared\", \"templates\")\n+        self.supported_ovals = [\"oval_5.10\"]\n+        self.langs = [\"bash\", \"ansible\", \"oval\"]\n+        utils_dir = os.path.dirname(os.path.realpath(__file__))\n+        root_dir = os.path.join(utils_dir, \"..\", \"..\")\n+        self.shared_templates_dir = \\\n+            os.path.join(root_dir, \"shared\", \"templates\")\n \n         self.current_oval = \"oval_5.10\"\n \n+    def set_langs(self, langs):","path":"shared/utils/generate-from-templates.py","position":38,"original_position":38,"commit_id":"27f88eeddb2f1f349565a22865104e11c841f65b","original_commit_id":"27f88eeddb2f1f349565a22865104e11c841f65b","user":{"login":"mpreisler","id":753153,"avatar_url":"https://avatars.githubusercontent.com/u/753153?v=3","gravatar_id":"","url":"https://api.github.com/users/mpreisler","html_url":"https://github.com/mpreisler","followers_url":"https://api.github.com/users/mpreisler/followers","following_url":"https://api.github.com/users/mpreisler/following{/other_user}","gists_url":"https://api.github.com/users/mpreisler/gists{/gist_id}","starred_url":"https://api.github.com/users/mpreisler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mpreisler/subscriptions","organizations_url":"https://api.github.com/users/mpreisler/orgs","repos_url":"https://api.github.com/users/mpreisler/repos","events_url":"https://api.github.com/users/mpreisler/events{/privacy}","received_events_url":"https://api.github.com/users/mpreisler/received_events","type":"User","site_admin":false},"body":"We could but the script and templating don't really care what the language is. The only real special case is `oval`.","created_at":"2016-10-24T16:11:06Z","updated_at":"2016-10-24T16:11:06Z","html_url":"https://github.com/OpenSCAP/scap-security-guide/pull/1513#discussion_r84723471","pull_request_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/pulls/1513","_links":{"self":{"href":"https://api.github.com/repos/OpenSCAP/scap-security-guide/pulls/comments/84723471"},"html":{"href":"https://github.com/OpenSCAP/scap-security-guide/pull/1513#discussion_r84723471"},"pull_request":{"href":"https://api.github.com/repos/OpenSCAP/scap-security-guide/pulls/1513"}}},"pull_request":{"url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/pulls/1513","id":89896110,"html_url":"https://github.com/OpenSCAP/scap-security-guide/pull/1513","diff_url":"https://github.com/OpenSCAP/scap-security-guide/pull/1513.diff","patch_url":"https://github.com/OpenSCAP/scap-security-guide/pull/1513.patch","issue_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/issues/1513","number":1513,"state":"open","locked":false,"title":"Build remediations refactoring","user":{"login":"mpreisler","id":753153,"avatar_url":"https://avatars.githubusercontent.com/u/753153?v=3","gravatar_id":"","url":"https://api.github.com/users/mpreisler","html_url":"https://github.com/mpreisler","followers_url":"https://api.github.com/users/mpreisler/followers","following_url":"https://api.github.com/users/mpreisler/following{/other_user}","gists_url":"https://api.github.com/users/mpreisler/gists{/gist_id}","starred_url":"https://api.github.com/users/mpreisler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mpreisler/subscriptions","organizations_url":"https://api.github.com/users/mpreisler/orgs","repos_url":"https://api.github.com/users/mpreisler/repos","events_url":"https://api.github.com/users/mpreisler/events{/privacy}","received_events_url":"https://api.github.com/users/mpreisler/received_events","type":"User","site_admin":false},"body":"I have made some improvements and refactorings to `build-remediations.py` to learn how it works. I have more in the pipeline before I can actually use it in the cmake branch.\r\n\r\nWhat do you think about the script outputting to the directory you pass in instead of to the `output` directory inside it? That will make the script more flexible and better suited for cmake.\r\n\r\nWhat about moving `templates/static` to `input`? These files AREN'T templates and aren't really related to anything around them.\r\n\r\nWhat about moving built files away from `templates/output`. `$(OUT)` would make sense.\r\n\r\nWhy do we still have `input/remediations` in a lot of our products? Is that an oversight?! How long do we plan to keep them?\r\n\r\n~~`_get_template_dir` is defined twice and effectively overwritten in the script. The latter version is probably the correct one but I wanted to check with @ybznek before I rip it out.~~ @ybznek clarified this and fixed it, it has been merged.\r\n\r\nThere is still a ton of confusion around the way we build from templates and we need to clear this all up to have reproducible builds and avoid bugs.\r\n\r\nCC @ybznek ","created_at":"2016-10-18T20:50:35Z","updated_at":"2016-10-24T16:11:06Z","closed_at":null,"merged_at":null,"merge_commit_sha":"c44f975caee5926b0e51c42150a5546875825dcf","assignee":{"login":"jan-cerny","id":9050916,"avatar_url":"https://avatars.githubusercontent.com/u/9050916?v=3","gravatar_id":"","url":"https://api.github.com/users/jan-cerny","html_url":"https://github.com/jan-cerny","followers_url":"https://api.github.com/users/jan-cerny/followers","following_url":"https://api.github.com/users/jan-cerny/following{/other_user}","gists_url":"https://api.github.com/users/jan-cerny/gists{/gist_id}","starred_url":"https://api.github.com/users/jan-cerny/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jan-cerny/subscriptions","organizations_url":"https://api.github.com/users/jan-cerny/orgs","repos_url":"https://api.github.com/users/jan-cerny/repos","events_url":"https://api.github.com/users/jan-cerny/events{/privacy}","received_events_url":"https://api.github.com/users/jan-cerny/received_events","type":"User","site_admin":false},"assignees":[{"login":"jan-cerny","id":9050916,"avatar_url":"https://avatars.githubusercontent.com/u/9050916?v=3","gravatar_id":"","url":"https://api.github.com/users/jan-cerny","html_url":"https://github.com/jan-cerny","followers_url":"https://api.github.com/users/jan-cerny/followers","following_url":"https://api.github.com/users/jan-cerny/following{/other_user}","gists_url":"https://api.github.com/users/jan-cerny/gists{/gist_id}","starred_url":"https://api.github.com/users/jan-cerny/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jan-cerny/subscriptions","organizations_url":"https://api.github.com/users/jan-cerny/orgs","repos_url":"https://api.github.com/users/jan-cerny/repos","events_url":"https://api.github.com/users/jan-cerny/events{/privacy}","received_events_url":"https://api.github.com/users/jan-cerny/received_events","type":"User","site_admin":false}],"milestone":{"url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/milestones/23","html_url":"https://github.com/OpenSCAP/scap-security-guide/milestones/0.1.31","labels_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/milestones/23/labels","id":1842543,"number":23,"title":"0.1.31","description":null,"creator":{"login":"iankko","id":8414918,"avatar_url":"https://avatars.githubusercontent.com/u/8414918?v=3","gravatar_id":"","url":"https://api.github.com/users/iankko","html_url":"https://github.com/iankko","followers_url":"https://api.github.com/users/iankko/followers","following_url":"https://api.github.com/users/iankko/following{/other_user}","gists_url":"https://api.github.com/users/iankko/gists{/gist_id}","starred_url":"https://api.github.com/users/iankko/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/iankko/subscriptions","organizations_url":"https://api.github.com/users/iankko/orgs","repos_url":"https://api.github.com/users/iankko/repos","events_url":"https://api.github.com/users/iankko/events{/privacy}","received_events_url":"https://api.github.com/users/iankko/received_events","type":"User","site_admin":false},"open_issues":37,"closed_issues":179,"state":"open","created_at":"2016-06-22T08:39:18Z","updated_at":"2016-10-24T14:33:29Z","due_on":null,"closed_at":null},"commits_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/pulls/1513/commits","review_comments_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/pulls/1513/comments","review_comment_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/pulls/comments{/number}","comments_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/issues/1513/comments","statuses_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/statuses/27f88eeddb2f1f349565a22865104e11c841f65b","head":{"label":"mpreisler:build_remediations_refactoring","ref":"build_remediations_refactoring","sha":"27f88eeddb2f1f349565a22865104e11c841f65b","user":{"login":"mpreisler","id":753153,"avatar_url":"https://avatars.githubusercontent.com/u/753153?v=3","gravatar_id":"","url":"https://api.github.com/users/mpreisler","html_url":"https://github.com/mpreisler","followers_url":"https://api.github.com/users/mpreisler/followers","following_url":"https://api.github.com/users/mpreisler/following{/other_user}","gists_url":"https://api.github.com/users/mpreisler/gists{/gist_id}","starred_url":"https://api.github.com/users/mpreisler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mpreisler/subscriptions","organizations_url":"https://api.github.com/users/mpreisler/orgs","repos_url":"https://api.github.com/users/mpreisler/repos","events_url":"https://api.github.com/users/mpreisler/events{/privacy}","received_events_url":"https://api.github.com/users/mpreisler/received_events","type":"User","site_admin":false},"repo":{"id":23221535,"name":"scap-security-guide","full_name":"mpreisler/scap-security-guide","owner":{"login":"mpreisler","id":753153,"avatar_url":"https://avatars.githubusercontent.com/u/753153?v=3","gravatar_id":"","url":"https://api.github.com/users/mpreisler","html_url":"https://github.com/mpreisler","followers_url":"https://api.github.com/users/mpreisler/followers","following_url":"https://api.github.com/users/mpreisler/following{/other_user}","gists_url":"https://api.github.com/users/mpreisler/gists{/gist_id}","starred_url":"https://api.github.com/users/mpreisler/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/mpreisler/subscriptions","organizations_url":"https://api.github.com/users/mpreisler/orgs","repos_url":"https://api.github.com/users/mpreisler/repos","events_url":"https://api.github.com/users/mpreisler/events{/privacy}","received_events_url":"https://api.github.com/users/mpreisler/received_events","type":"User","site_admin":false},"private":false,"html_url":"https://github.com/mpreisler/scap-security-guide","description":"Baseline compliance content in SCAP formats","fork":true,"url":"https://api.github.com/repos/mpreisler/scap-security-guide","forks_url":"https://api.github.com/repos/mpreisler/scap-security-guide/forks","keys_url":"https://api.github.com/repos/mpreisler/scap-security-guide/keys{/key_id}","collaborators_url":"https://api.github.com/repos/mpreisler/scap-security-guide/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/mpreisler/scap-security-guide/teams","hooks_url":"https://api.github.com/repos/mpreisler/scap-security-guide/hooks","issue_events_url":"https://api.github.com/repos/mpreisler/scap-security-guide/issues/events{/number}","events_url":"https://api.github.com/repos/mpreisler/scap-security-guide/events","assignees_url":"https://api.github.com/repos/mpreisler/scap-security-guide/assignees{/user}","branches_url":"https://api.github.com/repos/mpreisler/scap-security-guide/branches{/branch}","tags_url":"https://api.github.com/repos/mpreisler/scap-security-guide/tags","blobs_url":"https://api.github.com/repos/mpreisler/scap-security-guide/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/mpreisler/scap-security-guide/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/mpreisler/scap-security-guide/git/refs{/sha}","trees_url":"https://api.github.com/repos/mpreisler/scap-security-guide/git/trees{/sha}","statuses_url":"https://api.github.com/repos/mpreisler/scap-security-guide/statuses/{sha}","languages_url":"https://api.github.com/repos/mpreisler/scap-security-guide/languages","stargazers_url":"https://api.github.com/repos/mpreisler/scap-security-guide/stargazers","contributors_url":"https://api.github.com/repos/mpreisler/scap-security-guide/contributors","subscribers_url":"https://api.github.com/repos/mpreisler/scap-security-guide/subscribers","subscription_url":"https://api.github.com/repos/mpreisler/scap-security-guide/subscription","commits_url":"https://api.github.com/repos/mpreisler/scap-security-guide/commits{/sha}","git_commits_url":"https://api.github.com/repos/mpreisler/scap-security-guide/git/commits{/sha}","comments_url":"https://api.github.com/repos/mpreisler/scap-security-guide/comments{/number}","issue_comment_url":"https://api.github.com/repos/mpreisler/scap-security-guide/issues/comments{/number}","contents_url":"https://api.github.com/repos/mpreisler/scap-security-guide/contents/{+path}","compare_url":"https://api.github.com/repos/mpreisler/scap-security-guide/compare/{base}...{head}","merges_url":"https://api.github.com/repos/mpreisler/scap-security-guide/merges","archive_url":"https://api.github.com/repos/mpreisler/scap-security-guide/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/mpreisler/scap-security-guide/downloads","issues_url":"https://api.github.com/repos/mpreisler/scap-security-guide/issues{/number}","pulls_url":"https://api.github.com/repos/mpreisler/scap-security-guide/pulls{/number}","milestones_url":"https://api.github.com/repos/mpreisler/scap-security-guide/milestones{/number}","notifications_url":"https://api.github.com/repos/mpreisler/scap-security-guide/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/mpreisler/scap-security-guide/labels{/name}","releases_url":"https://api.github.com/repos/mpreisler/scap-security-guide/releases{/id}","deployments_url":"https://api.github.com/repos/mpreisler/scap-security-guide/deployments","created_at":"2014-08-22T10:20:21Z","updated_at":"2016-07-19T21:06:09Z","pushed_at":"2016-10-24T14:55:23Z","git_url":"git://github.com/mpreisler/scap-security-guide.git","ssh_url":"git@github.com:mpreisler/scap-security-guide.git","clone_url":"https://github.com/mpreisler/scap-security-guide.git","svn_url":"https://github.com/mpreisler/scap-security-guide","homepage":"https://fedorahosted.org/scap-security-guide/","size":16356,"stargazers_count":0,"watchers_count":0,"language":"HTML","has_issues":false,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":0,"mirror_url":null,"open_issues_count":0,"forks":0,"open_issues":0,"watchers":0,"default_branch":"master"}},"base":{"label":"OpenSCAP:master","ref":"master","sha":"e13d6d196cc32ab2bb5c2b849bc4fa650ee6fc6c","user":{"login":"OpenSCAP","id":7439934,"avatar_url":"https://avatars.githubusercontent.com/u/7439934?v=3","gravatar_id":"","url":"https://api.github.com/users/OpenSCAP","html_url":"https://github.com/OpenSCAP","followers_url":"https://api.github.com/users/OpenSCAP/followers","following_url":"https://api.github.com/users/OpenSCAP/following{/other_user}","gists_url":"https://api.github.com/users/OpenSCAP/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenSCAP/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenSCAP/subscriptions","organizations_url":"https://api.github.com/users/OpenSCAP/orgs","repos_url":"https://api.github.com/users/OpenSCAP/repos","events_url":"https://api.github.com/users/OpenSCAP/events{/privacy}","received_events_url":"https://api.github.com/users/OpenSCAP/received_events","type":"Organization","site_admin":false},"repo":{"id":19279458,"name":"scap-security-guide","full_name":"OpenSCAP/scap-security-guide","owner":{"login":"OpenSCAP","id":7439934,"avatar_url":"https://avatars.githubusercontent.com/u/7439934?v=3","gravatar_id":"","url":"https://api.github.com/users/OpenSCAP","html_url":"https://github.com/OpenSCAP","followers_url":"https://api.github.com/users/OpenSCAP/followers","following_url":"https://api.github.com/users/OpenSCAP/following{/other_user}","gists_url":"https://api.github.com/users/OpenSCAP/gists{/gist_id}","starred_url":"https://api.github.com/users/OpenSCAP/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/OpenSCAP/subscriptions","organizations_url":"https://api.github.com/users/OpenSCAP/orgs","repos_url":"https://api.github.com/users/OpenSCAP/repos","events_url":"https://api.github.com/users/OpenSCAP/events{/privacy}","received_events_url":"https://api.github.com/users/OpenSCAP/received_events","type":"Organization","site_admin":false},"private":false,"html_url":"https://github.com/OpenSCAP/scap-security-guide","description":"Baseline compliance content in SCAP formats","fork":false,"url":"https://api.github.com/repos/OpenSCAP/scap-security-guide","forks_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/forks","keys_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/keys{/key_id}","collaborators_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/collaborators{/collaborator}","teams_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/teams","hooks_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/hooks","issue_events_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/issues/events{/number}","events_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/events","assignees_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/assignees{/user}","branches_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/branches{/branch}","tags_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/tags","blobs_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/git/blobs{/sha}","git_tags_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/git/tags{/sha}","git_refs_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/git/refs{/sha}","trees_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/git/trees{/sha}","statuses_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/statuses/{sha}","languages_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/languages","stargazers_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/stargazers","contributors_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/contributors","subscribers_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/subscribers","subscription_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/subscription","commits_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/commits{/sha}","git_commits_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/git/commits{/sha}","comments_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/comments{/number}","issue_comment_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/issues/comments{/number}","contents_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/contents/{+path}","compare_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/compare/{base}...{head}","merges_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/merges","archive_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/{archive_format}{/ref}","downloads_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/downloads","issues_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/issues{/number}","pulls_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/pulls{/number}","milestones_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/milestones{/number}","notifications_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/notifications{?since,all,participating}","labels_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/labels{/name}","releases_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/releases{/id}","deployments_url":"https://api.github.com/repos/OpenSCAP/scap-security-guide/deployments","created_at":"2014-04-29T14:32:02Z","updated_at":"2016-10-23T18:25:55Z","pushed_at":"2016-10-24T14:55:24Z","git_url":"git://github.com/OpenSCAP/scap-security-guide.git","ssh_url":"git@github.com:OpenSCAP/scap-security-guide.git","clone_url":"https://github.com/OpenSCAP/scap-security-guide.git","svn_url":"https://github.com/OpenSCAP/scap-security-guide","homepage":"http://www.open-scap.org/security-policies/scap-security-guide","size":20800,"stargazers_count":183,"watchers_count":183,"language":"HTML","has_issues":true,"has_downloads":true,"has_wiki":true,"has_pages":false,"forks_count":103,"mirror_url":null,"open_issues_count":121,"forks":103,"open_issues":121,"watchers":183,"default_branch":"master"}},"_links":{"self":{"href":"https://api.github.com/repos/OpenSCAP/scap-security-guide/pulls/1513"},"html":{"href":"https://github.com/OpenSCAP/scap-security-guide/pull/1513"},"issue":{"href":"https://api.github.com/repos/OpenSCAP/scap-security-guide/issues/1513"},"comments":{"href":"https://api.github.com/repos/OpenSCAP/scap-security-guide/issues/1513/comments"},"review_comments":{"href":"https://api.github.com/repos/OpenSCAP/scap-security-guide/pulls/1513/comments"},"review_comment":{"href":"https://api.github.com/repos/OpenSCAP/scap-security-guide/pulls/comments{/number}"},"commits":{"href":"https://api.github.com/repos/OpenSCAP/scap-security-guide/pulls/1513/commits"},"statuses":{"href":"https://api.github.com/repos/OpenSCAP/scap-security-guide/statuses/27f88eeddb2f1f349565a22865104e11c841f65b"}}}}
{"actor":{"display_login":"mpreisler"}}