Re: [systemd-devel] [PATCH 2/2] sysusers.d: split files to cope with split packages.
On Tue, 07.10.14 04:54, Barbieri, Gustavo (gustavo.barbi...@intel.com) wrote: -Original Message- From: Lennart Poettering [mailto:lenn...@poettering.net] Sent: Thursday, October 02, 2014 4:19 AM To: Barbieri, Gustavo Cc: Zbigniew Jędrzejewski-Szmek; systemd-devel@lists.freedesktop.org Subject: Re: [systemd-devel] [PATCH 2/2] sysusers.d: split files to cope with split packages. On Tue, 30.09.14 14:44, Gustavo Sverzut Barbieri (gustavo.barbi...@intel.com) wrote: systemd-timesyncd is ~400kb. Other binaries aren't too big either. Splitting everything up complicated things, and I'm not convinced that this is a useful change. indeed they are not big per se, but see my other email about tmpfiles, they contribute to a misinterpretation of systemd. since they are optional I want to make that clear and help the user to choose. I do have a complete set of packages for yocto that generates that nicely and the final system size difference is huge: 7.5 to 30Mb (whole system, not just systemd, but the dependencies, etc -- in contrast sysvinit + busybox is 6.5Mb). as I wrote in the other email, I'll make sure that some packages are highly recommended (ie: journal, udev, sysctl...), but forcing We don't support builds without journal or udev. We simply don't. I'm not trying to build without, just running without. Actually I'm not using any of --disable-SERVICE_OR_DAEMON, I build with all of them and let the user install or not the package -- thus the need for different *files* :-) Well, no, we don't support that either. (With one exception: on systems that have no physical devices -- i.e. containers -- we skip udev.) Yes, timesyncd should definitely be optional, and so should resolved, that's true. I'd be OK with splitting those out on tmpfiles/sysusers, but would really prefer this to be done via m4, rather than in seperate files. As per above, I don't want to build without, rather build with all and just package them in separate. In the recommended setup users will get all they need. Just in cases where they remove (blacklist) the systemd-services-essential they can run without those (tmpfiles, sysusers...), I guess the name makes it clear they are not something to mess with if you are unsure. Please help, this will be for good. The m4 macros just makes the build system and packaging more difficult. It would only be useful for systems like Gentoo. I'd be willing to merge a patch that splits this up for resolved, timesyncd. But not for udev or journald, sorry. Lennart -- Lennart Poettering, Red Hat ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH 2/2] sysusers.d: split files to cope with split packages.
On 25/09/14 22:12, Gustavo Sverzut Barbieri wrote: move each user/group creation to a file that represents its own split package, so it's possible to ship them in separate. Even if you split out bits of systemd functionality like networkd, timesyncd, kdbus into separate binary packages, what harm would be done by shipping the existing sysusers.d/systemd.conf in a core package (systemd-core.deb or whatever, which should probably also be the one with /lib/systemd/systemd), and having the other packages depend on it? As far as I can tell, the only cost is in a cut-down system with kdbus/timesync/etc. omitted, there are some unused system users which only exist to support functionality that is not currently installed. Is that really so significant? Similarly, unneeded tmpfiles.d entries just mean a few extra bytes of directory entries in a tmpfs, right? S ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH 2/2] sysusers.d: split files to cope with split packages.
-Original Message- From: Lennart Poettering [mailto:lenn...@poettering.net] Sent: Thursday, October 02, 2014 4:19 AM To: Barbieri, Gustavo Cc: Zbigniew Jędrzejewski-Szmek; systemd-devel@lists.freedesktop.org Subject: Re: [systemd-devel] [PATCH 2/2] sysusers.d: split files to cope with split packages. On Tue, 30.09.14 14:44, Gustavo Sverzut Barbieri (gustavo.barbi...@intel.com) wrote: systemd-timesyncd is ~400kb. Other binaries aren't too big either. Splitting everything up complicated things, and I'm not convinced that this is a useful change. indeed they are not big per se, but see my other email about tmpfiles, they contribute to a misinterpretation of systemd. since they are optional I want to make that clear and help the user to choose. I do have a complete set of packages for yocto that generates that nicely and the final system size difference is huge: 7.5 to 30Mb (whole system, not just systemd, but the dependencies, etc -- in contrast sysvinit + busybox is 6.5Mb). as I wrote in the other email, I'll make sure that some packages are highly recommended (ie: journal, udev, sysctl...), but forcing We don't support builds without journal or udev. We simply don't. I'm not trying to build without, just running without. Actually I'm not using any of --disable-SERVICE_OR_DAEMON, I build with all of them and let the user install or not the package -- thus the need for different *files* :-) everyone to ship a ntp client (timesyncd) is asking for trouble when people analyze systemd x options. Yes, timesyncd should definitely be optional, and so should resolved, that's true. I'd be OK with splitting those out on tmpfiles/sysusers, but would really prefer this to be done via m4, rather than in seperate files. As per above, I don't want to build without, rather build with all and just package them in separate. In the recommended setup users will get all they need. Just in cases where they remove (blacklist) the systemd-services-essential they can run without those (tmpfiles, sysusers...), I guess the name makes it clear they are not something to mess with if you are unsure. Please help, this will be for good. The m4 macros just makes the build system and packaging more difficult. It would only be useful for systems like Gentoo. BR, -- Gustavo (sorry the formatting, stupid outlook in this laptop) ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH 2/2] sysusers.d: split files to cope with split packages.
On Tue, 30.09.14 14:44, Gustavo Sverzut Barbieri (gustavo.barbi...@intel.com) wrote: systemd-timesyncd is ~400kb. Other binaries aren't too big either. Splitting everything up complicated things, and I'm not convinced that this is a useful change. indeed they are not big per se, but see my other email about tmpfiles, they contribute to a misinterpretation of systemd. since they are optional I want to make that clear and help the user to choose. I do have a complete set of packages for yocto that generates that nicely and the final system size difference is huge: 7.5 to 30Mb (whole system, not just systemd, but the dependencies, etc -- in contrast sysvinit + busybox is 6.5Mb). as I wrote in the other email, I'll make sure that some packages are highly recommended (ie: journal, udev, sysctl...), but forcing We don't support builds without journal or udev. We simply don't. everyone to ship a ntp client (timesyncd) is asking for trouble when people analyze systemd x options. Yes, timesyncd should definitely be optional, and so should resolved, that's true. I'd be OK with splitting those out on tmpfiles/sysusers, but would really prefer this to be done via m4, rather than in seperate files. Lennart -- Lennart Poettering, Red Hat ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH 2/2] sysusers.d: split files to cope with split packages.
On Tue, Sep 30, 2014 at 04:26:31AM +0200, Zbigniew Jędrzejewski-Szmek wrote: On Thu, Sep 25, 2014 at 06:12:51PM -0300, Gustavo Sverzut Barbieri wrote: move each user/group creation to a file that represents its own split package, so it's possible to ship them in separate. --- Makefile.am| 33 +++-- sysusers.d/systemd-journal-remote.conf | 9 + sysusers.d/systemd-journal-upload.conf | 8 sysusers.d/systemd-journald.conf | 8 sysusers.d/systemd-kdbus.conf | 8 sysusers.d/systemd-networkd.conf | 8 sysusers.d/systemd-remote.conf | 10 -- sysusers.d/systemd-resolved.conf | 8 sysusers.d/systemd-timesyncd.conf | 8 sysusers.d/systemd.conf| 12 10 files changed, 88 insertions(+), 24 deletions(-) create mode 100644 sysusers.d/systemd-journal-remote.conf create mode 100644 sysusers.d/systemd-journal-upload.conf create mode 100644 sysusers.d/systemd-journald.conf create mode 100644 sysusers.d/systemd-kdbus.conf create mode 100644 sysusers.d/systemd-networkd.conf delete mode 100644 sysusers.d/systemd-remote.conf create mode 100644 sysusers.d/systemd-resolved.conf create mode 100644 sysusers.d/systemd-timesyncd.conf delete mode 100644 sysusers.d/systemd.conf Hm, kdbus is either compiled in, or not, so splitting out configuration doesn't seem useful. I did this because I was trying to make bus-proxyd optional, however it does not work as stdio-bridge uses that. so yes we can leave the kdbus part in without worries. systemd-timesyncd is ~400kb. Other binaries aren't too big either. Splitting everything up complicated things, and I'm not convinced that this is a useful change. indeed they are not big per se, but see my other email about tmpfiles, they contribute to a misinterpretation of systemd. since they are optional I want to make that clear and help the user to choose. I do have a complete set of packages for yocto that generates that nicely and the final system size difference is huge: 7.5 to 30Mb (whole system, not just systemd, but the dependencies, etc -- in contrast sysvinit + busybox is 6.5Mb). as I wrote in the other email, I'll make sure that some packages are highly recommended (ie: journal, udev, sysctl...), but forcing everyone to ship a ntp client (timesyncd) is asking for trouble when people analyze systemd x options. systemd is great and it avoid people doing mistakes where it provides elegant solutions, but we need to get it in :-) -- Gustavo Sverzut Barbieri Intel Open source Technology Center ___ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel
Re: [systemd-devel] [PATCH 2/2] sysusers.d: split files to cope with split packages.
On Thu, Sep 25, 2014 at 06:12:51PM -0300, Gustavo Sverzut Barbieri wrote: move each user/group creation to a file that represents its own split package, so it's possible to ship them in separate. --- Makefile.am| 33 +++-- sysusers.d/systemd-journal-remote.conf | 9 + sysusers.d/systemd-journal-upload.conf | 8 sysusers.d/systemd-journald.conf | 8 sysusers.d/systemd-kdbus.conf | 8 sysusers.d/systemd-networkd.conf | 8 sysusers.d/systemd-remote.conf | 10 -- sysusers.d/systemd-resolved.conf | 8 sysusers.d/systemd-timesyncd.conf | 8 sysusers.d/systemd.conf| 12 10 files changed, 88 insertions(+), 24 deletions(-) create mode 100644 sysusers.d/systemd-journal-remote.conf create mode 100644 sysusers.d/systemd-journal-upload.conf create mode 100644 sysusers.d/systemd-journald.conf create mode 100644 sysusers.d/systemd-kdbus.conf create mode 100644 sysusers.d/systemd-networkd.conf delete mode 100644 sysusers.d/systemd-remote.conf create mode 100644 sysusers.d/systemd-resolved.conf create mode 100644 sysusers.d/systemd-timesyncd.conf delete mode 100644 sysusers.d/systemd.conf Hm, kdbus is either compiled in, or not, so splitting out configuration doesn't seem useful. systemd-timesyncd is ~400kb. Other binaries aren't too big either. Splitting everything up complicated things, and I'm not convinced that this is a useful change. Zbyszek diff --git a/Makefile.am b/Makefile.am index d8b7636..8a32880 100644 --- a/Makefile.am +++ b/Makefile.am @@ -2038,8 +2038,37 @@ SYSINIT_TARGET_WANTS += \ systemd-sysusers.service dist_sysusers_DATA = \ - sysusers.d/systemd.conf \ - sysusers.d/systemd-remote.conf + sysusers.d/systemd-journald.conf + +if HAVE_MICROHTTPD +dist_sysusers_DATA += \ + sysusers.d/systemd-journal-remote.conf +endif + +if HAVE_LIBCURL +dist_sysusers_DATA += \ + sysusers.d/systemd-journal-upload.conf +endif + +if ENABLE_KDBUS +dist_sysusers_DATA += \ + sysusers.d/systemd-kdbus.conf +endif + +if ENABLE_NETWORKD +dist_sysusers_DATA += \ + sysusers.d/systemd-networkd.conf +endif + +if ENABLE_RESOLVED +dist_sysusers_DATA += \ + sysusers.d/systemd-resolved.conf +endif + +if ENABLE_TIMESYNCD +dist_sysusers_DATA += \ + sysusers.d/systemd-timesyncd.conf +endif nodist_sysusers_DATA = \ sysusers.d/basic.conf diff --git a/sysusers.d/systemd-journal-remote.conf b/sysusers.d/systemd-journal-remote.conf new file mode 100644 index 000..36bb51e --- /dev/null +++ b/sysusers.d/systemd-journal-remote.conf @@ -0,0 +1,9 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. + +u systemd-journal-gateway - systemd Journal Gateway +u systemd-journal-remote - systemd Journal Remote diff --git a/sysusers.d/systemd-journal-upload.conf b/sysusers.d/systemd-journal-upload.conf new file mode 100644 index 000..927d400 --- /dev/null +++ b/sysusers.d/systemd-journal-upload.conf @@ -0,0 +1,8 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. + +u systemd-journal-upload - systemd Journal Upload diff --git a/sysusers.d/systemd-journald.conf b/sysusers.d/systemd-journald.conf new file mode 100644 index 000..dcb01f6 --- /dev/null +++ b/sysusers.d/systemd-journald.conf @@ -0,0 +1,8 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. + +g systemd-journal - - diff --git a/sysusers.d/systemd-kdbus.conf b/sysusers.d/systemd-kdbus.conf new file mode 100644 index 000..13dce6a --- /dev/null +++ b/sysusers.d/systemd-kdbus.conf @@ -0,0 +1,8 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. + +u systemd-bus-proxy - systemd Bus Proxy diff --git a/sysusers.d/systemd-networkd.conf b/sysusers.d/systemd-networkd.conf new file mode 100644 index 000..208148d ---
[systemd-devel] [PATCH 2/2] sysusers.d: split files to cope with split packages.
move each user/group creation to a file that represents its own split package, so it's possible to ship them in separate. --- Makefile.am| 33 +++-- sysusers.d/systemd-journal-remote.conf | 9 + sysusers.d/systemd-journal-upload.conf | 8 sysusers.d/systemd-journald.conf | 8 sysusers.d/systemd-kdbus.conf | 8 sysusers.d/systemd-networkd.conf | 8 sysusers.d/systemd-remote.conf | 10 -- sysusers.d/systemd-resolved.conf | 8 sysusers.d/systemd-timesyncd.conf | 8 sysusers.d/systemd.conf| 12 10 files changed, 88 insertions(+), 24 deletions(-) create mode 100644 sysusers.d/systemd-journal-remote.conf create mode 100644 sysusers.d/systemd-journal-upload.conf create mode 100644 sysusers.d/systemd-journald.conf create mode 100644 sysusers.d/systemd-kdbus.conf create mode 100644 sysusers.d/systemd-networkd.conf delete mode 100644 sysusers.d/systemd-remote.conf create mode 100644 sysusers.d/systemd-resolved.conf create mode 100644 sysusers.d/systemd-timesyncd.conf delete mode 100644 sysusers.d/systemd.conf diff --git a/Makefile.am b/Makefile.am index d8b7636..8a32880 100644 --- a/Makefile.am +++ b/Makefile.am @@ -2038,8 +2038,37 @@ SYSINIT_TARGET_WANTS += \ systemd-sysusers.service dist_sysusers_DATA = \ - sysusers.d/systemd.conf \ - sysusers.d/systemd-remote.conf + sysusers.d/systemd-journald.conf + +if HAVE_MICROHTTPD +dist_sysusers_DATA += \ + sysusers.d/systemd-journal-remote.conf +endif + +if HAVE_LIBCURL +dist_sysusers_DATA += \ + sysusers.d/systemd-journal-upload.conf +endif + +if ENABLE_KDBUS +dist_sysusers_DATA += \ + sysusers.d/systemd-kdbus.conf +endif + +if ENABLE_NETWORKD +dist_sysusers_DATA += \ + sysusers.d/systemd-networkd.conf +endif + +if ENABLE_RESOLVED +dist_sysusers_DATA += \ + sysusers.d/systemd-resolved.conf +endif + +if ENABLE_TIMESYNCD +dist_sysusers_DATA += \ + sysusers.d/systemd-timesyncd.conf +endif nodist_sysusers_DATA = \ sysusers.d/basic.conf diff --git a/sysusers.d/systemd-journal-remote.conf b/sysusers.d/systemd-journal-remote.conf new file mode 100644 index 000..36bb51e --- /dev/null +++ b/sysusers.d/systemd-journal-remote.conf @@ -0,0 +1,9 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. + +u systemd-journal-gateway - systemd Journal Gateway +u systemd-journal-remote - systemd Journal Remote diff --git a/sysusers.d/systemd-journal-upload.conf b/sysusers.d/systemd-journal-upload.conf new file mode 100644 index 000..927d400 --- /dev/null +++ b/sysusers.d/systemd-journal-upload.conf @@ -0,0 +1,8 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. + +u systemd-journal-upload - systemd Journal Upload diff --git a/sysusers.d/systemd-journald.conf b/sysusers.d/systemd-journald.conf new file mode 100644 index 000..dcb01f6 --- /dev/null +++ b/sysusers.d/systemd-journald.conf @@ -0,0 +1,8 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. + +g systemd-journal - - diff --git a/sysusers.d/systemd-kdbus.conf b/sysusers.d/systemd-kdbus.conf new file mode 100644 index 000..13dce6a --- /dev/null +++ b/sysusers.d/systemd-kdbus.conf @@ -0,0 +1,8 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. + +u systemd-bus-proxy - systemd Bus Proxy diff --git a/sysusers.d/systemd-networkd.conf b/sysusers.d/systemd-networkd.conf new file mode 100644 index 000..208148d --- /dev/null +++ b/sysusers.d/systemd-networkd.conf @@ -0,0 +1,8 @@ +# This file is part of systemd. +# +# systemd is free software; you can redistribute it and/or modify it +# under the terms of the GNU Lesser General Public License as published by +# the Free Software Foundation; either version 2.1 of the License, or +# (at your option) any later version. + +u systemd-network - systemd Network Management diff --git a/sysusers.d/systemd-remote.conf