Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-13 Thread Clint Byrum
Excerpts from Chow Loong Jin's message of 2013-06-12 11:06:54 -0700:
 On Wed, Jun 12, 2013 at 09:44:16AM -0700, Steve Langasek wrote:
  On Wed, Jun 12, 2013 at 04:40:22PM +0800, Chow Loong Jin wrote:
  
   Bitrot doesn't happen immediately, and even when it does happen, it will
   take time before its rate reaches an unmanageable state.  Plenty of time
   to test a solution in the meantime I say.  Basic autogeneration of
   sysvinit and upstart init scripts from systemd unit files perhaps?
  
  None of upstart jobs, systemd units, and init scripts are homologous to one
  another.  You can't generate one set from another set without including
  additional metadata that's not being used by the native system you're
  writing for - which means you haven't actually solved the problem of leaving
  the users of the other systems with untested implementations.
 
 I get that converting between each of these formats perfectly is not possible
 due to them requiring different fields, but I was thinking that something that
 made educated guesses might work out in most cases.
 

Unfortunately I think the models are just too different, and expect that
it would only be useful as a developer tool.

  For a concrete example, if we assume systemd units are the base and using
  socket-based activation as the primary convention, you will have none of the
  information here about what events the upstart job should start on; and for
  init scripts, you'll have neither this information, nor information about
  how to track the processes (pidfiles, etc).
 
 Upstart these days has socket activation too. See upstart-socket-bridge(8). As
 for init scripts, well, er maybe we could use some xinetd-ish helper that
 handles the starting of socket-activated instead. And I reckon 
 start-stop-daemon
 could benefit from some of the process tracking code that Upstart uses, which
 makes the pidfile one less issue to worry about.
 

All three of these socket activation systems have different methods for
getting the socket into the process. IMO this just represents more of the
upstart vs. systemd pissing match, and is not fundamental. But suffice
to say, the daemons have to support the init system's socket activation,
and until the three are unified, this will not be automatically possible
without added complexity.

  Remember that the appeal of upstart jobs or systemd units over init scripts
  is that we're removing *unnecessary complexity*.  Once you've removed that
  complexity, you can't re-synthesize it from thin air in order to
  autogenerate init scripts; you have to maintain it somewhere.
 
 We could make a best-effort for common cases and require manual intervention 
 for
 others. Some of the complexity can be inferred and dumped in wherever 
 possible.
 Other information could be passed in via arguments to the converter. It 
 doesn't
 always have to operate blindly without the maintainer's help.
 
 Anyway, my point is really that there's no use worrying about potential 
 problems
 to the level of second-guessing what maintainers will or will not do if 
 systemd
 becomes default. We'll just end up going round and round in circles, but then
 again I'm sure that's what some people want, as long as we don't switch away
 from $my_favourite_init, which just happens to be sysvinit at the moment.
 

There is a point to worrying about wasting volunteer time though.


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/1371139039-sup-1...@fewbar.com



Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-12 Thread Marc Haber
On Sun, 09 Jun 2013 01:04:38 +0200, Michael Stapelberg
stapelb...@debian.org wrote:
since some people might not read planet debian, here is a link to my
first blog post in a series of posts dealing with the results of the
Debian systemd survey:

http://people.debian.org/~stapelberg/2013/06/09/systemd-bloat.html

Thanks for a remarkably unbiased view on the matter. I have to object
against one part though:

|While it is sad that those machines cannot profit from systemd, switching
|to systemd as a default has no downside either: Debian continues to
|support sysvinit for quite some time, so these machines will continue
|to work even with upcoming Debian versions. 

I doubt this will happen. Once systemd is the default on Deban/GNU
Linux, people will stop testing their init scripts, or they will even
stop shipping init scripts, leaving the task of writing or testing
init scripts to the non-Linux porters, which will of course decrease
their quality since init scripts should be written and tested by
people knowing the initted software very intimately.

Greetings
Marc
-- 
-- !! No courtesy copies, please !! -
Marc Haber |Questions are the | Mailadresse im Header
Mannheim, Germany  | Beginning of Wisdom  | http://www.zugschlus.de/
Nordisch by Nature | Lt. Worf, TNG Rightful Heir | Fon: *49 621 72739834


--
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/e1umfnj-0003ia...@swivel.zugschlus.de



Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-12 Thread Ondřej Surý
Hi Michael,

On Tue, Jun 11, 2013 at 7:17 PM, Michael Stapelberg
stapelb...@debian.orgwrote:

 Hi Ondřej,

 Ondřej Surý ond...@sury.org writes:
  and if I match this with the table at:
  http://people.debian.org/~stapelberg/docs/systemd-dependencies.html I
 get
  the result that you will _not_ compile systemd with:
 
  libselinux.so
  libpam.so
  libwrap.so
  libaudit.so
  libkmod.so
 
  because they are marked as optional in the table.
 I’m sorry that this is unclear. I updated the document, saying:

 Whether compiling systemd without this dependency is supported by
 upstream. This does not automatically mean that Debian choses to make
 these parts optional.


