{"action":"created","issue":{"url":"https://api.github.com/repos/systemd/systemd/issues/5704","repository_url":"https://api.github.com/repos/systemd/systemd","labels_url":"https://api.github.com/repos/systemd/systemd/issues/5704/labels{/name}","comments_url":"https://api.github.com/repos/systemd/systemd/issues/5704/comments","events_url":"https://api.github.com/repos/systemd/systemd/issues/5704/events","html_url":"https://github.com/systemd/systemd/pull/5704","id":219457906,"number":5704,"title":"meson: build systemd using meson","user":{"login":"keszybz","id":349618,"avatar_url":"https://avatars2.githubusercontent.com/u/349618?v=3","gravatar_id":"","url":"https://api.github.com/users/keszybz","html_url":"https://github.com/keszybz","followers_url":"https://api.github.com/users/keszybz/followers","following_url":"https://api.github.com/users/keszybz/following{/other_user}","gists_url":"https://api.github.com/users/keszybz/gists{/gist_id}","starred_url":"https://api.github.com/users/keszybz/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/keszybz/subscriptions","organizations_url":"https://api.github.com/users/keszybz/orgs","repos_url":"https://api.github.com/users/keszybz/repos","events_url":"https://api.github.com/users/keszybz/events{/privacy}","received_events_url":"https://api.github.com/users/keszybz/received_events","type":"User","site_admin":false},"labels":[{"id":221989823,"url":"https://api.github.com/repos/systemd/systemd/labels/build-system","name":"build-system","color":"c7def8","default":false}],"state":"open","locked":false,"assignee":null,"assignees":[],"milestone":null,"comments":141,"created_at":"2017-04-05T03:34:23Z","updated_at":"2017-04-24T06:53:17Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/systemd/systemd/pulls/5704","html_url":"https://github.com/systemd/systemd/pull/5704","diff_url":"https://github.com/systemd/systemd/pull/5704.diff","patch_url":"https://github.com/systemd/systemd/pull/5704.patch"},"body":" It's crucial that we can build systemd using VS2010!\r\n\r\n... er, wait, no, that's not the official reason. We need to shed old systems\r\nby requring python 3! Oh, no, it's something else. Maybe we need to throw out\r\n345 years of knowlege accumulated in autotools? Whatever, this new thing is\r\ncool and shiny, let's use it.\r\n\r\nThis is not complete, I'm throwing it out here for your amusement and critique.\r\n\r\n- rules for sd-boot are missing. Those might be quite complicated.\r\n\r\n- rules for tests are missing too. Those are probably quite simple and\r\n  repetitive, but there's lots of them.\r\n\r\n- it's likely that I didn't get all the conditions right, I only tested \"full\"\r\n  compilation where most deps are provided and nothing is disabled.\r\n\r\n- busname.target and all .busname units are skipped on purpose.\r\n\r\n  Otherwise, installation into $DESTDIR has the same list of files and the\r\n  autoconf install, except for .la files.\r\n\r\nIt'd be great if people had a careful look at all the library linking options.\r\nI added stuff until things compiled, and in the end there's much less linking\r\nthen in the old system. But it seems that there's still a lot of unnecessary\r\ndeps.\r\n\r\nmeson has a `shared_module` statement, which sounds like something appropriate\r\nfor our nss and pam modules. Unfortunately, I couldn't get it to work. For the\r\nnss modules, we need an .so version of '2', but `shared_module` disallows the\r\nversion argument. For the pam module, it also didn't work, I forgot the reason.\r\n\r\nThe handling of .m4 and .in and .m4.in files is rather awkward. It's likely\r\nthat this could be simplified. If make support is ever dropped, I think it'd\r\nmake sense to switch to a different templating system so that two different\r\nlanguages and not required, which would make everything simpler yet.\r\n\r\n--\r\n\r\nFeel free to push stuff on top (including fixup commits to be squashed)."},"comment":{"url":"https://api.github.com/repos/systemd/systemd/issues/comments/296545015","html_url":"https://github.com/systemd/systemd/pull/5704#issuecomment-296545015","issue_url":"https://api.github.com/repos/systemd/systemd/issues/5704","id":296545015,"user":{"login":"martinpitt","id":200109,"avatar_url":"https://avatars0.githubusercontent.com/u/200109?v=3","gravatar_id":"","url":"https://api.github.com/users/martinpitt","html_url":"https://github.com/martinpitt","followers_url":"https://api.github.com/users/martinpitt/followers","following_url":"https://api.github.com/users/martinpitt/following{/other_user}","gists_url":"https://api.github.com/users/martinpitt/gists{/gist_id}","starred_url":"https://api.github.com/users/martinpitt/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/martinpitt/subscriptions","organizations_url":"https://api.github.com/users/martinpitt/orgs","repos_url":"https://api.github.com/users/martinpitt/repos","events_url":"https://api.github.com/users/martinpitt/events{/privacy}","received_events_url":"https://api.github.com/users/martinpitt/received_events","type":"User","site_admin":false},"created_at":"2017-04-24T06:53:17Z","updated_at":"2017-04-24T06:53:17Z","body":"meson 0.40 is now [in Debian unstable](https://tracker.debian.org/news/844170) and [in Fedora Rawhide](https://apps.fedoraproject.org/packages/meson), and according to @jpakkane this should have everything to build systemd.\r\n\r\nI now backported meson 0.40 and a newer ninja-build to Ubuntu 16.04 into the [systemd CI PPA](https://launchpad.net/~pitti/+archive/ubuntu/systemd-semaphore/+packages).\r\n\r\nAs for further coordination: @mbiebl has a [downstream packaging branch](https://anonscm.debian.org/cgit/pkg-systemd/systemd.git/log/?h=biebl/meson) that uses meson. Does that need a newer debhelper getting released, or does it work with the current one?We could add a \"xenial-amd64-meson\" CI test which runs that instead of Debian master, and keep this until we drop the autotools build system. I'll coordinate with him to set  that up."}}
{"actor":{"display_login":"martinpitt"}}