/srv/irclogs.ubuntu.com/2008/05/08/#upstart.txt

sadmac2Keybuk: howgoezit?18:52
Keybuksadmac2: slowly18:55
sadmac2Keybuk: what are you up against?18:56
Keybuklack of time18:57
sadmac2what still needs doing?18:57
Keybukall of the ipc work18:59
sadmac2anything you could hand off? I have plenty of time right now.19:01
Keybuknot unless you've already figured out how to write bindings with libnih-dbus? :)19:02
sadmac2is it difficult to pick up?19:03
Keybuknot especially19:03
sadmac2well then I may as well give it a shot19:03
sadmac2where should I pull from?19:05
Keybuktrunk19:06
Keybukof both upstart and libnih19:06
Keybukthere's various notes in the irc logs of what we want to end up with19:06
Keybukalso will need a signed copy of http://upstart.ubuntu.com/wiki/CopyrightAssignment19:07
Keybukassuming you're at RH now, probably by line manager or someone authorative?19:07
sadmac2interesting point. hmm...19:07
Keybukhttp://bazaar.launchpad.net/~keybuk/upstart/trunk/revision/scott%40netsplit.com-20080508182154-90pnmwt4j18ryzhk?start_revid=scott%40netsplit.com-20080508182154-90pnmwt4j18ryzhk19:22
Keybuk\o/19:22
Keybuk^ big milestone push19:23
sadmac2Keybuk: aand launchpad is being slow19:23
sadmac2ok19:23
* sadmac2 goes to rebase or whatever you bzr people call it19:24
Keybuk"update" :)19:26
Keybuk(or pull if you branched instead of checked out)19:26
sadmac2Keybuk: I did "merge" and that seemed to get it19:26
Keybukthat works too19:26
sadmac2what's the difference between branch and checkout?19:27
Keybuka branch is your own personal branch19:27
Keybukany changes you make remain on your machine until you push them somewhere19:27
Keybuka checkout is exactly like that, but any changes you make are pushed back to where you branched from19:27
Keybukie. it's the subversion/cvs model of working19:27
Keybukwhereas branch is the distributed model19:28
sadmac2ah19:28
* sadmac2 likes branch19:28
Keybukthe nice thing being that if the push fails, the commit need not19:28
Keybukso you can work centrally, and get on a plane, and carry on committing19:28
Keybukwhen you have a connection again, you just merge in everyone else's changes, and push and rebind19:28
KeybukI don't tend to checkout much myself19:28
KeybukI tend to use branch/pull/push19:29
Keybukeven if I'm the only person with write access to the pull/push location19:29
Keybuksince then I can stage pushes19:29
sadmac2yes. I'm young enough and avant garde enough that git marks the vast majority of my version control experience.19:29
Keybukheh19:29
KeybukI dislike git strongly19:29
Keybukwell19:29
Keybukit appears to dislike me strongly19:29
Keybukit vastly overcomplicates things which should be simple19:29
sadmac2I havent' found such19:30
sadmac2you should try this 'eg' thing though. people seem to like it19:30
* Jc2k has had a bad git experience today19:32
Keybukeg?19:32
sadmac2Keybuk: "easy git." Its a little wrapper layer that's got a lot of people very pleased19:33
sadmac2Jc2k: what was it?19:33
* Jc2k won't be ready to try playing with git again for a while19:33
Keybuksadmac2: but bzr already does everything I need without any wrappers ;)19:33
Jc2kthe amount of effort to add a new repository19:33
Keybukand I know where the author lives, and haven't popped round to stab him in the face19:33
Keybukthis, to me, is a great achievement in revision control systems ;)19:33
Jc2kwith bzr i just pushed to sftp (also a location http can see)19:34
Keybuk"Hi Scott, my name's Brian, I'm one of the authors of subver*ARRRRGH MY EYEE!!!!*"19:34
sadmac2Keybuk: as originally intended, it wouldn't be fair to compare git and bzr, any more than it would be fair to compare sysvinit and libnih19:34
Jc2kwith git, i have to run git-update-this and add hooks so that git-update-that gets called every commit and...19:34
sadmac2git was a filesystem. it was never meant to be left on its own19:34
sadmac2this has become far less true19:34
sadmac2Jc2k: don't use webdav19:34
Keybuksadmac2: git was always intended to be a revision control system ;)19:34
sadmac2Jc2k: stick to the custom daemon19:35
sadmac2Keybuk: it was not intended to be interacted with by the user directly19:35
Keybuksadmac2: sure it was19:35
Keybukwhere the user == Linus19:35
Jc2ksadmac2: i was meant to be quickly throwing some repos up so that the upstream debian maintainer of my ubuntu synce packages got some fixes19:35
Keybukbut then other people realised that Linus is quite, quite mad19:35
Keybukand wrapped it with friendlier things19:35
Jc2ksadmac2: it took 4 attempts before he could finally access them.19:35
Keybukand claimed that it was never intended to be unwrapped in the first place19:36
sadmac2Jc2k: using which method? webdav or git-daemon?19:36
Keybukgit reminds me a lot of arch19:37
KeybukI think it's the first distributed revision control system that people try19:37
Jc2ksadmac2: does bog standard http really qualify as webdav? but yes, webdav. because i excpected it to be as simple as bzr.19:37
Keybukand they fall in love with the idea of DVCS so much, and think it's so awesome, that they'll apologise for any user interface problems19:38
sadmac2Jc2k: webdav is not the way to do it.19:38
sadmac2Jc2k: use the git-daemon19:38
Keybukwhat hg and bzr have shown is that you can do DVCS, and still have a simple client that largely does the right thing19:38
Jc2ksadmac2: i started working to set that up19:38
Keybukwithout exposing its inner workings19:38
Keybukit's still distributed, it's still awesome, but it feels less like having a spike pushed through your testicles19:39
Jc2ksadmac2: if i use git-daemon, do i still have to log on to the server, create a new repo, poke things into its hooks, ln it to /var/cache/git and such?19:40
sadmac2log on/create I believe still apply. The rest shouldn't19:41
Jc2kso i'll still be using bzr when i quickly want to share a branch.19:41
Keybukbzr push sftp://hostname/home/scott/public_html/some-branch19:42
Keybuk;)19:42
sadmac2Jc2k: remember: 1 git repo => many branches19:42
Jc2kKeybuk: doesn't it support ~ these days?19:42
Keybukyeah probably19:42
sadmac2Jc2k: its a once-per-project operation, not once-per-branch19:42
Keybuksadmac2: ssh hostname bzr init-repo public_html/bzr19:42
Keybukbzr push sftp://hostname/home/scott/public_html/bzr/some-branch19:42
Keybuk(in fact, you can probably just init-repo the sftp url ;p)19:43
sadmac2Jc2k: and if you quickly want to share a branch, why on the server? Just share it off your own damn box like it was designed for19:43
Jc2ksadmac2: generally behind NAT19:43
sadmac2Jc2k: good point19:43
sadmac2that is one area where bzr is just better. Git's almost TOO distributed. The idea of ANY centralization was an afterthought. hence the trouble.19:44
KeybukI've never seen anywhere that git is more distributed than bzr?19:44
Keybukbzr's repository model was just designed from scratch to be flexible19:44
Keybukany bzr repository is a branch someone can take19:45
Keybukbzr branch ~someoneelse/work/foo  -- will take a branch from their last committed change19:45
sadmac2Keybuk: well its more a mindset question than anything. The idea of a central git repo just didn't occur to anyone until late in the game19:45
Keybukhell, the only difference between bzr branch and cp -a is that bzr branch doesn't take the .o files with it ;)19:46
Jc2kand the level of integration from bzr-svn astounds me19:46
sadmac2Remember, Linus doesn't even necessarily think there should be a single convergence point.19:46
Jc2ki'm a little surprised there isn't a bzr-git, but i don't think there is someone who wants to use both19:46
Keybukthere is?19:47
suihkulokkisadmac2: is there actually any project where developers push/pull biderectionally from each others? there allways seems to be a central repository in projects ive been at.19:47
Jc2kKeybuk: but its not like bzr-svn, is it? last time i looked it wasn't as feature complete..19:47
suihkulokkis/any project/any git project/19:47
Keybukit's not as complete, no?19:47
sadmac2suihkulokki: Red Hat does it that way internally. When you pull in here, usually its coming directly from a folder in someone's NFS home19:48
suihkulokkisadmac2: we tried to do that to a relatively small project and the repo was messed in not time..19:49
sadmac2suihkulokki: we've been doing it without issues for all of IT for awhile now19:51
Keybukheh, we just don't use revision control ;)19:52
Keybukthe debian archive system is kinda like a primitive rcs in of itself19:53
sadmac2One claim bzr made that's bugged me: They said on their webpage "bzr never commits a merge automatically, which is safer if it breaks things"19:54
sadmac2WHO CARES?19:54
sadmac2Without autocommit: git reset HEAD With autocommit: git reset HEAD^19:54
sadmac2the workflow is nearly identical19:55
Keybuksadmac2: it's just the CVS model19:55
Keybukbzr merge ... bzr commit19:55
Keybuksvn follows the same pattern19:55
Keybukanyhoo, skating time19:56
Keybukbbl19:56
sadmac2Keybuk: I'm not saying its worse, its totally fine. but they go screaming for 20 minutes "git is unsafe because it does this!"19:56
sadmac2Keybuk: so basically these NihDBusInterface[] arrays need to be populated with whatever self-evident handlers21:17
sadmac2(which in turn need to exist)21:17
sadmac2Which is the real Keybuk ?21:20
Keybukwell, that pretty much confirms that it's just FreeNode that this hotel hates21:29
sadmac2heh21:30
sadmac2Keybuk: so what I'm gathering from the source here is that we have manager_interfaces[] and job_class_interfaces[] which need to be populated with appropriate handlers21:31
Keybukpretty much21:31
Keybukthe handlers are all autogenerated though21:31
sadmac2ah yes. the magical mystery python script21:31
Keybukcrap, wrong button21:32
sadmac2heh21:32
Keybuksadmac2: did you get the trunk libnih and upstart to build ok?21:32
sadmac2Keybuk: haven't built 'em. I'll want to build them under F9 at home I think21:33
sadmac2(Work box is RHEL 5)21:33
Keybukah right21:33
Keybukwanted to see whether it worked ok21:34
KeybukI added some compiler flags ;)21:34
sadmac2meh. I have a compiler. I can build it for the sake of building it21:34
sadmac2lets do this21:34
Keybuk:)21:34
Keybukadd CPPFLAGS=-DDEBUG21:34
sadmac2../libnih/nihify 21:35
Keybukyeah, well21:35
Keybukconfigure libnih21:35
Keybukthen nihify upstart21:35
Keybukthen configure and build upstart21:35
sadmac2aaand stopped21:37
sadmac2Autoconf version 2.6121:37
sadmac2:(21:37
sadmac2don't have that in 521:37
Keybukheh21:38
Keybukwhy's the work box so out of date?21:38
sadmac2Keybuk: its RHEL.21:38
sadmac2The customers seem to prefer things this way21:38
sadmac2...I could grab the f9 package out of koji....21:39
Keybukthat's the latest release of RHEL?! :)21:39
Keybukwhat is it?! Debian?! :p21:39
AlexExtremeRHEL releases are eons apart21:40
Keybukhow do you build stuff on there?21:40
sadmac2Keybuk: anything we're shipping builds with the versions available. Anything customers want to build themselves isn't within our direct support ring and they need to talk to the people that wrote it.21:41
Keybukyeah, but how do you develop for fedora on RHEL?21:44
sadmac2Keybuk: I don't. I've been in sysadmin positions until... well two weeks from now21:45
sadmac2the fedora stuff has been free time21:45
sadmac2(which I have a lot of since the department I'm in now doesn't have much work for me)21:46
Keybukahh right21:46
Keybukwork != RH21:46
Keybuk?21:46
sadmac2Keybuk: also ssh21:46
sadmac2Keybuk: yeah, I work at RH. I was an IT release engineer, now I'm engineering operations.21:46
Keybukoh, got you21:46
sadmac2the former was mostly scripting, the latter consisted of lifting heavy objects and bolting them to high places.21:47
Keybuk:-)21:48
sadmac2I have to go dig up the 0.3.9 source so I can remember what all this stuff did21:51
Keybukwhich stuff? :)21:53
sadmac2jusw what messages need to be responded to.21:53
sadmac2s/jusw/just21:53
Keybukmost of it probably won't be a 1:1 mapping21:54
sadmac2yeah.21:55
sadmac2Where is the script that does the autogenerating?21:55
Keybukin libnih21:56
sadmac2ahh. was looking for green in ls21:56
sadmac2ahh, and my favoritest part about RHEL 522:12
sadmac2Python 2.4.322:12
sadmac2Keybuk: Your script keeps saying "Name may ot be null"22:17
sadmac2where do I put the name? I tried an attribute, I tried a tag...22:17
sadmac2nvm. I get it now22:19
Keybukit's just d-bus introspect format as input22:59
sadmac2ah23:00
* sadmac2 should RTFM on dbus23:00
Keybukheh23:01
KeybukI wish there was a d-bus style guide23:01
Keybuklike what should the primary interface be?23:01
Keybukif it's /com/ubuntu/Upstart23:02
Keybukshould the interface be com.ubuntu.Upstart23:02
Keybukor com.ubuntu.Upstart.Manager23:02
Keybukor com.ubuntu.Upstart.Server23:02
Keybuketc.23:02
sadmac2if either of the later two, what would the first then mean?23:03
Keybukyou'd just have one?23:04
Keybukdavidz services seem to use Manager23:04
Keybukhughsie services seem to just use the dotted version of the path23:04
sadmac2It just seems to me that if com.ubuntu.Upstart is a valid option it should either be it, or it should be something with some sort of ownership relation to com.ubuntu.Upstart.{Manager,Server,whatever}23:05
Keybukhow do you mean?23:06
Keybukas in you get from one to the other?23:06
sadmac2when I see com.ubuntu.Upstart.Manager, the relationship, to me, reads com.ubuntu.Upstart HAS A Manager23:07
sadmac2if something can HAVE A other thing, that implies that there is something doing the having, which suggests one could interact with com.ubuntu.Upstart directly23:08
sadmac2so what interface does com.ubuntu.Upstart present? and if none, why?23:09
Keybukyeah that's my thinking too23:10
Keybukthe /com/ubuntu/Upstart object should have the com.ubuntu.Upstart interface23:10
Keybukwhich allows you to do things like get jobs (com.ubuntu.Upstart.Job interface), etc.23:10
sadmac2plus Server kind of nods at an implementation detail, and Manager is a -er classname, which I have pages of angry rants about23:12
Keybukok, no -ers :p23:13
sadmac2Its fun to program in java when you have that disposition :)23:13
sadmac2BufferedStreamReader *shudder*23:13
Keybuk;)23:19
Keybukmake[2]: Entering directory `/home/scott/co/upstart/init'23:22
Keybuk../nih/nih-dbus-tool \ --mode=object --prefix=control --output=com.ubuntu.Upstart_object.c ../dbus/com.ubuntu.Upstart.xml23:22
Keybukschweet23:23
Keybukactually I should s/_object// for those23:23
Keybukthat was only for the test suite23:24
sadmac2yea23:24
sadmac2anything in that Upstart file yet?23:25
Keybuknot yet23:30
sadmac2hm. I'll see if I can populate it tonight23:32
sadmac2local lug meeting is in 1/2 hour downstairs. I'll probably be going to that.23:32
sadmac2Keybuk: did you ever integrate that RPM patch I sent?23:40
Keybukerr, which patch was that23:51
KeybukI thought I did23:51
sadmac2Keybuk: it just added code to where you were ignoring .dpkg files to ignore some of rpm's weird things23:51
Keybukhmm, not on this PC23:51
Keybuklet me commit that now23:51
sadmac2Keybuk: I don't know where it would be in the new design23:52
sadmac2Keybuk: I can't find even the dpkg stuff23:52
Keybuksame place23:52
Keybukwhat was the ;[abcdefABCDEF0123456789] thing fabout?23:53
sadmac2Keybuk: when rpm first puts a file down on the system, it puts it into place with a ;<some hex> appended to it. Then when everything is laid out, it moves them to the right name23:54
sadmac2Keybuk: its an atomicity thing23:54
ion_keybuk: I find com.ubuntu.Upstart nice.23:54
Keybukah right23:54
ion_So just ignore files with semicolons in addition to files with dots?23:55
Keybukion_: we don't ignore files with dots anymore23:55
sadmac2ion_: its ignoring files with ;<hex num>. I was able to match the pattern fairly simply23:56
Keybukthe matching is somewhat smarter23:56
ion_Oh, ok.23:56
Keybukwing-commander upstart% dbus-send --system --dest=com.ubuntu.Upstart --type=method_call --print-reply /com/ubuntu/Upstart com.ubuntu.Upstart.GetJobByName string:"foo"23:56
Keybukmethod return sender=:1.1567 -> dest=:1.1571 reply_serial=2 object path "/com/ubuntu/Upstart/jobs/foo"23:56
Keybuk\o/23:56
ion_Btw, now that Fedora is going the Upstart way, will Red Hat follow? Sorry for my ignorance, but i have no idea how Fedora and Red Hat relate to each other nowadays.23:56
sadmac2This calls for an image macro23:56
sadmac2ion_: The rule was "Every 3rd fedora release becomes a RHEL" which would have meant f9 -> RHEL 6, but customers aren't really demanding a new version, so we'll probably wait.23:57
sadmac2ion_: but yes, the next RHEL fork will almost certainly pick up Upstart23:57
ion_Alright, nice.23:57
Keybukwhen is f9 out?23:57
sadmac2Keybuk: days. there may be a gold version floating about now23:58
Keybukcool23:58
sadmac2Not topical, but:23:59
sadmac2http://people.fedoraproject.org/~sadmac/hula.jpg23:59
sadmac2And now to LUG. l8r23:59

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