discuss: New HOWTO: minit
Subject:
Re: New HOWTO: minit
From:
Nico Schottelius ####@####.####
Date:
13 Oct 2004 11:53:27 -0000
Message-Id: <20041013115301.GA10213@schottelius.org>
Rahul Sundaram [Tue, Oct 12, 2004 at 09:11:11AM -0700]:
> > Hello!
> >
> > The corrected version of the minit-howto can be
> > found at
> >
> http://nico.schotteli.us/papers/linux/howto/minit-howto/index.html
> >
> > I would be happy about any critic and/or
> > corrections.
> >
>
> Does this break the LSB?
If you ask for my personal opinion I would say "I don't care, as
LSB is nothing one want to use, as the spec of 1.3 and 2.0 have many
points explained to detailled, while others are open like the heaven.",
but that's not your question.
From
http://refspecs.freestandards.org/LSB_2.0.0/LSB-Core/LSB-Core/command.html:
I would say yes: We don't have install_initd.
From
http://refspecs.freestandards.org/LSB_2.0.0/LSB-Core/LSB-Core/iniscrptact.html
they speak about init scripts, which we don't have with minit.
So: yes.
And further on:
http://refspecs.freestandards.org/LSB_2.0.0/LSB-Core/LSB-Core/initsrcinstrm.html
http://refspecs.freestandards.org/LSB_2.0.0/LSB-Core/LSB-Core/initscrcomconv.html
(one of the most senseles parts, as comments should never used to
control program execution. I don't know if they simply saw that they
need dependencies and put it in the first place they could find).
My answer is yes: minit breaks LSB, and that's a real advantage.
> what kind of performance benefits are we expecting here?
Booting up the system (Displaping login:) within 10 seconds
(start counting after kernel starts init) versus 30 or more seconds
with standard debian sysvinit.
> do many people use this system?.
no, it's yet to new. And most people won't, because there is a big
lack of documentation. That's why I wrote this Howto.
> i am curious about its orgins and usage
What do you mean with that?
Nico
P.S.: In the next half hour I'll release v0.2.2 of the Howto, which
answers your questions and has one correction.
--
Keep it simple & stupid, use what's available.
Please use pgp encryption: 8D0E 27A4 is my id.
http://nico.schotteli.us | http://linux.schottelius.org
--> -->
<type 'exceptions.IOError'> | Python 2.5.2: /usr/bin/python Sat Jul 6 02:03:30 2024 |
A problem occurred in a Python script. Here is the sequence of
function calls leading up to the error, in the order they occurred.
/opt/ezmlm-browse-0.20/main.py in main() |
424
|
425 if path is not None:
|
426 main_path(path)
|
427 else:
|
428 main_form()
|
global main_form = <function main_form at 0x9018c6c> |
/opt/ezmlm-browse-0.20/main.py in main_form() |
378 except ImportError:
|
379 die(ctxt, "Invalid command")
|
380 module.do(ctxt)
|
381
|
382 def main():
|
module = <module 'commands.showmsg' from '/opt/ezmlm-browse-0.20/commands/showmsg.pyc'>, module.do = <function do at 0x9083294>, global ctxt = {'cmd': 'showmsg', 'threadidx': 6, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'} |
/opt/ezmlm-browse-0.20/commands/showmsg.py in do(ctxt={'cmd': 'showmsg', 'threadidx': 6, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}) |
18 write(html('msg-pager') % ctxt)
|
19 write('<hr>')
|
20 sub_showmsg(ctxt, ctxt[MSGNUM])
|
21 write('<hr>')
|
22 write(html('msg-pager') % ctxt)
|
global sub_showmsg = <function sub_showmsg at 0x90181ec>, ctxt = {'cmd': 'showmsg', 'threadidx': 6, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, global MSGNUM = 'msgnum' |
/opt/ezmlm-browse-0.20/globalfns.py in sub_showmsg(ctxt={'cmd': 'showmsg', 'threadidx': 6, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, msgnum=7974) |
229 format_timestamp(ctxt, ctxt)
|
230 write(html('msg-header') % ctxt)
|
231 rec_showpart(ctxt, msg, 0)
|
232 write(html('msg-footer') % ctxt)
|
233 ctxt.pop()
|
global rec_showpart = <function rec_showpart at 0x90181b4>, ctxt = {'cmd': 'showmsg', 'threadidx': 6, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, msg = <email.message.Message instance at 0x909cf2c> |
/opt/ezmlm-browse-0.20/globalfns.py in rec_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 6, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x909cf2c>, partnum=1) |
205 else:
|
206 for p in part.get_payload():
|
207 partnum = rec_showpart(ctxt, p, partnum+1)
|
208 else:
|
209 write(html('msg-sep') % ctxt)
|
partnum = 1, global rec_showpart = <function rec_showpart at 0x90181b4>, ctxt = {'cmd': 'showmsg', 'threadidx': 6, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, p = <email.message.Message instance at 0x90a31ec> |
/opt/ezmlm-browse-0.20/globalfns.py in rec_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 6, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x90a31ec>, partnum=2) |
208 else:
|
209 write(html('msg-sep') % ctxt)
|
210 sub_showpart(ctxt, part)
|
211 return partnum
|
212
|
global sub_showpart = <function sub_showpart at 0x9018144>, ctxt = {'cmd': 'showmsg', 'threadidx': 6, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part = <email.message.Message instance at 0x90a31ec> |
/opt/ezmlm-browse-0.20/globalfns.py in sub_showpart(ctxt={'cmd': 'showmsg', 'threadidx': 6, 'HTTP_X_FORWA...HTTP_ACCEPT_ENCODING': 'gzip, br, zstd, deflate'}, part=<email.message.Message instance at 0x90a31ec>) |
164 type = ctxt[TYPE] = part.get_content_type()
|
165 ctxt[FILENAME] = part.get_filename()
|
166 template = html('msg-' + type.replace('/', '-'))
|
167 if not template:
|
168 template = html('msg-' + type[:type.find('/')])
|
global template = <function template at 0x9010e9c>, global html = <function html at 0x9010ed4>, type = 'application/pgp-signature', type.replace = <built-in method replace of str object at 0x90a2838> |
/opt/ezmlm-browse-0.20/globalfns.py in html(name='msg-application-pgp-signature') |
40
|
41 def html(name):
|
42 return template(name + '.html')
|
43
|
44 def xml(name):
|
global template = <function template at 0x9010e9c>, name = 'msg-application-pgp-signature' |
/opt/ezmlm-browse-0.20/globalfns.py in template(filename='msg-application-pgp-signature.html') |
31 except IOError:
|
32 if not _template_zipfile:
|
33 _template_zipfile = zipfile.ZipFile(sys.argv[0])
|
34 try:
|
35 f = _template_zipfile.open(n).read()
|
global _template_zipfile = None, global zipfile = <module 'zipfile' from '/usr/lib/python2.5/zipfile.pyc'>, zipfile.ZipFile = <class zipfile.ZipFile at 0x8fa9a7c>, global sys = <module 'sys' (built-in)>, sys.argv = ['-c', '/opt/ezmlm-browse-0.20'] |
/usr/lib/python2.5/zipfile.py in __init__(self=<zipfile.ZipFile instance at 0x903244c>, file='-c', mode='r', compression=0, allowZip64=False) |
337 self.filename = file
|
338 modeDict = {'r' : 'rb', 'w': 'wb', 'a' : 'r+b'}
|
339 self.fp = open(file, modeDict[mode])
|
340 else:
|
341 self._filePassed = 1
|
self = <zipfile.ZipFile instance at 0x903244c>, self.fp = None, builtin open = <built-in function open>, file = '-c', modeDict = {'a': 'r+b', 'r': 'rb', 'w': 'wb'}, mode = 'r' |
<type 'exceptions.IOError'>: [Errno 2] No such file or directory: '-c'
args =
(2, 'No such file or directory')
errno =
2
filename =
'-c'
message =
''
strerror =
'No such file or directory'