Thanks, that makes the document and the goal of Debian maintainers much
clearer.


 But, to be very clear, I certainly don’t see the need to strip down
 systemd in Debian for the general use case (including embedded devices
 and servers). That is energy which could be much better spent elsewhere.


I concur.

I still think you should also update the table with information if the
library is actually used in PID 1 (or in forked process) as hmh suggested:

 It would be best to enhance
 http://people.debian.org/~stapelberg/docs/systemd-dependencies.html with
 information about what runs on PID 1, and what runs after fork() and how
 critical it is.

O.
-- 
Ondřej Surý ond...@sury.org


Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-12 Thread Chow Loong Jin
On Wed, Jun 12, 2013 at 09:49:03AM +0200, Marc Haber wrote:
 [...]
 |While it is sad that those machines cannot profit from systemd, switching
 |to systemd as a default has no downside either: Debian continues to
 |support sysvinit for quite some time, so these machines will continue
 |to work even with upcoming Debian versions. 
 
 I doubt this will happen. Once systemd is the default on Deban/GNU
 Linux, people will stop testing their init scripts, or they will even
 stop shipping init scripts, leaving the task of writing or testing
 init scripts to the non-Linux porters, which will of course decrease
 their quality since init scripts should be written and tested by
 people knowing the initted software very intimately.

Bitrot doesn't happen immediately, and even when it does happen, it will take
time before its rate reaches an unmanageable state. Plenty of time to test a
solution in the meantime I say. Basic autogeneration of sysvinit and upstart
init scripts from systemd unit files perhaps?

Also, I don't think it takes that much to come up with a sane initscript for
your regular daemon. Just program options, environment variables, pidfile,
setuid user, and dependencies? The simplest root-run daemons might not even need
any of those.

-- 
Kind regards,
Loong Jin


signature.asc
Description: Digital signature


Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-12 Thread Jean-Christophe Dubacq
Le 12/06/2013 09:49, Marc Haber a écrit :
 On Sun, 09 Jun 2013 01:04:38 +0200, Michael Stapelberg
 stapelb...@debian.org wrote:
 since some people might not read planet debian, here is a link to my
 first blog post in a series of posts dealing with the results of the
 Debian systemd survey:

 http://people.debian.org/~stapelberg/2013/06/09/systemd-bloat.html
 
 Thanks for a remarkably unbiased view on the matter. I have to object
 against one part though:
 
 |While it is sad that those machines cannot profit from systemd, switching
 |to systemd as a default has no downside either: Debian continues to
 |support sysvinit for quite some time, so these machines will continue
 |to work even with upcoming Debian versions. 
 
 I doubt this will happen. Once systemd is the default on Deban/GNU
 Linux, people will stop testing their init scripts, or they will even
 stop shipping init scripts, leaving the task of writing or testing
 init scripts to the non-Linux porters, which will of course decrease
 their quality since init scripts should be written and tested by
 people knowing the initted software very intimately.

However, the set of machines not able to switch to systemd and needing
complicated init scripts is probably quite small. And the init scripts
won't suddenly deteriorate. And I suspect that all suspicious cases will
receive bugs, and then patches, and that maintainers will integrate
these patches.

Sincerly,
-- 
Jean-Christophe Dubacq



signature.asc
Description: OpenPGP digital signature


Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-12 Thread Michael Stapelberg
Hi Ondřej,

Ondřej Surý ond...@sury.org writes:
 I still think you should also update the table with information if the
 library is actually used in PID 1 (or in forked process) as hmh suggested:

 It would be best to enhance
 http://people.debian.org/~stapelberg/docs/systemd-dependencies.html with
 information about what runs on PID 1, and what runs after fork() and how
 critical it is.
I don’t understand what you mean by this.

The table — as published — already differentiates between PID 1 (section
2 of the document) and all other binaries (section 3 of the
document). Anything not listed in section 2 is not required in PID 1.

-- 
Best regards,
Michael


--
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/x6txl3xpfi@midna.zekjur.net



Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-12 Thread Steve Langasek
On Wed, Jun 12, 2013 at 04:40:22PM +0800, Chow Loong Jin wrote:

 Bitrot doesn't happen immediately, and even when it does happen, it will
 take time before its rate reaches an unmanageable state.  Plenty of time
 to test a solution in the meantime I say.  Basic autogeneration of
 sysvinit and upstart init scripts from systemd unit files perhaps?

None of upstart jobs, systemd units, and init scripts are homologous to one
another.  You can't generate one set from another set without including
additional metadata that's not being used by the native system you're
writing for - which means you haven't actually solved the problem of leaving
the users of the other systems with untested implementations.

For a concrete example, if we assume systemd units are the base and using
socket-based activation as the primary convention, you will have none of the
information here about what events the upstart job should start on; and for
init scripts, you'll have neither this information, nor information about
how to track the processes (pidfiles, etc).

