Gentoo Archives: gentoo-soc

From: heroxbd@×××××.com
To: gentoo-soc@l.g.o
Subject: [gentoo-soc] (draft) final report for OpenRC soc project 2012
Date: Wed, 15 Aug 2012 18:06:44
Message-Id: 861uj8faqh.fsf_-_@gmail.com
In Reply to: Re: [gentoo-soc] report 8.11: improving OpenRC by Luca Barbato
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

Replies

Subject Author
Re: [gentoo-soc] (draft) final report for OpenRC soc project 2012 Luca Barbato <lu_zero@g.o>