Re: [systemd-devel] [PATCH 2/2] sysusers.d: split files to cope with split packages.

2014-10-08 Thread Lennart Poettering
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.

2014-10-07 Thread Simon McVittie
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.

2014-10-06 Thread Barbieri, Gustavo
 -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.

2014-10-02 Thread Lennart Poettering
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.

2014-09-30 Thread Gustavo Sverzut Barbieri
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.

2014-09-29 Thread Zbigniew Jędrzejewski-Szmek
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.

2014-09-25 Thread Gustavo Sverzut Barbieri
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