Remember that the appeal of upstart jobs or systemd units over init scripts
is that we're removing *unnecessary complexity*.  Once you've removed that
complexity, you can't re-synthesize it from thin air in order to
autogenerate init scripts; you have to maintain it somewhere.

-- 
Steve Langasek   Give me a lever long enough and a Free OS
Debian Developer   to set it on, and I can move the world.
Ubuntu Developerhttp://www.debian.org/
slanga...@ubuntu.com vor...@debian.org


signature.asc
Description: Digital signature


Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-12 Thread Uoti Urpala
Michael Stapelberg wrote:
 Ondřej Surý ond...@sury.org writes:
  I still think you should also update the table with information if the
  library is actually used in PID 1 (or in forked process) as hmh suggested:
 
  It would be best to enhance
  http://people.debian.org/~stapelberg/docs/systemd-dependencies.html with
  information about what runs on PID 1, and what runs after fork() and how
  critical it is.
 I don’t understand what you mean by this.
 
 The table — as published — already differentiates between PID 1 (section
 2 of the document) and all other binaries (section 3 of the
 document). Anything not listed in section 2 is not required in PID 1.

I think what he meant is that section 2 lists libpam.so.0 as a
dependency, even though PAM is not run in PID 1. So from the table it is
not obvious that libpam is NOT a dependency of the core systemd daemon
in the sense that faulty PAM modules would make PID 1 crash etc.



-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/1371058452.18948.40.camel@glyph.nonexistent.invalid



Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-12 Thread Chow Loong Jin
On Wed, Jun 12, 2013 at 09:44:16AM -0700, Steve Langasek wrote:
 On Wed, Jun 12, 2013 at 04:40:22PM +0800, Chow Loong Jin wrote:
 
  Bitrot doesn't happen immediately, and even when it does happen, it will
  take time before its rate reaches an unmanageable state.  Plenty of time
  to test a solution in the meantime I say.  Basic autogeneration of
  sysvinit and upstart init scripts from systemd unit files perhaps?
 
 None of upstart jobs, systemd units, and init scripts are homologous to one
 another.  You can't generate one set from another set without including
 additional metadata that's not being used by the native system you're
 writing for - which means you haven't actually solved the problem of leaving
 the users of the other systems with untested implementations.

I get that converting between each of these formats perfectly is not possible
due to them requiring different fields, but I was thinking that something that
made educated guesses might work out in most cases.

 For a concrete example, if we assume systemd units are the base and using
 socket-based activation as the primary convention, you will have none of the
 information here about what events the upstart job should start on; and for
 init scripts, you'll have neither this information, nor information about
 how to track the processes (pidfiles, etc).

Upstart these days has socket activation too. See upstart-socket-bridge(8). As
for init scripts, well, er maybe we could use some xinetd-ish helper that
handles the starting of socket-activated instead. And I reckon start-stop-daemon
could benefit from some of the process tracking code that Upstart uses, which
makes the pidfile one less issue to worry about.

 Remember that the appeal of upstart jobs or systemd units over init scripts
 is that we're removing *unnecessary complexity*.  Once you've removed that
 complexity, you can't re-synthesize it from thin air in order to
 autogenerate init scripts; you have to maintain it somewhere.

We could make a best-effort for common cases and require manual intervention for
others. Some of the complexity can be inferred and dumped in wherever possible.
Other information could be passed in via arguments to the converter. It doesn't
always have to operate blindly without the maintainer's help.

Anyway, my point is really that there's no use worrying about potential problems
to the level of second-guessing what maintainers will or will not do if systemd
becomes default. We'll just end up going round and round in circles, but then
again I'm sure that's what some people want, as long as we don't switch away
from $my_favourite_init, which just happens to be sysvinit at the moment.

-- 
Kind regards,
Loong Jin


signature.asc
Description: Digital signature


Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-12 Thread Ondřej Surý
On Wed, Jun 12, 2013 at 7:34 PM, Uoti Urpala uoti.urp...@pp1.inet.fiwrote:

 Michael Stapelberg wrote:
  Ondřej Surý ond...@sury.org writes:
   I still think you should also update the table with information if the
   library is actually used in PID 1 (or in forked process) as hmh
 suggested:
  
   It would be best to enhance
   http://people.debian.org/~stapelberg/docs/systemd-dependencies.htmlwith
   information about what runs on PID 1, and what runs after fork() and
 how
   critical it is.
  I don’t understand what you mean by this.
 
  The table — as published — already differentiates between PID 1 (section
  2 of the document) and all other binaries (section 3 of the
  document). Anything not listed in section 2 is not required in PID 1.

 I think what he meant is that section 2 lists libpam.so.0 as a
 dependency, even though PAM is not run in PID 1. So from the table it is
 not obvious that libpam is NOT a dependency of the core systemd daemon
 in the sense that faulty PAM modules would make PID 1 crash etc.


Exactly, thanks for rewording me.

