1 |
Dear guys and gals, |
2 |
|
3 |
For the soft pencil down, I'd like to aggregate a report for the overall |
4 |
status for my project. |
5 |
|
6 |
The goals have been achieved: |
7 |
|
8 |
1. Prefix support of OpenRC |
9 |
|
10 |
http://wiki.gentoo.org/wiki/OpenRC/Prefix |
11 |
|
12 |
git repo: |
13 |
http://git.heroxbd.z.tuna.tsinghua.edu.cn/openrc.git?p=openrc.git;a=shortlog;h=refs/heads/prefix |
14 |
|
15 |
for official inclusion |
16 |
|
17 |
a. baselayout-prefix, in tree but masked. |
18 |
b. portage, sent git pull request, grobian is reviewing it. |
19 |
c. openrc, sent git pull request, WilliamH is reviewing it. |
20 |
|
21 |
2. A evaluation of existing init systems |
22 |
|
23 |
This includes solaris SMF, Mac OSX launchd, Fedora systemd, OpenSUSE |
24 |
systemd/LSB combo, Ubuntu upstart and Debian LSB/insserv combo. |
25 |
|
26 |
3. service supervisor |
27 |
|
28 |
achieved via runit, doc at |
29 |
http://www.awa.tohoku.ac.jp/~benda/projects/runit.html |
30 |
|
31 |
will move to wiki after runit feature is pulled in my WilliamH. |
32 |
|
33 |
git repo: |
34 |
http://git.heroxbd.z.tuna.tsinghua.edu.cn/openrc.git?p=openrc.git;a=shortlog;h=refs/heads/runit |
35 |
|
36 |
This is a cool feature, while it have changes to default behavior of |
37 |
OpenRC initscripts. Therefore documenting it comprehensively is |
38 |
necessary. A GLEP will be composed to serve as an RFC for the Gentoo |
39 |
community, official explanation and general guideline to simplify |
40 |
present (already simplified compared to LSB conterparts) init scripts |
41 |
shipped in ebuilds. |
42 |
|
43 |
btw, s6 (http://www.skarnet.org/software/s6/why.html) is a better |
44 |
alternative to runit. |
45 |
|
46 |
4. OOM killer/periodical command |
47 |
|
48 |
Not implemented here, tested with monit (http://mmonit.com/monit/) |
49 |
and fcron (http://fcron.free.fr/). No integration or modification is |
50 |
need in OpenRC, unlike runit. At most, we can introduce a |
51 |
IN_PERIODICAL envvar, as how IN_HOTPLUG works. |
52 |
|
53 |
5. event driven actions |
54 |
|
55 |
Same as hotplug feature already in OpenRC, triggered by udev, just |
56 |
lack of documentation. If used with runlevel stacking (another under |
57 |
documented feature of OpenRC), it can cover all the use cases I could |
58 |
imagine. |
59 |
|
60 |
That's enough. upstart features a udev-upstart-bridge after all. It |
61 |
is a cool feature and we can adopt it with a combo of tools and |
62 |
achieve sane default behavior by packaging with, e.g., our beloved |
63 |
ebuild. The revolutionary event based init design is more of |
64 |
propaganding, IMHO. |
65 |
|
66 |
6. OpenRC introduction to debian |
67 |
|
68 |
documented at |
69 |
http://wiki.debian.org/OpenRC |
70 |
|
71 |
git repo: |
72 |
http://git.heroxbd.z.tuna.tsinghua.edu.cn/openrc.git?p=openrc.git;a=shortlog;h=refs/heads/debian |
73 |
|
74 |
ITP bug: |
75 |
http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=684396 |
76 |
|
77 |
on going debian packaging collaboration |
78 |
http://anonscm.debian.org/gitweb/?p=collab-maint/openrc.git;a=shortlog;h=refs/heads/debian |
79 |
|
80 |
I will work closely with the debian team. Hope debian can stand |
81 |
against the gigantic storm of systemd. |
82 |
|
83 |
The next time consuming task is to push my contribution to upstreams, |
84 |
very likely improving it from the feedbacks along the way. I need to |
85 |
stay tuned and work together with people, including Prefix herd, OpenRC |
86 |
herd and Debian init system developers. |
87 |
|
88 |
Thanks to this project, I find init system an interesting topic, with |
89 |
all the advertisements, politics, debates and cultural collisions |
90 |
mixed. Making a reliable, minimalistic, elegant, fast and extendable |
91 |
init system with dependency handling, optional event triggering, |
92 |
optional service supervising, etc. is definitely not a simple task. |
93 |
|
94 |
The ideas of OpenRC and the way new features gets added resonates with |
95 |
my own value of how computer should work. I will continue to work on it |
96 |
after soc. |
97 |
|
98 |
I'd like to thank my mentor Luca for introducing me to this exciting |
99 |
realm, for his support and advise all along. I'd like to thank Patrick, |
100 |
Fabian, William, Roger for the discussions and support. My thanks also |
101 |
go to people in mailing lists and IRC channels (esp. cxxCZ and ryao) who |
102 |
commented for providing nice ideas/criticism and sharping my mind. |
103 |
|
104 |
Finally replies to my last plans on 8.12, |
105 |
|
106 |
Luca Barbato <lu_zero@g.o> writes: |
107 |
|
108 |
>> I will install a OpenSUSE first for trying out native systemd. Then |
109 |
>> write a tool to parse its unit files. |
110 |
> |
111 |
> Ok. Please document it. |
112 |
|
113 |
Tried systemd on OpenSUSE, disappointed by its ini unit files. At |
114 |
present don't see the necessity for a parser. |
115 |
|
116 |
>> another plan for today |
117 |
>> |
118 |
>> install newest ubuntu to try out upstart natively. Make a draft |
119 |
>> event driven system on my laptop(debian) by newly packaged OpenRC with |
120 |
>> incron/inotify extension. |
121 |
|
122 |
incron not needed, it is for filesystem after all. udev + hotplug@OpenRC |
123 |
do the job. |
124 |
|
125 |
>> The event is like this: |
126 |
>> |
127 |
>> Trigger: pluggin iPhone to my laptop |
128 |
>> |
129 |
>> a. open up iproxy to redirect sshd inside iPhone out |
130 |
>> b. ssh into iPhone and make a socks proxy |
131 |
>> b1. auto tune tinc configure file |
132 |
>> c. fire up proxychain to start tinc vpn through the socks proxy |
133 |
>> |
134 |
>> Finally: I have internet access through 3G network. Gateway is another |
135 |
>> node in my vpn. |
136 |
>> |
137 |
>> Because my phone can be plugged in anytime, dependency itself is not |
138 |
>> enough. I will need incron/inotify to drive OpenRC fire up a.b.c. step |
139 |
>> timely. |
140 |
> |
141 |
> Seems an interesting experiment, go for it! |
142 |
|
143 |
Succeeded, thinking of documenting it in wiki. |
144 |
|
145 |
Cheers, |
146 |
Benda |