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 |