=== notting_ is now known as notting | ||
=== notting_ is now known as notting | ||
sadmac2 | Keybuk: ping | 21:08 |
---|---|---|
Keybuk | evening | 21:08 |
sadmac2 | evening | 21:08 |
sadmac2 | Keybuk: when you said you weren't planning to start working on Upstart again until "Next Year," was that the next year that starts 2 weeks from now or the one 365 days away? | 21:09 |
Keybuk | 2009 | 21:10 |
sadmac2 | Keybuk: somewhere between the two then? | 21:10 |
Keybuk | right | 21:11 |
Keybuk | releasable version of 0.10 targeted for ~October next year | 21:12 |
Keybuk | which pretty much aligns it with DeviceKit as well | 21:12 |
sadmac2 | nice | 21:12 |
sadmac2 | Keybuk: I think I'm going to re-prototype the state machine. I can do it in python (which you can read) or I can do it in C (which can not only be read, but serve as copy-pasta for the actual system). | 21:13 |
Keybuk | being able to read it would be handy | 21:13 |
Keybuk | I don't really want to have to learn ruby just so I can see what you're doing differently to me (if anything) | 21:14 |
sadmac2 | yes :) | 21:14 |
sadmac2 | ruby is fairly easy to read usually, but the state machine I wrote is kinda asshole-ish | 21:15 |
sadmac2 | it does scary things. | 21:15 |
Keybuk | ruby is only easy to read if you know ruby ;) | 21:15 |
sadmac2 | plus in describing the state machine I actually ended up improving it, so it isn't quite an accurate example anyway | 21:16 |
sadmac2 | its a subset of what I described, but its missing some properties | 21:16 |
sadmac2 | (and it will actually be simpler to implement taking those ideas into account) | 21:17 |
geiseri | is anyone here versed in upstart? i am trying to migrate a inittab line to upstart and it flat out wont work. | 22:11 |
geiseri | x:23:once:/bin/su root -l -c "/bin/bash --login -c startx >/dev/null 2>&1" <- this is the exact line | 22:23 |
sadmac | geiseri: what do you have so far? | 22:28 |
geiseri | one sec, let me copy it into pastebin | 22:29 |
geiseri | http://paste.ubuntu.com/88079/ | 22:31 |
geiseri | it just seems to fail silently | 22:31 |
geiseri | is there a place to look and debug it? | 22:31 |
sadmac | geiseri: silent failure is often due to a syntax error. | 22:32 |
sadmac | geiseri: I believe it will show up in /var/log/messages | 22:32 |
geiseri | ah, okay let me check there | 22:32 |
geiseri | what should i be looking for, i cant really see anything there | 22:34 |
geiseri | does my syntax i pasted look remotely correct? | 22:35 |
sadmac | geiseri: it looks about right | 22:36 |
sadmac | geiseri: you can try init=/sbin/init -v on your kernel command line to get lots of noisy output | 22:37 |
geiseri | sure, its an embedded box, so its a bit sluggish on startup :D | 22:37 |
sadmac | heh | 22:38 |
geiseri | that is interesting, i saw the ttys startup via the screen output, but my Xorg one was not started. | 22:41 |
geiseri | do i have to set the mode on it to a specific value? | 22:42 |
geiseri | oh wait syslog as something | 22:43 |
mbiebl | Keybuk: what are your plans regarding upstart 0.5.x and the next ubuntu release? | 22:44 |
geiseri | sadmac: here is the output http://paste.ubuntu.com/88088/ | 22:45 |
geiseri | it looks like it keeps starting and stopping Xorg because its exiting? | 22:45 |
ion_ | Redirect the script’s output to a log. | 22:47 |
geiseri | just do a exec /bin/su detos -l -c "/usr/bin/startx" 2>&1 >> logfile? | 22:48 |
ion_ | Seems about right. | 22:48 |
geiseri | k | 22:48 |
ion_ | The 2>&1 probably should be after the >> | 22:49 |
geiseri | okay this is strange... it cannot seem to write the log file | 23:01 |
geiseri | ah, typo :P | 23:05 |
geiseri | http://paste.ubuntu.com/88110/ <- here is the log.. .its strange its identical to when i start it up manually except for line #48 | 23:09 |
geiseri | it looks like something it killing the server before it gets out of the gate | 23:09 |
ion_ | Did you try the entire script manually, including the su invocation? | 23:10 |
geiseri | yes, it works | 23:11 |
ion_ | Try setting PATH manually in the script. | 23:11 |
ion_ | Hm. Was there a stanza for path in Upstart? | 23:12 |
geiseri | did i miss that? | 23:12 |
geiseri | i still think its strange that it starts but then exits right away... you think if it was a failed library or something it would scream. | 23:14 |
ion_ | Also try startx -- -verbose 10 -logverbose 10 | 23:17 |
ion_ | (i pulled the 10 out of my ass) | 23:17 |
geiseri | http://paste.ubuntu.com/88117/ <- okay this looks interesting... | 23:19 |
geiseri | could not get file descriptor of the console? | 23:20 |
ion_ | Try adding ‘console owner’ to the job file. | 23:23 |
geiseri | just at the top of the job file? | 23:25 |
ion_ | Yeah, at any line. | 23:25 |
geiseri | okay testing it again :) | 23:25 |
Keybuk | mbiebl: I don't think I have any | 23:26 |
mbiebl | Keybuk: so no further "upstartification" of init scripts for jaunty? | 23:27 |
mbiebl | What bits do you consider missing, for doing so? | 23:27 |
Keybuk | mbiebl: indeed | 23:28 |
Keybuk | well, the fact that upstart 0.5 doesn't work? | 23:28 |
geiseri | ion_: okay this is really strange, i can startx via the console as the detos user, but i get the "X: user not authorized to run the X server, aborting." message | 23:28 |
mbiebl | Keybuk: could you be more specific? | 23:30 |
Keybuk | mbiebl: it doesn't solve the problems that need to be solved to move init scripts to upstart | 23:30 |
Keybuk | it's still a pain in the arse to express when they should be running | 23:30 |
Keybuk | and common problems are almost impossible without changes | 23:31 |
mbiebl | Even if you started with a top-down approach? | 23:31 |
mbiebl | I don't think services like smartd, hald etc, need a complex start dependency | 23:32 |
mbiebl | i.e. rc2 could be implemented using native upstart jobs imo | 23:33 |
Keybuk | hal needs to be started by d-bus activiation but only while dbus is running | 23:34 |
Keybuk | (and brought up automatically) | 23:34 |
geiseri | ion_: now if i set the Xwrapper.conf to allow anyone to start X it now works... why could that be? | 23:36 |
ion_ | I have no idea. | 23:36 |
mbiebl | maybe hal was a bad example. | 23:36 |
geiseri | ion_: what was the console owner line suppose to do? | 23:36 |
sadmac | mbiebl: there is a bit more that could be done with it, but why? | 23:37 |
* geiseri wonders if he needs to run something like mingetty to get a console before X starts. | 23:37 | |
sadmac | mbiebl: its all going to have to be redone again once we fix the model | 23:37 |
mbiebl | sadmac: service monitoring? | 23:37 |
mbiebl | seeing, which service is running? | 23:37 |
Keybuk | most init scripts have a "status" option | 23:37 |
sadmac | mbiebl: its a pretty high cost to convert any large number of scripts | 23:38 |
mbiebl | Keybuk: but that is a hack, imho | 23:38 |
Keybuk | sure, but it works okish | 23:38 |
Keybuk | I can spend my time doing useful work to make Ubuntu boot faster, and improve upstart | 23:38 |
Keybuk | or I can spend it converting things to upstart now | 23:38 |
mbiebl | sadmac: what would we have to change (for a service like smartd)? | 23:38 |
mbiebl | do you have plans to completely change the config format? | 23:39 |
sadmac | mbiebl: yes | 23:39 |
mbiebl | oh | 23:39 |
sadmac | mbiebl: the changes will make upstart semantically different. the config format won't even be expressing the same meaning | 23:39 |
Keybuk | well, that depends | 23:40 |
mbiebl | sadmac: is there a summary / roadmap, what the current plans are? | 23:40 |
Keybuk | not yet | 23:40 |
mbiebl | I'm quite surprised by what you say | 23:41 |
sadmac | mbiebl: http://screwyouenterpriseedition.blogspot.com has some (still controvertial) details on things I've been thinking about (top 4 posts) | 23:41 |
Keybuk | (you get an award if you can understand his blog posts | 23:41 |
Keybuk | lit. you get to explain them to the rest of us :p) | 23:41 |
sadmac | Keybuk: take a look at the most recent of those. Events shouldn't have any surprises in store, but still. | 23:41 |
mbiebl | ;-) | 23:42 |
Keybuk | mbiebl: the summary of the change is actually quite simple | 23:42 |
Keybuk | right now jobs are: | 23:42 |
Keybuk | start on <some event expression> | 23:42 |
Keybuk | stop on <some event expression> | 23:42 |
Keybuk | this will change to: | 23:42 |
Keybuk | while <some state expression> | 23:43 |
ion_ | geiseri: It opens /dev/console instead of /dev/null as std{in,out,err} for the job and does a magic TIOCSCTTY ioctl (not sure if it’s needed here). :-) | 23:43 |
Keybuk | a good, simple, example would be a dbus apache service | 23:43 |
Keybuk | start on started dbus and started apache | 23:43 |
Keybuk | stop on stopping dbus or stopping apache | 23:43 |
Keybuk | vs. | 23:43 |
Keybuk | while dbus and apache | 23:43 |
Keybuk | except, the big difference is that if you restart apache, your service will actually be restarted | 23:43 |
Keybuk | with the start on/stop on model, your service would simply be stopped | 23:44 |
geiseri | ion_: it looks like really what i need to do is edit the XWrapper.config file... its an embedded system with no ttys so it shouldnt be a problem. | 23:44 |
mbiebl | hm, right, as you would be waiting for the dbus started event | 23:44 |
Keybuk | exactly | 23:44 |
mbiebl | so, the new mantra is "states" not events anymore | 23:45 |
Keybuk | well | 23:46 |
Keybuk | states are still based on events | 23:46 |
Keybuk | you'll get states for jobs for free | 23:46 |
Keybuk | and you can define states based off other states | 23:46 |
Keybuk | or off events | 23:46 |
Keybuk | you can combine them in jobs too | 23:46 |
Keybuk | on control-alt-delete | 23:46 |
Keybuk | while multi-user | 23:46 |
Keybuk | -- | 23:47 |
Keybuk | on battery-low | 23:47 |
Keybuk | while docked | 23:47 |
Keybuk | etc. | 23:47 |
Keybuk | jobs can't be started if their while clause is not true | 23:47 |
mbiebl | any roadmap for this kind stuff? | 23:47 |
Keybuk | or if their while clause cannot be made to be true | 23:47 |
Keybuk | the latter gives us dependency behaviour | 23:48 |
Keybuk | while apache and mysql | 23:48 |
Keybuk | start foo | 23:48 |
Keybuk | will start apache and mysql as well | 23:48 |
geiseri | ion_: thanks for the help anyway. | 23:48 |
sadmac | Keybuk: I think for the conf file format we should use a sort of python-style syntax | 23:53 |
sadmac | foostate(arg1: %arg): | 23:53 |
sadmac | while bar | 23:53 |
sadmac | on baz | 23:53 |
sadmac | Keybuk: this means we can do the break a state across files thing, and keeping states in one file only adds 1 line to the file | 23:54 |
sadmac | Keybuk: so it pushes the decision to distro maintainers | 23:54 |
Keybuk | but I don't want to break a state across files | 23:56 |
sadmac | Keybuk: /you/ don't | 23:56 |
Keybuk | that's the advantage of being the author :p | 23:56 |
sadmac | Keybuk: and this doesn't hurt you much if you choose not to | 23:56 |
Keybuk | it hurts compatibility between distributions | 23:57 |
sadmac | there's no such thing | 23:57 |
Keybuk | there should be | 23:57 |
Keybuk | brb | 23:57 |
Keybuk | distributions shouldn't *need* different upstart job files for the same service | 23:58 |
Keybuk | upstream authors should feel confident in shipping them in their own tarballs | 23:58 |
sadmac | but they'll have them anyway | 23:58 |
sadmac | no two distributions even install apache in the same folder | 23:59 |
sadmac | (and oh dear lord help us if anyone put it where upstream says you should) | 23:59 |
Keybuk | I thought we all put it in /usr | 23:59 |
Keybuk | with the config in /etc/apache2 ? :) | 23:59 |
Keybuk | you'd be surprised how much commonality there actually is these days | 23:59 |
sadmac | Keybuk: its in /etc/httpd here | 23:59 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!