O.
-- 
Ondřej Surý ond...@sury.org


Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-11 Thread Ondřej Surý
On Tue, Jun 11, 2013 at 7:36 AM, Tollef Fog Heen tfh...@err.no wrote:

 ]] Thomas Goirand

  If what you say above is right (I have no opinion on that yet, I just
  trust what you say), then this renders the systemd is modular argument
  completely useless, because practically, the user wont be able to
  choose. Which is why I was asking specifically Michael about this, since
  he raised the fact that systemd is modular and components can be
disabled.

 The primary point about the modularity is to limit what happens in init
 itself, not to have optional modules if it can be avoided.

  So my original question to Michael remains: what component should be
  activated by default, which one could be optional, and how can these
  options be enabled or disabled. I've heard about journald. which seems
  controversial (I also don't have any option about it myself yet). Could
  this one be optional, and not activated by default for example? What are
  the systemd maintainers opinion about it?

 I believe I already answered this, so I'm not sure why you're asking
 again.

Tollef, it is still unclear to me as well.

You said:

 I'd like to align with upstream here (and in general): If upstream says
 a component is optional, that's a configuration I'd in general want to
 support.  If upstream says a component is not optional, well, then I'm
 unlikely to go to the effort of making it optional.

and if I match this with the table at:
http://people.debian.org/~stapelberg/docs/systemd-dependencies.html I get
the result that you will _not_ compile systemd with:

libselinux.so
libpam.so
libwrap.so
libaudit.so
libkmod.so

because they are marked as optional in the table.

Is that true or not? I am quite lost, because wheezy systemd package has
these dependencies:

Depends: libacl1 (= 2.2.51-8), libaudit0 (= 1.7.13), libc6 (= 2.11),
libcap2 (= 2.10), libcryptsetup4 (= 2:1.4), libdbus-1-3 (= 1.1.1),
libkmod2 (= 5~), liblzma5 (= 5.1.1alpha+20120614), libpam0g (=
0.99.7.1), libselinux1 (= 2.0.65), libsystemd-daemon0 (= 31),
libsystemd-id128-0 (= 38), libsystemd-journal0 (= 38), libsystemd-login0
(= 38), libudev0 (= 172), libwrap0 (= 7.6-4~), util-linux (= 2.19.1-2),
initscripts (= 2.88dsf-17), udev

And this list include all of them.

So either the webpage optional means a different thing than upstream
optional or the future-to-be PID1 package will not include these
dependencies.

Can you please clarify?

O.
--
Ondřej Surý ond...@sury.org


Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-11 Thread Tollef Fog Heen
]] Ondřej Surý 

 Tollef, it is still unclear to me as well.

Ok, I'll try to be clearer then.

 You said:
 
  I'd like to align with upstream here (and in general): If upstream says
  a component is optional, that's a configuration I'd in general want to
  support.  If upstream says a component is not optional, well, then I'm
  unlikely to go to the effort of making it optional.
 
 and if I match this with the table at:
 http://people.debian.org/~stapelberg/docs/systemd-dependencies.html I get
 the result that you will _not_ compile systemd with:
 
 libselinux.so
 libpam.so
 libwrap.so
 libaudit.so
 libkmod.so
 
 because they are marked as optional in the table.
 
 Is that true or not? I am quite lost, because wheezy systemd package has
 these dependencies:

We'll compile with all compile-time options enabled, as per what's
normal for Debian packages.  Any run-time optional components we'll keep
optional, but likely enabled by default.

-- 
Tollef Fog Heen
UNIX is user friendly, it's just picky about who its friends are


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87k3m10zna@qurzaw.varnish-software.com



Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-11 Thread Michael Stapelberg
Hi Ondřej,

Ondřej Surý ond...@sury.org writes:
 and if I match this with the table at:
 http://people.debian.org/~stapelberg/docs/systemd-dependencies.html I get
 the result that you will _not_ compile systemd with:

 libselinux.so
 libpam.so
 libwrap.so
 libaudit.so
 libkmod.so

 because they are marked as optional in the table.
I’m sorry that this is unclear. I updated the document, saying:

Whether compiling systemd without this dependency is supported by
upstream. This does not automatically mean that Debian choses to make
these parts optional.

To further expand on this: It was my impression that people thought
systemd had _hard_ dependencies on many parts when that actually isn’t
true. In particular, this was used as an argument against using systemd
on embedded devices. While I happily use systemd on devices such as the
Raspberry Pi, I can understand that other people might have stricter
constraints on binary sizes. Therefore, they could recompile the systemd
package if they can live without a few features. In case demand is high
enough and there is somebody who volunteers to maintain such a package,
we would be open to talk about having a systemd-light package which is
specfically targeted on such devices. It’d probably make sense to
maintain this as part of one of the embedded spins we have,
e.g. Emdebian — but I am not very familiar with those and their current
state.

But, to be very clear, I certainly don’t see the need to strip down
systemd in Debian for the general use case (including embedded devices
and servers). That is energy which could be much better spent elsewhere.

