Gentoo Archives: gentoo-user

From: "Canek Peláez Valdés" <caneko@×××××.com>
To: gentoo-user@l.g.o
Subject: Re: [gentoo-user] udev + /usr
Date: Sat, 17 Sep 2011 18:37:33
Message-Id: CADPrc80Ub672Y4G-rCP6Q4NAun0NJ5JHk5o3+tb0ehnidnhwcA@mail.gmail.com
In Reply to: Re: [gentoo-user] udev + /usr by Michael Mol
1 On Sat, Sep 17, 2011 at 11:41 AM, Michael Mol <mikemol@×××××.com> wrote:
2 > On Sat, Sep 17, 2011 at 10:50 AM, Canek Peláez Valdés <caneko@×××××.com> wrote:
3 >> On Sat, Sep 17, 2011 at 2:45 AM, Joost Roeleveld <joost@××××××××.org> wrote:
4 > [[snippage]]
5 >>> I still think Gnome (or any other desktop environment) should not care about
6 >>> which init-system is being used.
7 >>
8 >> And they will not. They will only use some capabilities that a system
9 >> provides, and use it if available. It's the exact same thing as udev.
10 >>
11 >
12 > [[snippage]]
13 >
14 >> a) dbus is not part of the GUI, b) like it or not, it's the
15 >> standardized IPC mechanism in Linux. If it's available, let's use it.
16 >
17 > This is exactly the same attitude of convenience that led to udev
18 > being abused, and then to the very decisions by udev's maintainer that
19 > started off the firestorm on this list over the last couple weeks. The
20 > system is *bloating* at an incredible rate.
21 >
22 >>
23 >>> There are already well-tested and working mechanisms for communication where
24 >>> needed.
25 >>
26 >> I would like for you to be more specific about them.
27 >
28 > Sockets, be they UNIX domain sockets, IPv4 or IPv6.
29 [snip]
30 > Shared memory:
31 [snip]
32 > Pipes:
33 [snip]
34
35 Yeah, but then you need to design, implement and debug a protocol
36 communication: what part of the wire speaks first, what does it says,
37 what are the valid responses, etc.
38
39 And then, if other component wants to communicate, it has to learn
40 your little protocol. dbus standardize this. And it uses sockets,
41 shared memory and pipes as building blocks, I believe,
42
43 > Not sure what others there are, but those have existed longer than
44 > I've been alive, and been standard since the early 1990s.
45
46 They are standard in the sense that they are a low level communication
47 standard API. An IPC is *way* more than that; dbus is an IPC, because
48 then you have high level "objects" and "methods", no matter the
49 language of the two sides of the wire communicating, or even if the
50 objects live in the same computer or not.
51
52 BTW, there *was* an standard that did everything dbus does: ORB, the
53 Object Request Broker. They tried to use that as IPC years ago, but is
54 so damn complicated to implement right they decided to better
55 implement a new standard. The standard is dbus.
56
57 > Progress is
58 > adding new functionality, not reimplementing existing functionality as
59 > new APIs on top of the existing functionality.
60
61 I think you are wrong if you believe that dbus is just "existing
62 functionality as new APIs on top of the existing functionality". dbus
63 is a complete IPC system. Neither sockets, shared memory nor pipes are
64 an IPC, because they lack a well defined protocol. You *can* do the
65 same you do with dbus if you only use sockets/sharedmem/pipes, but
66 then you need to do it over and over and over again. Is like the
67 difference between assembler and C: you *can* do the same with both,
68 but that does not mean that is actually a good idea to only use
69 assembler.
70
71 > That's little better
72 > than busywork for people who could be building something actually new.
73
74 dbus offers new functionality, like I said.
75
76 Regards.
77 --
78 Canek Peláez Valdés
79 Posgrado en Ciencia e Ingeniería de la Computación
80 Universidad Nacional Autónoma de México

Replies

Subject Author
Re: [gentoo-user] udev + /usr Michael Mol <mikemol@×××××.com>
Re: [gentoo-user] udev + /usr pk <peterk2@××××××××.se>