{"action":"created","issue":{"url":"https://api.github.com/repos/embox/embox/issues/607","labels_url":"https://api.github.com/repos/embox/embox/issues/607/labels{/name}","comments_url":"https://api.github.com/repos/embox/embox/issues/607/comments","events_url":"https://api.github.com/repos/embox/embox/issues/607/events","html_url":"https://github.com/embox/embox/issues/607","id":68014253,"number":607,"title":"Forbid include <module/...> in headers","user":{"login":"AntonKozlov","id":919084,"avatar_url":"https://avatars.githubusercontent.com/u/919084?v=3","gravatar_id":"","url":"https://api.github.com/users/AntonKozlov","html_url":"https://github.com/AntonKozlov","followers_url":"https://api.github.com/users/AntonKozlov/followers","following_url":"https://api.github.com/users/AntonKozlov/following{/other_user}","gists_url":"https://api.github.com/users/AntonKozlov/gists{/gist_id}","starred_url":"https://api.github.com/users/AntonKozlov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AntonKozlov/subscriptions","organizations_url":"https://api.github.com/users/AntonKozlov/orgs","repos_url":"https://api.github.com/users/AntonKozlov/repos","events_url":"https://api.github.com/users/AntonKozlov/events{/privacy}","received_events_url":"https://api.github.com/users/AntonKozlov/received_events","type":"User","site_admin":false},"labels":[{"url":"https://api.github.com/repos/embox/embox/labels/bug","name":"bug","color":"fc2929"},{"url":"https://api.github.com/repos/embox/embox/labels/imported","name":"imported","color":"c7def8"},{"url":"https://api.github.com/repos/embox/embox/labels/module:kernel","name":"module:kernel","color":"0052cc"},{"url":"https://api.github.com/repos/embox/embox/labels/prio:normal","name":"prio:normal","color":"888888"},{"url":"https://api.github.com/repos/embox/embox/labels/usability","name":"usability","color":"ededed"}],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":4,"created_at":"2013-04-29T13:00:49Z","updated_at":"2015-11-20T09:45:41Z","closed_at":null,"body":"##### What steps will reproduce the problem?\n1. Consider src/include/net/tcp.h:23 @ 42efe6e\n\n  ```\n#include <module/embox/net/tcp_sock.h>\n  ```\n\n2. netfilter is including <net/tcp.h> and has compile error, when tcp_sock is not in build.\n\n##### What is the expected output? What do you see instead?\nNetfilter become dependent on tcp_sock, while it's almost impossible to maintain such dependence\nCc: @anton-bondarev, @abusalimov, @HaK1R"},"comment":{"url":"https://api.github.com/repos/embox/embox/issues/comments/158339093","html_url":"https://github.com/embox/embox/issues/607#issuecomment-158339093","issue_url":"https://api.github.com/repos/embox/embox/issues/607","id":158339093,"user":{"login":"AntonKozlov","id":919084,"avatar_url":"https://avatars.githubusercontent.com/u/919084?v=3","gravatar_id":"","url":"https://api.github.com/users/AntonKozlov","html_url":"https://github.com/AntonKozlov","followers_url":"https://api.github.com/users/AntonKozlov/followers","following_url":"https://api.github.com/users/AntonKozlov/following{/other_user}","gists_url":"https://api.github.com/users/AntonKozlov/gists{/gist_id}","starred_url":"https://api.github.com/users/AntonKozlov/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/AntonKozlov/subscriptions","organizations_url":"https://api.github.com/users/AntonKozlov/orgs","repos_url":"https://api.github.com/users/AntonKozlov/repos","events_url":"https://api.github.com/users/AntonKozlov/events{/privacy}","received_events_url":"https://api.github.com/users/AntonKozlov/received_events","type":"User","site_admin":false},"created_at":"2015-11-20T09:45:41Z","updated_at":"2015-11-20T09:45:41Z","body":"Sorry for confuse you, config.h is hypotetical file (actually, there was such in previous versions of BS). Some effort was spent to split options to modules.\r\n\r\nYour example is good enough, as long as config/dvfs.h included to dvfs.h only. But it should not be included to any other headers except dvfs's.\r\n\r\nI'd like to suggets disscussion on follow:\r\n\r\nNext step in the example to include fs/dvfs.h in some stdio.h. Then, everyone who include stdio.h will get implicit dependecy on dvfs, which is not natural.\r\n\r\nFor the moment I can't suggest better solution than current. Maybe stdio (existed LibCStdio?) module with exported header stdio.h and dependency on dvfs could help"}}