[03:30] <Admiral_Chicago> facinating conversation eh?
[10:16] <Trevelyan`> well it seems that everyone else here is in a different timezone to me, and/or different working hours.
[10:21] <Keybuk> oh?
[10:21] <Keybuk> it's been quiet here for a few days
[10:21] <Keybuk> ubuntu beta release all that
[10:21] <Keybuk> which I mostly spent chicken-pecking in vmware while playing transport tycoon in another window <g>
[10:22] <Trevelyan`> i only said that because my backlog has chat in it, but always during the night 7pm to 4am.
[10:24] <Keybuk> heh
[10:24] <Keybuk> which timezone are you in?
[10:24] <Trevelyan`> UTC+1 but will be UTC+0 when we switch from DST =)
[10:24] <Keybuk> same as me then, technically
[10:25] <Keybuk> I'm just not very good at actually obeying my own timzone
[10:53] <juergbi> hi Keybuk any comments to my mail "local job changes"?
[10:56] <Keybuk> juergbi: none other than thanks for bring it up, and that it does need to be thought about ;)
[10:56] <Keybuk> I honestly haven't thought about that too much yet
[10:59] <juergbi> Keybuk: ok, i just hope that something like my proposal can be integrated before it's already too painful to make changes to the directory structure ;)
[11:00] <Keybuk> I'm not sure about the two files method thoug
[11:00] <Keybuk> it's easy to add stanzas, but not remove them
[11:00] <Keybuk> if you didn't want the pre-start script, how would you "remove" that?
[11:01] <juergbi> there could be an additional element / keyword to prefix a line with which will result in removing a previous definition
[11:01] <juergbi> i.e. "no start script" or "remove start script"
[11:01] <Keybuk> at that point, you may as well just edit the priginal file though, surely?
[11:01] <Keybuk> and have an intelligent merge tool
[11:02] <juergbi> for well setup packages disable/enable is probably the only thing that gets used often
[11:02] <juergbi> so it could also be a simpler file where just overridden enable/disable status gets listed
[11:03] <juergbi> i'd be perfectly fine with that but the proposed approach would be more flexible
[11:04] <Keybuk> probably also changes to the set of events that can trigger the job
[11:04] <juergbi> yes, that's right
[11:05] <juergbi> something like "no start on ..." to disable some triggers doesn't seem to bad to me
[11:06] <Keybuk> except that you're then putting quite complex config file merging code into the init daemon to cope with shit package managers
[11:06] <juergbi> i don't know upstart's parsing code but i presume that it would be fairly easy to implement something like that
[11:07] <Keybuk> not especially actually
[11:07] <Keybuk> you'd have to parse them both at the same time, no?
[11:07] <Keybuk> or have code to deal with a "no" stanza and potentially remove or reset it
[11:07] <juergbi> one right after the other like it was concatenated together
[11:08] <Keybuk> but that's actually complex
[11:08] <juergbi> just like iterating over more lines
[11:08] <Keybuk> "pid timeout 22"
[11:08] <Keybuk> "no pid timeout"
[11:08] <Keybuk> what's the pid timeout?
[11:08] <juergbi> like it hasn't been specified
[11:08] <juergbi> the later one wins
[11:08] <juergbi> so the distro-supplied should be parsed first
[11:08] <Keybuk> which means you need to duplicate the entire config file parsing code
[11:08] <Keybuk> and have a "reset to default" option
[11:09] <juergbi> you're right with being able to get the default, yes
[11:09] <juergbi> but the parsing could definitively be shared, imo
[11:09] <Keybuk> it can't, because the parsing has to be different
[11:09] <Keybuk> pid timeout <int> != no pid timeout
[11:10] <Keybuk> otherwise what does "no pid timeout 42" mean? :p
[11:10] <juergbi> ;)
[11:10] <juergbi> i'd just allow all the no-stanzas in the original config file, too. it doesn't make sense to use them there but it'd be logical and easier
[11:11] <juergbi> as written before, just look at them like one large file
[11:11] <Keybuk> yeah, but you'd still have to write the config parsing code for the no stanzas
[11:11] <Keybuk> which is reasonably large
[11:11] <juergbi> yes, sure
[11:11] <Keybuk> and some of them are quite complicated
[11:11] <Keybuk> for example
[11:11] <Keybuk> "no start on job-started apache2"
[11:12] <Keybuk> you have to iterate the list of known start events for an event that matches
[11:12] <juergbi> or maybe just check for "no" at the beginning of the parsing and then set a flag
[11:12] <Keybuk> and do you then require an exact, or just a partial, match?
[11:12] <juergbi> that would have to be defined. exat should suffice in my opinion
[11:13] <juergbi> it could also be done in something like a pre-processing stage, i.e. just ignore all lines that are followed by the same line with a "no" prefix
[11:13] <juergbi> but that wouldn't suit well the script stanzas, i guess
[11:13] <Keybuk> that'd mean you'd have to process the /etc one first to read the no lines, then the /lib one to get the defaults, then the /etc one to get the overrides
[11:14] <juergbi> with pre-processing, yes, was probably a bad idea
[11:14] <Keybuk> what's wrong with just the usual conffile stuff on upgrade?
[11:14] <Keybuk> or ucf if you want three-way merging
[11:15] <juergbi> it's jsut less error-prone with separate files than with standard three-way merging
[11:16] <juergbi> things like white-space or comment changes at the wrong place shouldn't have influence on the final config file
[11:16] <juergbi> less questions, easier for the admin
[11:16] <Keybuk> three-way merging can be done intelligently
[11:16] <Keybuk> ie. by parsing both files and analysing the difference, rather than using patch
[11:16] <juergbi> you mean format-specific?
[11:16] <Keybuk> yes
[11:16] <juergbi> yes, sure, that would probably work very well
[11:17] <juergbi> but that would require effort for every distro instead of just making upstart more flexible
[11:17] <juergbi> or adding such a three-way merge tool to upstart itself, that would be possible, too
[11:17] <juergbi> i'm assuming that such a tool would require more work than modifying upstart, though
[11:17] <Keybuk> the main reason I don't like the /lib idea is actually that it hides the config files
[11:18] <Keybuk> it means you go into /etc/event.d and find that it's empty
[11:18] <Keybuk> so you then have to read the /lib version
[11:18] <Keybuk> and then decide what changes you want to make, and only write those changes in a pseudo-diff format
[11:19] <Keybuk> and then you actually have an interesting problem which is that upgrades can break you silently
[11:19] <Keybuk> at least with a conffile prompt, you know it might break
[11:19] <juergbi> the advantage is that if you look at your changes some time later you know exactly what you've changed
[11:19] <Keybuk> the obvious example being "no start on job-started apachew"
[11:19] <Keybuk> what if the upstream change that in the /lib one to "start on job-start apache2" instead
[11:19] <Keybuk> suddenly your admin edit is ignored
[11:19] <Keybuk> (silently)
[11:20] <juergbi> yes, that's right, that would also be problematic for three-way merging, though
[11:20] <Keybuk> at least having to do the merge means you're aware of the problem
[11:21] <juergbi> the events are part of the system interface and should be treated with corresponding stability guarantees, though
[11:21] <juergbi> you can break every scheme if you want to but some make it harder
[11:21] <Keybuk> job-started and job-start are both vaild events
[11:21] <Keybuk> issued at different times
[11:22] <juergbi> ah, i thought it was a version number change or something like that of the apache start script
[11:22] <Keybuk> the upstream may have just wanted to slightly change when their job was started
[11:22] <juergbi> yes, that's right
[11:22] <Keybuk> which would suddenly break the sysadmin's change to make it *not* start
[11:23] <juergbi> yes, might be problematic
[11:23] <Keybuk> it's a complicated issue :p
[11:24] <juergbi> what'd you say to a separate enable/disable file, at least?
[11:24] <juergbi> should be very easy and non-problematic
[11:25] <Keybuk> part of the reason I haven't applied _ion's patch yet is that I'm tempted that jobs shouldn't be disabled in the job files, but separately
[11:25] <juergbi> good to hear that :)
[11:25] <Keybuk> also understanding what disabled means
[11:25] <Keybuk> if a job is disabled, can it be started manually?
[11:26] <juergbi> intuitively i'd assume it's just like it had no start-stanzas
[11:26] <Keybuk> right, Johan's patch actually prevents manual starts as well
[11:27] <Keybuk> which is functionally equivalent to just deleting the /etc/event.d file :)
[11:27] <juergbi> right ;)
[11:27] <juergbi> there could also be a tri-state like service management in windows
[11:28] <juergbi> disabled-manual-auto
[11:29] <Keybuk> *nods*
[11:36] <juergbi> if a job is running and set to manual it should probably remain running and if the job is set to disabled it should be stopped, i guess
[11:37] <juergbi> when i get some time, i might even write a patch for it but can't right now
[11:38] <juergbi> syntax should be very simple, something like "job-name enabled|manual|disabled"?
[02:25] <LeoO> hello I made the mistake to install upstart without upstart-compat-sysv and now I can't boot at all anymore
[02:25] <LeoO> any solution ?
[02:26] <thom> LeoO: init=/bin/sh at the end of your grub command line
[02:26] <LeoO> the error I get is init: rc-default process (4028) terminated with status 127
[02:27] <LeoO> okay I'll try this
[02:46] <LeoO> init=/bin/sh at the end of the grub file didn't do the trick
[02:47] <LeoO> I'm still stuck with upstart without upstart-compat-sysv and now way to boot (even in safe mode)
[02:47] <cortana> is there a previous init=something parameter?
[02:47] <cortana> perhaps the kernel only looks at the first one
[02:47] <LeoO> it's giving me a "init: unable to exectute '//sbin/logd/' ...'
[02:48] <cortana> e.g. kernel /boot/foobar root=/dev/hda1 ro init=/bin/bash
[02:48] <LeoO> oksa
[02:48] <LeoO> lets try that
[03:08] <LeoO> ok now I can reach sh but apt-get will not work
[03:08] <Keybuk> mount -o rw,remount /
[03:09] <Keybuk> ?
[03:09] <LeoO> ttried mount -F -o rw, remount/
[03:09] <LeoO> sent me error messages but I didn't wrote them down
[03:26] <LeoO> okay now I could get rid of upstart but apt-get is trying to connect to the internet to reinstal sysvinit and since the network is not up it is a problem
[03:26] <Keybuk> configure the network by hand?
[03:27] <LeoO> how do you do that
[03:28] <Keybuk> modprobe, ifconfig, dhclient, etc.
[03:28] <LeoO> that sound messy
[03:28] <Keybuk> you're running Debian?
[03:28] <Keybuk> or Ubuntu?
[03:28] <LeoO> maybe it would be sipmler to just reinstall ubuntu
[03:28] <LeoO> edgy ubuntu
[03:28] <Keybuk> just run /etc/init.d/rcS
[03:29] <Keybuk> if you're running edgy, how come you had to install upstart-compat-sysv ?  it's installed by default
[03:29] <LeoO> no
[03:29] <LeoO> let me explain
[03:29] <LeoO> I had edgy
[03:29] <LeoO> but sysvinti was installed
[03:29] <LeoO> sysvinit
[03:29] <LeoO> and no upstart at all
[03:29] <Keybuk> an old edgy?
[03:29] <LeoO> its was an update from dapper
[03:30] <LeoO> it was dist-upgraded everyday
[03:30] <LeoO> yet, there was no upstart
[03:30] <LeoO> so I apt-get installed it
[03:30] <Keybuk> you didn't have ubuntu-minimal installed then?
[03:30] <Keybuk> it probably got uninstalled by your system trying to keep sysvinit
[03:30] <LeoO> I don't know
[03:30] <Keybuk> we had some problems with that
[03:31] <LeoO> there was some heavy problems with apt-get these last days
[03:31] <LeoO> so
[03:31] <Keybuk> yeah, not surprising
[03:31] <Keybuk> it is in development, after all
[03:31] <Keybuk> edgy's not been too bad
[03:31] <LeoO> apt-get install upstart removed sysvinti and didn't install upstart-compat-sysv
[03:31] <Keybuk> there haven't been many days that have left you without a functioning system
[03:31] <Keybuk> often you can have a week or two without even a working libc
[03:31] <LeoO> yeah
[03:32] <LeoO> that's true
[03:32] <Keybuk> it would have told you that you really should install upstart-compat-sysv in the apt-get output
[03:32] <LeoO> edgy is very stable for a rc
[03:32] <LeoO> no it didn't
[03:32] <LeoO> just didn't said a word about it
[03:32] <LeoO> using synaptic
[03:32] <Keybuk> oh, dunno about synaptic
[03:32] <Keybuk> you said apt-get :)
[03:32] <LeoO> yaeah I was wrong
[03:33] <LeoO> this is a big issue that synaptic doesn't behaves the same way apt-get does
[03:33] <LeoO> well
[03:33] <Keybuk> Recommended packages:
[03:33] <Keybuk>   upstart-compat-sysv upstart-logd system-services
[03:33] <Keybuk> The following packages will be installed:
[03:33] <Keybuk>   upstart
[03:33] <Keybuk> etc.
[03:34] <LeoO> now I gonna reboot to try to see if I can cure that
[04:06] <leoO> thaks for the help guys Im now back on dapper
[09:26] <TheBearded1_> Could somebody tell me how upstart compares to initng?
[09:41] <_ion> initng is based on dependencies, upstart is based on events.
[09:42] <_ion> Search for 'initng' at http://www.netsplit.com/blog/articles/2006/08/26/upstart-in-universe