-- 
Best regards,
Michael


--
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/x68v2gzhw8@midna.zekjur.net



Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-10 Thread Ondřej Surý
On Sun, Jun 9, 2013 at 2:46 PM, Vincent Bernat ber...@debian.org wrote:

  ❦  9 juin 2013 11:45 CEST, Bjørn Mork bj...@mork.no :

  You do of course not have to agree.  This is my personal opinion only.
  But I believe it is useful to read Jamie Zawinski's view on screensavers
  and toolkit library dependencies, and try to figure out how that can be
  relevant to systemd and external dependencies:
  http://www.jwz.org/xscreensaver/toolkits.html

 systemd does not rely on a toolkit. So, most of the arguments listed by
 Jamie do not hold. I suppose that you are mostly worried by libdbus
 since other libraries are already used in other critical
 daemons.


Personally I would be more worried about libpam and it's ability to load
random pam modules into a memory, and we have a plenty of them.

$ apt-cache search ^libpam- | wc -l
61

Do you have idea how would a buggy PAM module affect PID 1?

O.
-- 
Ondřej Surý ond...@sury.org


Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-10 Thread Vincent Bernat

Le 2013-06-10 10:18, Ondřej Surý a écrit :


systemd does not rely on a toolkit. So, most of the arguments
listed by
Jamie do not hold. I suppose that you are mostly worried by libdbus
since other libraries are already used in other critical
daemons.


Personally I would be more worried about libpam and it's ability to
load random pam modules into a memory, and we have a plenty of them.

$ apt-cache search ^libpam- | wc -l
61

Do you have idea how would a buggy PAM module affect PID 1?


No PAM module is executed in PID 1. All PAM code is executed after 
forking a child process and only for jobs requiring PAM explicitly.



--
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/d3c9d21655f1100453e9bc528d4c0...@luffy.cx



Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-10 Thread Ondřej Surý
On Mon, Jun 10, 2013 at 12:22 PM, Vincent Bernat ber...@luffy.cx wrote:

 Le 2013-06-10 10:18, Ondřej Surý a écrit :


  systemd does not rely on a toolkit. So, most of the arguments
 listed by
 Jamie do not hold. I suppose that you are mostly worried by libdbus
 since other libraries are already used in other critical
 daemons.


 Personally I would be more worried about libpam and it's ability to
 load random pam modules into a memory, and we have a plenty of them.

 $ apt-cache search ^libpam- | wc -l
 61

 Do you have idea how would a buggy PAM module affect PID 1?


 No PAM module is executed in PID 1. All PAM code is executed after forking
 a child process and only for jobs requiring PAM explicitly.


The document with library dependencies at
http://people.debian.org/~stapelberg/docs/systemd-dependencies.html kind of
misses this information. It might be good to add this kind of information
to that document.

Ondrej
-- 
Ondřej Surý ond...@sury.org


Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-10 Thread Henrique de Moraes Holschuh
On Mon, 10 Jun 2013, Thomas Goirand wrote:
 On 06/10/2013 03:21 AM, Michael Stapelberg wrote:
  Thomas Goirand z...@debian.org writes:
  In this blog post, you tell that it's possible not to use all the
  components of systemd. Then, the immediate question that pops to my
  mind: what are *your* intentions then, in Debian (or, said in another
  way, what would you like to do if you where the only one to decide)?
  Would you like to remove some components, or keep them all by default?
  I don’t understand the intention behind that question. Could you clarify
  so that I can give a proper answer please?
 
 Let's say you decide. Let's say you set systemd by default in Debian.
 
 Then which component would you install, and activate by default? Which
 component will you make only installable if the user decides to do it
 actively (for example using apt-get install)?

That is an uninteresting option.  There is no way we can afford to have two
different sets of features for PID 1 under the same name in Debian without
it causing support trouble we don't need.  So, please assume that every
optional PID 1 feature of systemd will be compiled in, and that only stuff
that can be disabled at runtime might be disabled.

It would be best to enhance
http://people.debian.org/~stapelberg/docs/systemd-dependencies.html with
information about what runs on PID 1, and what runs after fork() and how
critical it is.

Also, it is extremely important to track down the full library dependency
chain for the systemd executable that runs as PID 1, and include any library
initialization code found in the entire chain in the analysis, otherwise the
analysis will be too incomplete to base any decisions on.

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20130610182334.gb28...@khazad-dum.debian.net



Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-10 Thread Thomas Goirand
On 06/11/2013 02:23 AM, Henrique de Moraes Holschuh wrote:
 On Mon, 10 Jun 2013, Thomas Goirand wrote:
 On 06/10/2013 03:21 AM, Michael Stapelberg wrote:
 Thomas Goirand z...@debian.org writes:
 In this blog post, you tell that it's possible not to use all the
 components of systemd. Then, the immediate question that pops to my
 mind: what are *your* intentions then, in Debian (or, said in another
 way, what would you like to do if you where the only one to decide)?
 Would you like to remove some components, or keep them all by default?
 I don’t understand the intention behind that question. Could you clarify
 so that I can give a proper answer please?

 Let's say you decide. Let's say you set systemd by default in Debian.

 Then which component would you install, and activate by default? Which
 component will you make only installable if the user decides to do it
 actively (for example using apt-get install)?
 
 That is an uninteresting option.  There is no way we can afford to have two
 different sets of features for PID 1 under the same name in Debian without
 it causing support trouble we don't need.  So, please assume that every
 optional PID 1 feature of systemd will be compiled in, and that only stuff
 that can be disabled at runtime might be disabled.

