/srv/irclogs.ubuntu.com/2007/03/03/#upstart.txt

=== khermans__ [i=administ@nat/cisco/x-e8084fb6ef72d835] has joined #upstart
=== khermans__ [i=administ@nat/cisco/x-e8084fb6ef72d835] has joined #upstart
=== mbiebl [n=michael@e180099068.adsl.alicedsl.de] has joined #upstart
=== theCore [n=alex@ubuntu/member/theCore] has joined #upstart
=== pkt [n=pantelis@athedsl-136147.otenet.gr] has joined #upstart
=== Md [i=md@freenode/staff/md] has joined #upstart
=== AStorm [n=astralst@chello084010114027.chello.pl] has joined #upstart
=== wasabi [n=wasabi@ubuntu/member/wasabi] has joined #upstart
=== Amaranth [n=travis@ubuntu/member/Amaranth] has joined #upstart
=== _ion [i=johan@kiviniemi.name] has joined #upstart
=== nakee [n=nakee@grok.cs.huji.ac.il] has joined #upstart
=== cortana [n=sam@62-31-146-25.cable.ubr12.azte.blueyonder.co.uk] has joined #upstart
=== wasabi_ [n=jhaltom@ubuntu/member/wasabi] has joined #upstart
=== benmur [n=benmur@friends.sukria.net] has joined #upstart
=== AlexExtreme [n=AlexExtr@frugalware/developer/AlexExtreme] has joined #upstart
=== mbiebl [n=michael@e180099068.adsl.alicedsl.de] has joined #upstart
=== mbiebl [n=michael@e180099068.adsl.alicedsl.de] has joined #upstart
=== j_ack [n=rudi@p508DBA65.dip0.t-ipconnect.de] has joined #upstart
=== khermans__ [i=administ@nat/cisco/x-55cf71a4a3b3fd41] has joined #upstart
AStormAny good C programmer around?08:03
AStormI mean _damn good_.08:03
AStormcmpdir.c:125: error: invalid operands to binary &08:04
AStormline:08:05
AStorm        if ((!(difftype & 5) || untrusted_size) && S_ISREG(st))08:05
AStormdifftype is unsigned08:05
AStormGah!08:11
AStormNow I've got it.08:11
AStormWrong parameter to the macro.08:11
AStormShould be st->st_mode08:11
AStormC preprocessor is smarter than me :P08:12
AStormCan't just say "Possibly the argument 1 to macro XYZ is of invalid type", heh?08:16
AStormMacros are phun :P08:18
=== int0x0c [n=ben@161.253.46.197] has joined #upstart
=== juergbi [n=juerg@80-219-17-102.dclient.hispeed.ch] has joined #upstart
=== pkt [n=pantelis@athedsl-285482.otenet.gr] has joined #upstart
=== cortana [n=sam@62-31-146-25.cable.ubr12.azte.blueyonder.co.uk] has joined #upstart
=== cortana [n=sam@62-31-146-25.cable.ubr12.azte.blueyonder.co.uk] has joined #upstart
=== Md [i=md@freenode/staff/md] has joined #upstart
=== _ion_ [i=johan@kiviniemi.name] has joined #upstart
=== Md [i=md@freenode/staff/md] has joined #upstart
=== juergbi [n=juerg@80-219-17-102.dclient.hispeed.ch] has joined #upstart
=== binary-zero [n=Shakeel@203.81.202.104] has joined #upstart
=== binary-zero [n=Shakeel@203.81.202.104] has left #upstart ["Leaving"]
=== j_ack [n=rudi@p508DC1D4.dip0.t-ipconnect.de] has joined #upstart
=== Keybuk [n=scott@wing-commander.netsplit.com] has joined #upstart
Keybukediting the eINIT wiki is probably cheeky ;p04:09
=== Keybuk just corrected someone's "look eINIT boots in 15s compared to sysvinit's 52s" bullshit page
pktKeybuk: yeah, with a bit of kernel tweaking and UPX compression I could make a *386sx/25* boot in ~30s04:33
pktthe challenge is to boot to *something useful* fast :-)04:34
Amaranthfunny, i thought sysvinit compatibility was a nice demo of how flexible the system was04:47
Amaranthaccording to eINIT it's something that holds you back04:47
AStormIt is, but only sometimes.04:54
AStormSysVInit is a good system, but has no dependency support.04:54
AStormAnd thus no parallelism.04:54
AStormA bit not scalable.04:54
Keybukbut how does compatibility with that hold you back?05:23
Keybukpkt: that's the thing that concerns me about the approach of removing shell scripts in favour of C modules05:24
Keybukyou throw away a lot of flexibility05:24
Keybukthe point of the boot sequence being written in shell is that it's easy to change it05:25
pktKeybuk, exactly05:26
pktand especially shell scripts instead of other languages because you can also get an interactive shell if you screw up05:26
pktwhich is surprisingly easy in super-complex installations05:27
Keybukat some point, I'm going to get around to implementing a "UNIX Script" language that has direct access to syscalls :p05:36
Mdperl?05:36
Keybuktrue, Perl probably suffices05:37
AStormKeybuk, no, they won't remove shell scripts.05:38
Keybuk"remove" ?05:38
AStormremove support :>05:39
AStormThere will be a "shell" module.05:39
AStormSome other things will be also optionally in C.05:39
AStorm(actually, the defaults will be in C)05:39
KeybukI'm not convinced by the whole C-vs-Shell argument anyway05:40
KeybukI can't see it making any measurable difference on desktop-class machines05:40
Mdwhat was the point of what ubuntu did to udev then? :-)05:41
Keybukwhich bits?05:42
Keybukthe fact some of the helpers are written in C not Sh?05:42
Mdyes05:42
Keybukthe ones we did in C had bugs which couldn't be "nicely" cured in Sh05:42
Keybuke.g. the "look at /proc/ide" one, which in Sh had a massive race condition if /proc/ide didn't turn up in time05:43
pktKeybuk, anyway you *please* only focus in correctness (as you have so far), it is much easier to add speed (at least for site-specific configurations)05:46
pktThe reason I 'm keeping an eye to upstart is the typicall "root in usb disk" bug05:46
Keybukoh, don't worry; my focus right now is to get the "when a job runs" problem solved05:47
pktwhere with something like sysvinit you can only wait for an arbitrary time slowing down boot rediculously for other users and *still* not being correct05:47
pktyep, please stay focused on that, the other stuff is much easier05:48
AStormKeybuk, eInit is geared towards embedded, not desktop.06:12
KeybukAStorm: except their website seems to suggest they're entirely gearing it as an alternative to sysvinit and/or upstart, and that it's ideal for desktop deployment06:14
Keybuktheir example distribution is Gentoo06:14
Keybuketc.06:14
Keybukthe eINIT *design* is perfect for embedded systems06:14
AStorm:>06:14
Keybukthe marketing isn't :p06:14
AStormWell, Gentoo on Arm works great.06:14
AStorm:>06:14
AStormActually, it's not Gentoo, it's a snapshot of it, crosscompiled.06:14
Keybuk 29 files changed, 4515 insertions(+), 3530 deletions(-)06:16
Keybuk(since 0.3.5 ... ouch; I must get more into the hang of making releases :p)06:17
Keybuktrouble is, I tend to break things immediately after a release and take ages to get around to fixing them again06:19
=== mbiebl [n=michael@e180102211.adsl.alicedsl.de] has joined #upstart
AStormKeybuk, what about a nice test suite?06:22
KeybukAStorm: how do you mean?06:24
AStormIf you know something is broken, write a test against that functionality.06:25
AStormThat will remind you to fix it.06:25
Keybukhave you ever looked at the upstart source code? :P06:25
mbiebliirc, that is exactly how keybuk does it ;-)06:25
AStormKeybuk, yep06:26
AStormLooks nice, clean and understandable.06:26
KeybukAStorm: ever looked in the tests sub-directory? :p06:27
AStormNope? :P06:27
Keybukaround 60% of the upstart source code is the test suite06:27
AStormI'm currently creating a new distro, so am a bit busy. :>06:27
Keybukrun "make check" :p06:27
AStormHehe.06:28
KeybukToday's problem is how to communicate the new job structure over IPC06:31
Keybuke.g. when you do "emit foo", it currently notifies you of the jobs started or stopped by that06:31
Keybukshould it just say "frodo started", or should it say "frodo started, now running, pid 456"06:31
Keybuk?06:31
Keybuk(likewise, if it causes an action to be run, should it say "frodo reload invoked, pid 1234" ?06:32
Keybukor should that be included in above)06:32
Keybuketc.06:32
AStormI'd suggest going for verbose output.06:37
AStormIt's an internal command anyway.06:37
Keybukit's how to lay out the messages that's fun06:38
AStormPass some nice packed struct, maybe?06:39
Keybukthe trouble with packed structs is extending them later ;)06:39
Keybukie. what happens if I add an extra field to the JobProcess struct06:40
=== mbiebl_ [n=michael@e180102211.adsl.alicedsl.de] has joined #upstart
AStormNot for you.06:40
Keybukhow do older versions of initctl know to skip over that so they can find the start of the next one06:40
AStormOlder versions are obsolete :P06:40
KeybukI don't agree there <g>06:40
Keybukyou shouldn't have to update all your software just to update init06:40
AStormWhen you install upstart, you should also install up-to-date initctl06:40
AStormIt's a bundle, right?06:41
Keybukand up-to-date udev, acpid, network manager, etc.?06:41
AStormStructs are for internals!06:41
Keybukhow about up to date gnome services manager?06:41
Keybukah, but the IPC isn't internal06:41
Keybukthat's the point06:41
AStormText output is for externals :>06:41
AStormHmmmmm.06:41
Keybukit's supposed to be a stable API for other applications06:41
AStormWhy use IPC and not FIFO?06:41
KeybukFIFO is a form of IPC06:41
AStormIPC for me means SysV IPC.06:42
Keybukupstart uses an abstract-domain datagram unix socket06:42
Keybukwhich is a kind of fifo, I guess06:42
Keybukpreserves message boundaries and ordering06:43
mbiebl_Keybuk: for tools like a gnome service manager, a upstart D-Bus interface would be much better imo06:52
Keybukmbiebl_: yes, that's the actual plan06:52
Keybukbut then you'd have to upgrade the upstart d-bus interface :)06:52
Keybukand a console service manager might not want to use the d-bus interface, but the direct one06:53
mbiebl_Sure, but the gnome program wouldn't notice06:53
Keybukif it's only a little more effort to maintain a stable API, I think it's worthwhile06:54
mbiebl_Why not use D-Bus for the console too?06:54
mbiebl_I don't mean, for the core tools like initctl06:54
Keybukbecause that introduces d-bus as a base-system dependency06:54
mbiebl_but for a service manager, i thinks it'd be fine.06:54
Keybukserver people won't like that06:55
Keybukyou don't normally have dbus or hal on a web server06:55
=== khermans__ [i=administ@nat/cisco/x-4b8a275ec0c5e08f] has joined #upstart
=== cortana [n=sam@62-31-146-25.cable.ubr12.azte.blueyonder.co.uk] has joined #upstart
wasabiThat's always confused me. I don't particularily care what goes on most of the servers I use. heh07:24
Keybukheh07:50
Keybukwe used to be really paranoid at Demon, even removed compilers, etc. from the servers07:50
Keybuk(right, my dinner's on now -- just need to keep feeding it every now and then)07:51
_ionDinner is a security hole. Viruses can attain access to the system via ingestion.07:56
wasabiMost of the world doesn't particularily care, as evidenced by the rise of wIndows based servers.08:09
wasabiAnd I mostly fall in that camp. I'd like the system to just get the job done so I can go play. =)08:10
=== urban [n=urban@xa147.internetdsl.tpnet.pl] has joined #upstart
=== mbiebl_ [n=michael@e180102211.adsl.alicedsl.de] has joined #upstart
=== j_ack [n=rudi@p508D9216.dip0.t-ipconnect.de] has joined #upstart
=== _ion [i=johan@kiviniemi.name] has joined #upstart

Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!