Gentoo Archives: gentoo-soc

From: heroxbd@×××××.com
To: gentoo-soc@l.g.o
Subject: [gentoo-soc] [soc proposal] Daemons in Gentoo Prefix with OpenRC
Date: Wed, 04 Apr 2012 12:09:30
Message-Id: 86ty0z3klr.fsf@gmail.com
1 Dear all,
2
3 I have composed and submitted a proposal as included inline
4 below. Online version is at
5
6 http://www.awa.tohoku.ac.jp/~benda/projects/openrc.html
7
8 I am looking forward to have your comments to the proposal.
9
10 Yours,
11 Benda
12
13 Daemons in Gentoo Prefix with OpenRC
14 ====================================
15
16 Author: Benda Xu
17 Date: 2012-04-04 18:32:28 JST
18
19
20 Table of Contents
21 =================
22 1 Abstract
23 2 Objective
24 3 Big Picture
25 4 Motive
26 5 Deliverables
27 5.1 before mid-term
28 5.1.1 Timeline (dates as deadlines) to achieve that
29 5.2 final
30 5.2.1 Timeline (dates as deadlines) to achieve that
31 6 Biography
32 6.1 experiences
33 6.2 toys at hand
34 6.3 activities involved in Gentoo
35
36
37 1 Abstract
38 -----------
39 I am going to take the development of prefix support in OpenRC,
40 deploy OpenRC to work with baselayout in Prefix, and extend Prefix
41 with the long-waited feature[1] of services daemons.
42
43 2 Objective
44 ------------
45 Port OpenRC to Gentoo Prefix to organize daemons.
46
47 3 Big Picture
48 --------------
49 Gentoo Prefix is a Gentoo portage managed system installed in a
50 prefix directory. The main purpose is to leverage the Gentoo Linux
51 Portage tree to other Linux distributions, BSD variants, Solaris,
52 hpux, aix and even WINNT.
53
54 Gentoo Prefix is usually used by a normal user on the system,
55 providing a systematic way to install new package into a shared
56 computing environment without superuser privilege.
57
58 After several years of development since 2006, Gentoo Prefix has
59 grown mature, especially on most tested platforms like x86-linux,
60 amd64-linux, x86-macosx, to name a few.
61
62 At present, developers are actively porting changes in Gentoo Prefix
63 back into the main Gentoo Portage tree (in Gentoo community called
64 gentoo-x86), thanks to the introduction of new portage API,
65 aka. "EAPI", 3 and 4[2].
66
67 4 Motive
68 ---------
69 Gentoo Prefix (hereafter Prefix) is a productive _foreground_
70 environment. Daemons in Prefix can be run manually to be detached
71 from foreground. This practice is not scalable, and soon becomes
72 tedious.
73
74 There was effort to address this issue since 2007 to have services
75 in Prefix, documented in the (in)famous bug #196294[1]. The
76 scheme works for linux Prefix, but non portable to other host OS
77 like Solaris.
78
79 At the same time, Gentoo/*BSD grows and calls for a portable init
80 system that can be used across Linux and BSD kernel/userland. In
81 2010, OpenRC project answered the call to design a platform-agnostic
82 init system[3]. Now it matures and serves as default in Gentoo.
83
84 Early effort of OpenRC includes a goal of supporting Prefix. But due
85 to lack of man power and the habit of using Prefix only foreground,
86 the Prefix plan was dropped in OpenRC git tree[4].
87
88 At the same time, Prefix tree becomes an overlay on gentoo-x86,
89 bringing Prefix closer (if not indistinguishable) to standard
90 Gentoo[5]. It's time to reconsider background support in Prefix
91 with in the light of OpenRC.
92
93 5 Deliverables
94 ---------------
95
96 5.1 before mid-term
97 ====================
98 1. functioning OpenRC tarball and ebuild on Prefix with superuser
99 privilege (hereafter superuser Prefix)
100 2. improved baselayout ebuild using OpenRC on superuser Prefix
101
102 5.1.1 Timeline (dates as deadlines) to achieve that
103 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
104 - <2012-04-10 Tue> Join Gentoo OpenRC herd and get familiar with the source tree.
105 - <2012-04-11 Wed> Make a git branch out of OpenRC main and develop with it
106 - <2012-04-30 Mon> Make it run with a directory prefix.
107 - <2012-06-01 Fri> Make necessary changes to test cases where OpenRC is invoked by
108 host rc system, manual invoking, or cron.
109 - <2012-06-15 Fri> Introduce a mechanism to separate host rc only tasks from
110 Prefix OpenRC, e.g. kernel module.
111 - <2012-07-01 Sun> Patch baselayout-prefix to integrate OpenRC prefix branch.
112
113 5.2 final
114 ==========
115 1. functioning OpenRC tarball and ebuild on normal user Prefix,
116 which is configurable to be used in superuser Prefix
117 2. baselayout changes reviewed by Gentoo Base Project and merged
118 back into gentoo-x86
119 3. a reference arm-linux Prefix system running mldonkey[6],
120 proftpd[7], tinc[8], nginx[9] from OpenRC for
121 demonstration and community use.
122 4. Gentoo documentation or function inside ebuild to guide end user
123 to deploy OpenRC.
124
125 5.2.1 Timeline (dates as deadlines) to achieve that
126 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
127 - <2012-07-15 Sun> Reuse the mechanism to separate (or modify)
128 super user only tasks from Prefix OpenRC, e.g. tuning kernel
129 runtime parameters, binding TCP port less than 1024.
130 - <2012-08-01 Wed> merge baselayout-prefix with baselayout-2. This
131 is a by-product, in fact including OpenRC into Prefix requires
132 modification of baselayout-prefix.
133
134 If the porting OpenRC is done in a direction of making
135 baselayout-prefix with baselayout-2 more similar, they can be
136 merge into a Prefix-aware baselayout-2.
137 - <2012-08-20 Mon> Use new baselayout and openrc ebuilds to build
138 the demo system, provide access accounts for those who are
139 interested. Document the build procedure as tutorial. If the
140 deploying process needs manual tuning, compose Gentoo
141 documentation to explain the details.
142
143 6 Biography
144 ------------
145 I am born in China and now studying in particle physics in Japan as
146 a graduate student. I like tweaking electronic devices and computer
147 programs. Right now I am really fond of travelling around the world
148 and learning different languages.
149
150 As a GNU/Linux user for 8 years since 2003, I use Debian for desktop
151 and Gentoo Prefix for servers. I live in Emacs and stumpwm. I
152 started to love Gentoo Prefix in 2010 and joined gentoo four months
153 ago [10].
154
155 6.1 experiences
156 ================
157 2005 translated Debian Sarge Release Note into Simplified Chinese[11]
158 2007--2009 system administrator for student associations and dormitory in Tsinghua University, China
159 2009 intern in Lava Inc at Beijing, video streaming
160 2011 short intern at Intel China
161 2011--now Consultant for Tsinghua University student group of campus network administrators
162
163 6.2 toys at hand
164 =================
165 1. mips architecture
166 - Planex MZK-W04NU running OpenWrt[12]
167 - TP-Link WR1043ND running OpenWrt[12]
168 2. arm architecture
169 - Buffalo LS-VL running stock system with Gentoo Prefix
170 3. powerpc architecture
171 - Xilinx Virtex II PRO evaluation board, minimal Debian[13]
172 - SONY PlayStation 3, jailbroken, planning to deploy Gentoo
173 4. microblaze architecture
174 - Xilinx Spartan 3 Starter Kit, minimal busybox
175
176 6.3 activities involved in Gentoo
177 ==================================
178 I will just give a few links to my activities
179
180 - my reported bugs: [http://goo.gl/cv8My]
181 - posts on gentoo-alt: [http://goo.gl/WwIXF]
182
183 [1] [https://bugs.gentoo.org/show_bug.cgi?id=196294]
184
185 [2] [http://devmanual.gentoo.org/ebuild-writing/eapi/index.html]
186
187 [3] [http://www.gentoo.org/proj/en/base/openrc]
188
189 [4] [http://git.overlays.gentoo.org/gitweb/?p=proj/openrc.git;a=commit;h=3247184d]
190
191 [5] [http://archives.gentoo.org/gentoo-alt/msg_1f99db167948b65af5c77f55a0a3d093.xml]
192
193 [6] [http://packages.gentoo.org/package/net-p2p/mldonkey]
194
195 [7] [http://packages.gentoo.org/package/net-ftp/proftpd]
196
197 [8] [http://packages.gentoo.org/package/net-misc/tinc]
198
199 [9] [http://packages.gentoo.org/package/www-servers/nginx]
200
201 [10] [http://archives.gentoo.org/gentoo-project/msg_c752a3d5119130dd715ebc587536e00c.xml]
202
203 [11] [http://www.debian.org/releases/sarge/releasenotes]
204
205 [12] [http://openwrt.org/]
206
207 [13] [http://www.awa.tohoku.ac.jp/~benda/projects/virtex2p.html]
208 --
209 XU Benda
210 Research Center for Neutrino Science
211 Tohoku University
212 JAPAN
213
214 http://www.awa.tohoku.ac.jp/~benda