If what you say above is right (I have no opinion on that yet, I just
trust what you say), then this renders the systemd is modular argument
completely useless, because practically, the user wont be able to
choose. Which is why I was asking specifically Michael about this, since
he raised the fact that systemd is modular and components can be disabled.

So my original question to Michael remains: what component should be
activated by default, which one could be optional, and how can these
options be enabled or disabled. I've heard about journald. which seems
controversial (I also don't have any option about it myself yet). Could
this one be optional, and not activated by default for example? What are
the systemd maintainers opinion about it?

Thomas


--
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/51b69a6e.6030...@debian.org



Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-10 Thread Uoti Urpala
Thomas Goirand wrote:
 On 06/11/2013 02:23 AM, Henrique de Moraes Holschuh wrote:
  On Mon, 10 Jun 2013, Thomas Goirand wrote:
  Then which component would you install, and activate by default? Which
  component will you make only installable if the user decides to do it
  actively (for example using apt-get install)?
  
  That is an uninteresting option.  There is no way we can afford to have two
  different sets of features for PID 1 under the same name in Debian without
  it causing support trouble we don't need.  So, please assume that every
  optional PID 1 feature of systemd will be compiled in, and that only stuff
  that can be disabled at runtime might be disabled.
 
 If what you say above is right (I have no opinion on that yet, I just
 trust what you say), then this renders the systemd is modular argument
 completely useless, because practically, the user wont be able to
 choose. Which is why I was asking specifically Michael about this, since
 he raised the fact that systemd is modular and components can be disabled.

As I understand it, the point about modularity was brought up to clarify
misunderstandings about systemd architecture, not to suggest that the
Debian setup should give users the ability turn arbitrary things on or
off just for the sake of having more choices to make.

Some people apparently had various misunderstandings about systemd
bloat, up to believing that it would have a huge collection of varying
functionality in PID 1. The systemd is modular argument shows what's
wrong with this bloat view. It still works even if Debian maintainers
decide to use all the modules. Your user won't be able to choose would
be relevant if the complaint had been that systemd doesn't provide
Gentoo users enough switches to turn on or off, but apparently that was
not a common complaint in the survey.



-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/1370925376.18948.33.camel@glyph.nonexistent.invalid



Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-10 Thread Tollef Fog Heen
]] Thomas Goirand 

 If what you say above is right (I have no opinion on that yet, I just
 trust what you say), then this renders the systemd is modular argument
 completely useless, because practically, the user wont be able to
 choose. Which is why I was asking specifically Michael about this, since
 he raised the fact that systemd is modular and components can be disabled.

