=== asac_ is now known as asac === Moot2 is now known as MootBot === emgent_ is now known as emgent [08:50] foo has an Asus EeePC, can foo use ubuntu mobile on it ? [08:51] sorry [12:22] persia, i think i got the PATH issue [12:22] lool: What was it? [12:23] its tricky to solve though [12:23] ogra^^ [12:23] (oops) [12:23] What's the cause? [12:23] there is no session dbus running in your env [12:23] we need something like the script in this patch http://launchpadlibrarian.net/7170382/dbus_1.0.2-1ubuntu34.patch [12:23] ++# GNOME gets it right: the session bus has to be started by the session [12:23] ++# manager. Otherwise programs started by dbus do not get environment variables [12:24] Erm. That's kinda tricky. [12:24] ogra: dbus-launch should be included by Xsession.d again [12:24] i need to verify that first though, but i noticed you have no DBUS_SESSION_BUS_ADDRESS at all [12:25] lool, right, but that needs some wrapping, remember se use ck-launch-session [12:25] ogra: It's egg and chicken unfortunately [12:25] yeah [12:25] ogra: ck-launch-session probably needs session bus as well [12:26] yeah, dbus-launch should execute it [12:26] The underlying root cause is programs relying on env vars which are not guaranteed to be present [12:26] Instead, they should use some API e.g. dbus to retrieve the info they want [12:26] What GNOME does for e.g. keyring is that the keyring env vars are seeded into gnome-session via the g-k API [12:26] Yes, but that's hard! :) [12:26] well, many of them do, thats why installing ntp fails [12:27] That's awful IMO, but it's needed if you want compatibility with programs which want keyring env vars or e.g. SSH_AGENT [12:27] the installer seems to rely on getting PATH from dbus [12:27] What is the failing use case again? [12:27] ntp [12:27] You install ntp, that calls synaptic? [12:27] Which programs needs which env var? [12:28] set time-admin to automatic and it cant frind the deb installer [12:28] We could make sure it's started as part of the STARTUP [12:28] not sure, is it synaptic ? [12:28] lool: Start time-admin. Authenticate. Try to switch to NTP. NTP isn't there, so it wants to install. gst-package can't find synaptic because polkit-grant-helper doesn't reset the path. [12:28] Who triggers the installatoin? [12:28] yes, STARTUP would be the quick hack [12:28] time-admin calls gst-package for the installation. [12:29] hello [12:29] Is time-admin running as root? [12:29] No, time-admin can't run as root. [12:29] time-admin gets root powers through policykit [12:29] when the n800 will be supportet by u-mobile? [12:29] lool, the prob with STARTUP will be that we dont have a system bus yet [12:29] so time-admin talks to PK, does time-admin see the dbus session bus? [12:30] the upstart script executes everything before rc2.d has run [12:30] ogra: Uh *system*? [12:30] eichi: There are two issues. One is that some of the HW is ill understood. No idea for that. The other is that it is ARM architecture. This has been discussed, but no timeline established. [12:30] I thought that was long solved [12:30] lool, the session bus needs to connect to it [12:30] okay, thanks [12:30] ogra: So at some point, Tollef added a delay to ensure startx is only called when sys bus is ready IIRC [12:31] not sure what exactly happens if there is no systembus it can use [12:31] lool: It's not solved. We'd have to change /etc/event.d/session to start on started rc2 to make sure the system dbus was there. [12:31] lool: The delay is gone. [12:31] Okayyy [12:31] that will massively cost bootime [12:31] So we need a dependency, shuffling init scripts around, or a delay again [12:31] :( [12:31] It used to be that ume-config-common started from rc2.d, and that worked, because it has a high value. [12:31] Now, we use /etc/event.d/session, and we don't wait for rc2 to complete. [12:32] idealy we'd run dbus from upstart [12:32] i wonder if scott added the code to intrepid already so we could steal from there [12:32] ume-config-$platform ships this file [12:32] ogra: There's a bunch else we'd want to move to upstart if we're going to rely on upstart events. I'd be a lot more comfortable with start on started rc2 for now. [12:33] How does one express a dependency in upstart? [12:33] persia, any measures how much that time eats ? [12:33] Upstart 0.5: Relationships uhoh [12:34] lool: You depend on an event. "start on started rc2" expresses that the event should be processed once the "rc2" event has started completely. [12:34] ogra: I haven't run bootchart on it, but I'd say 15 seconds or so. [12:34] it seems a) that scott is actively working on upstart dbis integration but far from being done and b) that the old Xsession script is still in the dbus source [12:34] phew [12:34] 15secs [12:35] persia: I have start on runlevel 2 [12:35] lool: Some relationships work in upstart 0.3.9 [12:35] lool, right you need "start on started" [12:35] lool: Right. So, upstart is the system init daemon: there is no "runlevel 2". [12:35] that will delay it [12:35] We could have start on started dbus [12:36] then upstart would need to handle dbus first [12:36] We pretend there is a runlevel 2 by having an rc2 event that maps to sysV style runlevel 2, called "rc2". [12:36] We can choose to either start on the trigger that starts this event, or start when this event is completed. I favour the latter, but it costs us time. [12:37] For comparison, my Zaurus takes about 5 minutes to boot, but I almost never actually shut down. [12:38] If session dbus needs system dbus, then I think starting after system dbus is not later than the earliest we can start [12:38] lool: Right, but we can't determine when that happens with that level of granularity with the current model. [12:38] other way round :) [12:38] err [12:38] sorry [12:38] misread [12:38] We can either migrate /etc/event.d/session back into /etc/rc2.d/ or we can start on started rc2 [12:39] and we need the Xsession script back [12:39] If we migrate it back in, we're depending on the other calls in rc2.d to get the timing right. If we use upstart, we wait for all the calls in rc2. [12:39] persia: So you're saying we can't say "started dbus" with upstart 0.3? [12:40] lool: We could say it, except that there's no dbus event defined by default, so it would never start. [12:40] i dont think upstart knows about dbus without handlig it itself [12:40] Oh ok; I thought it had emulation [12:40] thats the work scott is just doing in intrepid [12:40] We'd have to migrate dbus to upstart. As I understand it, not enough of the precursors are done for this to be the case even in intrepid. [12:40] ogra: right, that's what I was fearing initially [12:40] ogra: Well we could invoke-rc.d dbus start before startx [12:40] yeah [12:40] -ogra [12:40] The emulation is one-way. upstart emulates sysV init, but our sysV init scripts aren't emulating upstart [12:41] thats what i thought as well this moment :) [12:41] Why do we want to invoke-rc.d dbus in /etc/event.d/session? [12:41] no [12:41] in the ume-config-common script [12:42] Won't that cause resource contention with the /etc/rc.2/S??dbus ? [12:42] ogra: Right. Same result though. [12:42] It looks like it would be a bit racy, but would probably work [12:42] right, we need to mv it from S to K [12:42] * persia advocates start on started rc2 more forcefully [12:42] 15 secs ? [12:42] persia: If there's enough delay, it would simply notice that it's already started [12:43] Sure. How often do these things get shut down anyway? [12:43] We don't provide any interface to shut down: it has to be done manually from the command line. [12:43] I'm not at shutdown yet [12:44] OK, boot time only matters if one shuts down, otherwise it's a one-time event. [12:44] But we're going to be benched on boot time, not on shutdown time [12:44] And the measure is "UI fully functional" [12:45] Paying 15 seconds for a one-time event to do it in a way that is correct, and allows us to just s/rc2/dbus/ to keep it correct for hardy isn't so bad. [12:45] lool: My argument is that boot time is meaningless. Users will only boot when they get the device, when we give them a new kernel, when they upgrade to a new release, or when they install a new battery. Everything else is hibernate. [12:49] argh, meh [12:49] we cant do it from ume-gui-start [12:49] that would be executed by dbus-launch from the Xsession script [12:49] No, it has to be from the init daemon. [12:49] i dont think dbuslaunch can run the system bus [12:50] right [12:50] What were the arguments against the invoke-rc.d dbus start in the event session start script? [12:51] i dont think upstart can interpret that [12:51] Race condition with /etc/rc2.d/S??dbus [12:51] ogra: in the event script, not as an upstart directive. [12:51] well, thats eaily solved by mv /etc/rc2.d/S??dbus /etc/rc2.d/K??dbus [12:51] Or by adding a lock file [12:52] Anyway, I'm fine to move this to "rc2" started if it doesn't degrade boot time [12:53] We're at 32 seconds ATM, quite close to the limit [12:53] another option would be to move half the world to rcS.d [12:54] ogra: That's a really ugly hack though [12:54] Or move dbus to upstart :) [12:54] lool, which isnt ready yet :) [12:54] Doesn't dbus have dependencies that need to also move to upstart? That's a lot of work for a short timeframe. [12:54] Definitely an intrepid target [12:54] We could also busywait in the session event start script until runlevel is high enough [12:54] ask Keybuk, i may be wrong, but the changelogs in intrepid look like he's in the middle of it [12:55] but not done ... [12:55] * persia wants lool's hardware. Boot time is 1min by default with the SR8 [12:57] * ogra wants HW at all :P [12:57] but i'll get my atom cmpc next week ... [12:58] persia: You don't really want a menlow/crownbeach [12:58] lool: Right, I just want the chipsets, but in a sexy form-factor :) One more week, if I can get in line early enough. [13:03] Right. It's impossible to install bootchart. Time for a new image... [13:06] hmm [13:08] persia: if you have the occasion, test an USB install image created with a recent MIC [13:08] I'd like to confirm /boot is properly mounted and usable [13:08] just adding the Xsession script seems to suffice [13:08] ogra: I just tested with start on started rc2 anyway, rather than building new images, and policykit still doesn't change the path. [13:08] persia: Also, that's probably what blocks you from installing bootchart I'd guess [13:08] i got a session bus variable now [13:08] It's not just about dbus not being available. I think we need to also start a session dbus somewhere. [13:09] persia: dbus-launch should be appended in Xsession.d; it might not be if Ubuntu drops that [13:09] Also, dbus session busses are autospawned [13:10] lool: The issue with installing bootchart is that initrd.img isn't in /boot, but in / [13:10] i just copied the Xsession script from the dbus source to 75dbus_dbus-launch [13:10] lool: What autospawns it? [13:10] seems to be enough to get a proper session bus [13:10] persia, the upstart script if it is in Xsession.d [13:10] ogra: Then the lack of a session bus, while possibly an issue, isn't the reason policykit doesn't work. [13:10] upstart respawns startx [13:11] startx executed Xsession.d every time [13:11] persia, yes, i just noticed, the PATH is still wrong :/ [13:11] 90-console-kit? [13:11] as i said in the beginning i didnt verify yet [13:11] heh :) [13:12] so my next hunt goes one level deeper .... [13:12] lets look what pam and su do [13:12] especially pam_env.so [13:13] if nothing helps we can just source /etc/environment at the top of the ume gui script but thats extremely ugly and does hide the actual cause [13:13] ogra: Let's reserve that as a hammer if other things don't work. [13:14] yeah, its ok as emergency fallback [13:14] and works fine, just tested that [13:14] the pam setup looks identical to my laptop ... [13:15] :( [13:15] I suspect it's something gdm-ish, but investigation of gdm didn't get me anywhere. [13:16] it should be set by su [13:16] or rather by pam if su is executed [13:16] Except we're not using su, so it should be set by one of the polkit-grant helpers [13:16] sure we use su [13:16] (which annoyingly hardcode it, rather than using ENV_SUPATH like they ought) [13:17] in the event.d/session script [13:17] exec su -l ume -c "/usr/bin/startx -- -dpi 96 -br" [13:17] thats what mine has [13:17] ogra: Right, but we su to a uid != 0, so pam gives us ENV_PATH rather than ENV_SUPATH [13:18] and /etc/pam.d/su has "session required pam_env.so readenv=1" [13:18] which tells pam_env to read the default file ... which is /etc/environment [13:18] afterwards it does "session required pam_env.so readenv=1 envfile=/etc/default/locale" [13:19] which works properly here in my german setup [13:19] Hrm. That ought work :/ [13:19] hmm, no, wait [13:20] /etc/default/locale is used in several initscripts as well [13:20] * ogra inspects [13:20] /etc/default/locale ought be used all over the place. [13:21] AHA !!! [13:21] gdm sources /etc/environment in its initscrip2 [13:21] *script [13:22] Oho! In that case hacking it into /etc/event.d/session isn't such a big club after all... [13:22] * persia tests [13:22] yeah [13:22] well, put it in the ume script [13:22] i just did that before, works perfect [13:23] You mean /etc/X11/Xsession.d/25-ubuntu-config-common_startup? [13:23] Or ume-gui-start? [13:23] ume-gui-start [13:23] right at the top [13:24] hmm, k, next prob, after instlling ntp time-admin switches back to manual in the gui [13:24] Right. Testing again, and will commit. [13:25] bah, it doesnt set a default server either [13:25] default server? [13:25] on next start time-admin *has* auto selected but has no default server [13:25] well, ntp needs to pull from anywhere [13:25] Right. That's a long outstanding bug in g-s-t [13:26] well, i'D blame ntp rather [13:26] No, it's g-s-t. [13:26] sudo ntpdate doesnt work either [13:26] it should use a default [13:26] NTP has servers by default, unless you run time-admin, and don't set servers. time-admin clears the server list. [13:27] then the time-admin case ismoot [13:27] gah [13:27] evil [13:28] we also really should set polkit to accept time-admin chages by default without authentication [13:28] seems silly that you have to give your pw every time [13:28] Makes the standard MIC password handy. [13:28] (especially if you have to type on the onscreen kbd) [13:29] well, polkit has a setting to just allow it per app [13:29] Bah. I can't find the time-admin/ntp bug right now. I was looking at it a couple days ago. [13:29] its not that we have massively many users on such systems :) [13:30] No, but the use case is such that it's easy for someone else to hold it for a few minutes. [13:30] I regularly pass my Zaurus to someone to show them something, or let them type something. [13:30] and ? [13:30] he can set your time [13:30] Might be different if everyone had one, but... [13:30] Ah, yes. Per-app. [13:30] right [13:30] and synaptic will still ask [13:30] (and on the Zaurus, it never asks for those things, just runs them as root if required, anyway) [13:31] its just that you dont have to be asked every time if you want to adjust to a new TZ or so [13:31] synaptic doesn't ask. gst-package asks. [13:31] g-s-t is a pile of crap anyway, i know seb makes some attempt to get rid of them in intrepid [13:32] (adding a default group to users-admin to be shown in the gui makes your eyes bleed ... its really evil, hardcoding all options teh user sees there) [13:39] ogra: gst-package caches the password. You have to enter it every time to set the time, but only once in a while to install/update/change packages. [13:39] Maybe this isn't the ideal model? [13:40] thats polkit [13:40] gksu is what caches it, polkit doesnt deliberately [13:41] or rather sudo caches it, gksu just inherits [13:41] Ah, so gst-package is calling gksu, which does the caching. [13:41] Right. That makes sense. [13:41] Still non-ideal, but... [13:41] polkit is crap isf you ask me [13:42] but i'm not upstream [13:42] Why do we use *kit again? [13:42] and they decided to go with it [13:42] the apps start to require it [13:42] I'm really not sure GNOME is very UNIXy, but that's a different issue. [13:42] more and more upstream gnome apps switch to that model [13:42] Anyway, E isn't much these days, so... [13:42] yeah [13:42] its surely still not properly multiuser [13:43] Not multiuser. [13:43] you would runs away screaming if you would see all the hacks we did for early ltsp5 implementations to even make i work :) [13:43] its gotten better over time [13:43] but is still not there [13:43] Each app has lots of features, instead of there being lots of features that can be exposed in apps (this is slowly improving, but in an odd way) [13:44] yeah [13:44] I did look at early ltsp stuff. I haven't looked at it since, perhaps because of that :) [13:44] ltsp5 != ltsp :) [13:44] There are lots of different communication buses, rather than following the "everything is a file" rule. [13:45] Anyway, enough GNOME bashing: I've been a GNOME user for years, and I'll likely stay that way for a while more... [13:45] well, i for one would be happy if it could work on a per session base and if every app had a proper distinction between front and backend [13:45] ogra: Where's your initrd.img? [13:45] ? [13:45] which one now ? [13:45] In your ume install? [13:46] Mine is in /, which means NTP can't install. I wonder if I'm special. [13:46] in /boot [13:46] the one in /should only be a link [13:46] update-initramfs expects it in boot [13:47] and i guess u-a is run from ntp postinst [13:47] Yeah. I'll check a different image: this one mignt not be right. [13:47] err [13:47] u-i [13:47] :) [13:47] Yep :) [13:54] ah, wonderful, alarmclock has a quit button now [13:54] but lost the settings entry so i cant switch back to analog :/ [13:55] hmm, and the notification window doesnt go away [13:55] just sits in the middle [13:57] Yeah, well. The notification goes away if you start the app. [13:57] s/app/settings window/ [14:00] well, there is no settings wi anymore [14:00] it only goes away if i start aother app [14:00] *another [14:01] the same happens if i start pidgin while already having it open [14:02] i guess sapwood doesnt get the right info here [14:04] where the heck is that thing documented ... hrm [14:05] hmm, no .. [14:06] i thought sapwood was responsible for apps to only be launched once [14:09] geez [14:09] closing pidgin crashed my desktop [14:09] How? [14:10] gah, its reproducable [14:10] only happens if i'm looged in to any IRC channel though, not if you just open/close the app [14:12] Can you get a backtrace? [14:17] strace first ... http://people.ubuntu.com/~ogra/pidgin.log [14:17] write(2, "pidgin: Fatal IO error 104 (Conn"..., 72) = -1 EIO (Input/output error) looks suspicious [14:18] That doesn't look so bad for closing an app. There's an error, but it's relatively minor, as the app is shutting down anyway. [14:19] eek [14:19] there is no bonobo server running at all ? [14:19] that wont work [14:20] It's a low-resource machine. See my previous comments about GNOME :) [14:20] yeah, but pidgin uses boobo for internal communication iirc [14:21] Right. That might explain the previous existence of moblin chat. [14:21] On the other hand, I suspect a backtrace will show you that the Hildon libraries aren't very robust. [14:22] hmm, even with bonobo in place it crashes [14:22] The whole desktop, or just pidgin [14:22] ? [14:24] the whole desktop [14:24] X restarts [14:24] Right. Blame the hildon libraries. They ought trap the segfault, and not die. [14:25] but we shouldnt have a segfault first place [14:25] The issue is that when hildon-desktop crashes, it takes down X, because of startx and the session scripts. [14:25] i surely dont get one with pidgin in a normal desktop [14:26] No, but lots of apps segfault. Dropping back to the regular desktop is the least painful way to handle it. A segfault oughtn't kill X. [14:26] no, works just fine on my laptop [14:27] bonobo is installed but not runing [14:28] (in ume) [15:03] hmm, getting a backtrace is pretty hard without being able to get pidgin-dbg [15:03] (it uninstalls half the desktop) [15:03] and indeed it tears down gdb with it if i start it from xterm [15:04] intrestingly it doesnt respawn with gdb running [15:12] uuuh, i'm blind [15:12] /usr/share/autostart/xhost.desktop ?? [15:15] hmm. seems thats needed but appaears quite odd not to properly use xauth for that [15:16] So hmm [15:16] I have a small issue [15:16] ogra: Can I discuss keyring stuff with you? [15:18] sure, if i can help [15:18] Basically, ubuntu-keyring ships a keyring file at a special place and then calls apt-key update in postinst [15:18] apt-key only checks this special place [15:18] I am creating a keyring for UME [15:19] The package is named differently and names the keyring differently [15:19] But the keyring file isn't picked up [15:19] Option 1), apt-key add the new keyring manually [15:19] opens: do we want to apt-key remove on removal? not sure [15:20] It's also weird because you don't get a real "main archive keyring" [15:20] option 2), use the same package name and the same file name, call apt-key update [15:20] just call apt-key add in the postinst ? [15:20] cons: prevents installing the main keyring, generally mixes package names for the different things [15:20] pluses: works fast and easily [15:20] ogra: So option 1? [15:21] That's also my preferred for now [15:21] But I wonder whether that's sensible [15:21] yeah, thats what i'd go with [15:21] I also tried looking into other options, such as adding the keyring to the list of places apt looks at, but I couldn't find any config item for it [15:22] well, i'D do it for now and ask mvo then, nobody knows more about apt and keys i guess [15:23] Ok, that was my plan, will have to wait until monday then [15:24] but the apt-key add method seems cean if we cant get it into the main keyring [15:25] ogra: Also, do you have any idea why I'd get W: Failed to fetch http://archive.mobile.ubuntu.com/dists/um-ppa-hardy/Release Unable to find expected entry main/binary-lpia/Packages in Meta-index file (malformed Release file?) [15:26] Hmm perhaps it strictly needs Packages [15:26] Oh, I copied the list of files from the ppa example, but there's no Package there [15:27] ogra: nm, fixed [15:27] Cool, everything works [15:27] Now copying packages [15:29] the keynames are hardcode in the /usr/bin/apt-key script btw [15:30] * ogra beats pidgin over the head [15:30] ogra: Yeah, hardcoding is *baaad* [15:31] well, in case of gpg i can understad that :) [15:31] what i dont understand is why pidgin crashes my ume desktop :/ [15:31] i guess i need to build a dbg packae myself, sigh [15:31] ogra: apport should work BTW [15:32] oh, right [15:32] ogra: I see a pidgin-dbg [15:32] yes, with wrong deps [15:32] Now I only need to find the latest version of the report script [15:33] i would need a pidgin-maemo-dbg i guess [15:41] hmm, apport doesnt start [15:43] hmm, cant work, the kernel doesnt know about crashdump-size it seems [15:51] * ogra goes to do some lawn mowing ... to probably have an idea [16:02] ogra: /etc/init.d/apport start should DTRT [16:02] unless our kernel dropped this support [16:22] looks like it did [16:22] no crash reports in /var/crash [16:24] ogra: Try with -18 [16:24] ogra: The only one which doesn't have this support can only be -17 from the ppa [16:24] -19 might miss it as well though [16:24] Ok, so I think I finished the archive [17:52] Wow MIC still defaults to ... gutsy [21:24] heya === matt_c_ is now known as matt_c