The primary point about the modularity is to limit what happens in init
itself, not to have optional modules if it can be avoided.

 So my original question to Michael remains: what component should be
 activated by default, which one could be optional, and how can these
 options be enabled or disabled. I've heard about journald. which seems
 controversial (I also don't have any option about it myself yet). Could
 this one be optional, and not activated by default for example? What are
 the systemd maintainers opinion about it?

I believe I already answered this, so I'm not sure why you're asking
again.

-- 
Tollef Fog Heen, with his systemd maintainer hat on
UNIX is user friendly, it's just picky about who its friends are


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87li6hqkdv@xoog.err.no



Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-09 Thread Bjørn Mork
Michael Stapelberg stapelb...@debian.org writes:

 since some people might not read planet debian, here is a link to my
 first blog post in a series of posts dealing with the results of the
 Debian systemd survey:

 http://people.debian.org/~stapelberg/2013/06/09/systemd-bloat.html

I was hoping you would cover my reason why I fear the too many
dependencies:

external dependencies obfuscates what code is part of pid 1 and what is
not.  Some (most?) of the external projects you depend on are probably
not developed with this use case in mind, and hence are not suitable for
being used like this.  This is not a critisism of the externel
libraries. There is quite a difference between writing code which can
exit and writing code which cannot.  No sane person will attempt to do
the latter unless strictly required.

You claim that the systemd code using these dependencies is simple, and
I have no reason do doubt that.  But you ignore the fact that you make
the external code part of systemd.  That code also needs to be audited
as if it were an integral part of systemd.  You could just write a
libpid1 and a 5 line application using that library.  It should be
obvious that auditing the 5 line application would be unsufficient.

The point is that it is not obvious that all these external dependencies
are suited for use by systemd, and that the responsibility for ensuring
that they are lies with the systemd project.  Not with the external
projects.

I understand that there are lots of developers having a hard time
understanding that there is a difference between
 - desktop application depending on libfoo, and
 - criticial (securitywise, stabilitywise, other) application depending
   on libfoo

You do of course not have to agree.  This is my personal opinion only.
But I believe it is useful to read Jamie Zawinski's view on screensavers
and toolkit library dependencies, and try to figure out how that can be
relevant to systemd and external dependencies:
http://www.jwz.org/xscreensaver/toolkits.html

Using a library in a critical application will make any harmless library
bug into a critical bug.  Are the maintainters of those dependencies
really ready to handle that?

This is the primary reason why the list of dependencies terrifies me.
Not any of the four reasons you list, which, although valid, are only
minor issues which could be outweighed by advantages offered by the
dependency.



Bjørn


--
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87zjuzwrb9@nemi.mork.no



Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-09 Thread Michael Stapelberg
Hi Bjørn,

Thanks for your well-put mail. As far as I understand it, your concern
is that libraries might exit() (either due to actually calling exit() or
due to having a bug) and therefore take pid 1 with them.

I am sure that the systemd developers are very aware of this fact. They
even published libabc, a collection of best practices for libraries:
https://git.kernel.org/cgit/linux/kernel/git/kay/libabc.git/tree/README
…which explicitly lists your concern:

Never call exit(), abort(), be very careful with assert()
  - Always return error codes.
  - Libraries need to be safe for usage in critical processes that
need to recover from errors instead of getting killed (think PID 1!).

Looking at the pid 1 dependency list¹, my gut feeling is that these
libraries are very mature and well-tested. Of course, that is not a
guarantee and I have not personally audited them. Furthermore, you can
never entirely rule out bugs. Then again, you can always fix bugs :).

In conclusion, I don’t worry about this at all. systemd, in my
experience, is very stable. This includes code which is pulled in by
third-party libraries.

① http://people.debian.org/~stapelberg/docs/systemd-dependencies.html,
  section 2 (“systemd(1) itself: PID 1”)

-- 
Best regards,
Michael


--
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/x67gi31tc1@midna.zekjur.net



Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-09 Thread Vincent Bernat
 ❦  9 juin 2013 11:45 CEST, Bjørn Mork bj...@mork.no :

 You do of course not have to agree.  This is my personal opinion only.
 But I believe it is useful to read Jamie Zawinski's view on screensavers
 and toolkit library dependencies, and try to figure out how that can be
 relevant to systemd and external dependencies:
 http://www.jwz.org/xscreensaver/toolkits.html

systemd does not rely on a toolkit. So, most of the arguments listed by
Jamie do not hold. I suppose that you are mostly worried by libdbus
since other libraries are already used in other critical
daemons. However, note that:

 - D-Bus is not a new project, it is now 10 years old
 - security is a primary concern for dbus
 - there are a lot of unit tests covering dbus code
 - memory allocation failure is also tested and crashing on that is
   considered as a bug
 - systemd uses dbus to avoid to introduce a new (buggy) RPC mechanism

Moreover, I am not aware of critics against D-Bus code quality. The
coding practice is modern and seems safe.
-- 
Use statement labels that mean something.
- The Elements of Programming Style (Kernighan  Plauger)


pgpQcccnbw8R5.pgp
Description: PGP signature


Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-09 Thread Thomas Goirand
On 06/09/2013 07:04 AM, Michael Stapelberg wrote:
 Hi,
 
 since some people might not read planet debian, here is a link to my
 first blog post in a series of posts dealing with the results of the
 Debian systemd survey:
 
 http://people.debian.org/~stapelberg/2013/06/09/systemd-bloat.html

In this blog post, you tell that it's possible not to use all the
components of systemd. Then, the immediate question that pops to my
mind: what are *your* intentions then, in Debian (or, said in another
way, what would you like to do if you where the only one to decide)?
Would you like to remove some components, or keep them all by default?

Thomas


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/51b4ac5a.4050...@debian.org



Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-09 Thread Michael Stapelberg
Hi Thomas,

Thomas Goirand z...@debian.org writes:
 In this blog post, you tell that it's possible not to use all the
 components of systemd. Then, the immediate question that pops to my
 mind: what are *your* intentions then, in Debian (or, said in another
 way, what would you like to do if you where the only one to decide)?
 Would you like to remove some components, or keep them all by default?
I don’t understand the intention behind that question. Could you clarify
so that I can give a proper answer please?

-- 
Best regards,
Michael


--
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/x6mwqzytsa@midna.zekjur.net



Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-09 Thread Robert Collins
On 10 June 2013 07:21, Michael Stapelberg stapelb...@debian.org wrote:
 Hi Thomas,

 Thomas Goirand z...@debian.org writes:
 In this blog post, you tell that it's possible not to use all the
 components of systemd. Then, the immediate question that pops to my
 mind: what are *your* intentions then, in Debian (or, said in another
 way, what would you like to do if you where the only one to decide)?
 Would you like to remove some components, or keep them all by default?
 I don’t understand the intention behind that question. Could you clarify
 so that I can give a proper answer please?

I think Thomas is saying that the question of 'systemd for Debian' is
a specific deployment case; the answer of 'you can choose which
components of systemd to use' is an abstract answer. What components
would still be choosable in 'systemd for Debian', not systemd
generically.

I must admit, I find it an interesting question too :)

-Rob

-- 
Robert Collins rbtcoll...@hp.com
Distinguished Technologist
HP Cloud Services


--
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/caj3hoz2t3h1tbmkovucyj09vtrairts3upr+u1xjk7eqmuk...@mail.gmail.com



Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-09 Thread Tollef Fog Heen
]] Robert Collins 

 On 10 June 2013 07:21, Michael Stapelberg stapelb...@debian.org wrote:
  Hi Thomas,
 
  Thomas Goirand z...@debian.org writes:
  In this blog post, you tell that it's possible not to use all the
  components of systemd. Then, the immediate question that pops to my
  mind: what are *your* intentions then, in Debian (or, said in another
  way, what would you like to do if you where the only one to decide)?
  Would you like to remove some components, or keep them all by default?
  I don’t understand the intention behind that question. Could you clarify
  so that I can give a proper answer please?
 
 I think Thomas is saying that the question of 'systemd for Debian' is
 a specific deployment case; the answer of 'you can choose which
 components of systemd to use' is an abstract answer. What components
 would still be choosable in 'systemd for Debian', not systemd
 generically.

I'd like to align with upstream here (and in general): If upstream says
a component is optional, that's a configuration I'd in general want to
support.  If upstream says a component is not optional, well, then I'm
unlikely to go to the effort of making it optional.

I am in general not fond of optional components, they make for more
variations and harder debugging.  (There are of course situations where
the tradeoff goes the other way, but everything else being equal, I
prefer a system with fewer parts and fewer optional parts.)

-- 
Tollef Fog Heen
UNIX is user friendly, it's just picky about who its friends are


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/m21u8bdnnl@rahvafeir.err.no



Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-09 Thread Thomas Goirand
On 06/10/2013 03:21 AM, Michael Stapelberg wrote:
 Hi Thomas,
 
 Thomas Goirand z...@debian.org writes:
 In this blog post, you tell that it's possible not to use all the
 components of systemd. Then, the immediate question that pops to my
 mind: what are *your* intentions then, in Debian (or, said in another
 way, what would you like to do if you where the only one to decide)?
 Would you like to remove some components, or keep them all by default?
 I don’t understand the intention behind that question. Could you clarify
 so that I can give a proper answer please?

Let's say you decide. Let's say you set systemd by default in Debian.

Then which component would you install, and activate by default? Which
component will you make only installable if the user decides to do it
actively (for example using apt-get install)?

Which (installed by default) component will be able to be turned off by
our users without breaking the whole thing, or removing features which
makes the life with systemd difficult (I'm not sure if there's things
like that, just trying to understand)?

How would the user unable/disable such components: apt-get
remove/purge/install ? Edit /etc/default/systemd ?

Thomas


--
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/51b53989.8030...@debian.org



Survey answers part 1: systemd has too many dependencies, …

2013-06-08 Thread Michael Stapelberg
Hi,

since some people might not read planet debian, here is a link to my
first blog post in a series of posts dealing with the results of the
Debian systemd survey:

http://people.debian.org/~stapelberg/2013/06/09/systemd-bloat.html

-- 
Best regards,
Michael


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/x6fvws19x5@midna.zekjur.net



Re: Survey answers part 1: systemd has too many dependencies, …

2013-06-08 Thread Robert Collins
Please note that I am not advocating for or against systemd, but...
With regards complexity and whether it is intrinsic or not, Rich
Hickey puts forward a more rigorous definition of complexity, and how
it is sometimes in tension with easiness...
http://www.infoq.com/presentations/Simple-Made-Easy-QCon-London-2012

I would love it if someone were to analyze systemd with/in that framework.

-Rob

On 9 June 2013 11:04, Michael Stapelberg stapelb...@debian.org wrote:
 Hi,

 since some people might not read planet debian, here is a link to my
 first blog post in a series of posts dealing with the results of the
 Debian systemd survey:

 http://people.debian.org/~stapelberg/2013/06/09/systemd-bloat.html

 --
 Best regards,
 Michael


 --
 To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
 with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
 Archive: http://lists.debian.org/x6fvws19x5@midna.zekjur.net




-- 
Robert Collins rbtcoll...@hp.com
Distinguished Technologist
HP Cloud Services


-- 
To UNSUBSCRIBE, email to debian-devel-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: 
http://lists.debian.org/caj3hoz1ztkmwkbffc4ubhwpdxvh1-c22bf1xfdvpkrrty8u...@mail.gmail.com