[00:10] <melodie> hello
[00:12] <melodie> I would not want to bother with a problem related to bugs, but I think I would like to know something about jobservice and jobs-admin tools.
[00:13] <melodie> I would like to know if there are plans to work on the code of this program
[00:13] <melodie> here is our findings so far, about it : it does not work in a way which allows managing services.
[00:14] <melodie> here is the best post I could write after I tried to dig in and test:
[00:14] <melodie> http://beta.linuxvillage.net/index.php/topic,297.msg2231.html#msg2231
[00:14] <melodie> and after I have been commenting on one of the latest bugs reported regarding this program.
[00:18] <sarnold> melodie: heh, the changelog.Debian.gz doesn't paint a pretty picture. it looks quite stale
[00:18] <melodie> hi sarnold
[00:19] <sarnold> melodie: what I think you actually want is an .override file -- no gui, no dbus involved :)  http://upstart.ubuntu.com/cookbook/#override-files
[00:19] <sarnold> melodie: just echo manual >> /etc/init/whatever.override and that 'whatever' job will not start automatically at boot
[00:20] <sarnold> (finding this feature was what made me prefer upstart over sysv-init :)
[00:20] <melodie> sarnold what I wish is not an override-file but a handy tool fit for newcomers (the ones who are ready to use their brain and learn how to deal with an Ubuntu distro)
[00:21] <sarnold> melodie: ah, darn. :)
[00:21] <melodie> sarnold if I need a special setup in Archlinux, and do things by hand I'll do it, but in Ubuntu, I don't believe it :D
[00:21] <RAOF> melodie: So what you want is an upstart job GUI? That shouldn't be super-hard.
[00:22] <melodie> RAOF the gui exists, but some things don't go straight in the code and the man who wrote much about it had done a fix which he accidentally deleted.. in 2011 and never replaced as it seems
[00:22] <melodie> you can notice in Raring it is the same version used:
[00:22] <melodie> http://packages.ubuntu.com/search?keywords=jobservice&searchon=names&suite=raring&section=all
[00:23] <melodie> RAOF i mean the code of the background : jobsystem. the gui might be fine.
[00:23] <RAOF> melodie: I'm not entirely sure what you're after? Do you want to work on the code? Go ahead! Do you want someone at Canonical to make it their job to work on the code? That's probably not going to happen.
[00:23] <melodie> in fact all is really beautiful in Ubuntu, so many nice User interfaces, just this one does not work
[00:24] <sarnold> melodie: most users only have services installed that they want to run anyhow..
[00:24] <melodie> RAOF if I would know I would try, but I don't have that knowledge. I know only about the system, testing, bringing pieces together.. I participate as I can but don't code
[00:25] <melodie> sarnold this is less and less true. see cups ?
[00:25] <melodie> it can be installed and runned only once a while, or bluetooth or...
[00:25] <sarnold> melodie: this specific tool looks like it was written with upstart 0.6 in mind; 1.3 and newer provide the override files that would make the tool only about a thousand times easier to write...
[00:25] <RAOF> melodie: Why not code? This is probably a good project to start with ☺
[00:26] <melodie> RAOF I just registered this year to two places to try to learn a little. at coursera.org and at  cs50.tv : and I have a very full life, so it's not going to be easy.
[00:26] <melodie> I just wanted to know if Ubuntu is planning to review this code which looked very promising.
[00:27] <RAOF> I do not believe that anyone is currently planning to touch that code.
[00:27] <sarnold> melodie: I'll try to keep this in mind next time someone comes forward and says "I want to help but don't know where to start" :)
[00:27] <melodie> example, at cs50.tv they have provided an appliance under the shape of a Fedora tweaked for the needs of the course. I don't know much about Fedora, and there are a bunch of things which I really prefer in Ubuntu.
[00:28] <melodie> just their job service management tool : we would all like to have the equivalent in Ubuntu :P
[00:29] <melodie> see for the testing purpose and for the post written I have taken a pair of hours. I wanted to have a talk about it with people who know the value of good user interfaces in Ubuntu. This is done now. (and it's very late in the night here. :) )
[00:29] <sarnold> :D
[00:30] <melodie> sarnold you say something strange : if I'd know how to debug a python code I could try to bring better feedback; what tool do you use to debug a python script ?
[00:31] <sarnold> melodie: I try to replicate problems in the python REPL interative interpreter -- copy-and-pasting function definitions as I modify them from another file, when they grow too large..
[00:31] <sarnold> melodie: it isn't very good :( but it works for me well enough that I haven't looked much further
[00:34] <melodie> I thought I would try to find who maintains it, but it seems the original maintainer is not involved anymore : http://packages.ubuntu.com/raring/jobservice
[00:34] <melodie> " python REPL interative interpreter" : no idea what it is.
[00:35] <melodie> I might discover it later if I can stick to the courses online... or perhaps not.
[00:37] <melodie> sarnold RAOF thanks to both
[00:37] <melodie> I can read here: https://lists.ubuntu.com/mailman/listinfo/ubuntu-devel-discuss among else:
[00:38] <melodie> " Point of contact for Ubuntu users to reach Ubuntu developers
[00:38] <melodie> "
[00:38] <melodie> so I think I'll try to post there once about this issue.
[00:38] <melodie> I'll test it on more versions before, to be a better idea of the extent of the issue
[00:42] <melodie> good night
[00:48] <sarnold> oh bother, too bad she's gone while I was away.. there's really no point to her investigating that program further, it's been abandoned for over two years...
[01:16] <infinity> ScottK: kde4libs is trying to yank a ton of stuff into main.  Looks like a few suggests got upgraded to recommends.  Any idea if that was intentional or a merge oops?
[01:19] <infinity> ScottK: Hrm, based on history in the package, I'm going to assume it was just a merge oops, and upload a fix.
[01:31] <infinity> Daviey: Can you get someone on your team to take ownership of the MIRs required for the new puppet and python-testtools rdeps?
[01:32] <infinity> Daviey: See http://people.canonical.com/~ubuntu-archive/component-mismatches.svg
[01:44] <ScottK> infinity: probably.
[01:44] <ScottK> Go for it.
[02:05] <ScottK> Riddell: ^^^
[03:38] <pitti> Good morning
[06:38] <dholbach> good morning
[07:05] <vmlintu> Hi.. Could anyone point me forward with this lightdm issue? I'm trying to figure out how to make a proper fix for this as this shows up on diskless workstations all the time..  https://bugs.launchpad.net/lightdm/+bug/1172752
[07:15] <RAOF> vmlintu: Hm. Seems reasonable. I don't suppose you can get a reliable test case that we could add to the testsuite? :)
[07:16] <RAOF> vmlintu: You've got two options to take that forward - branch lp:lightdm, apply that fix, and propose a merge back to lp:lightdm, or hope someone else does that.
[07:19]  * RAOF heads to the shops for a bit.
[07:24] <vmlintu> RAOF: I haven't been able to change the environment so that the race condition would show up all the time, so no test case at this point..
[07:26] <vmlintu> But I really don't like the fork()->vfork() fix I wrote in the launchpad bug report as it just hides the unnecessary fork()->execlp()->kill() cycle. Getting rid of that would make the fix unnecessary..
[10:36] <Laney> Is errors.u.c having a sad day? "An error occurred while trying to load the most common problems"
[10:43] <zyga> cjwatson: I so much want to work on the new app installer / packaging format
[10:53] <ogra_> zyga, i think there are UDS sessions next week
[10:53] <zyga> ogra_: I'll be there if I can
[10:54] <zyga> ogra_: but this is something I wanted ubuntu to have for a long time
[10:54] <zyga> ogra_: and now there is both the desire and the actual need
[10:54] <zyga> I was thinking about dependencies though
[10:54] <zyga> classical dependencies cannot be allowed
[10:55] <zyga> but I was thinking about base os dependencies that might make this applicable to many more packages, without adding any additional issues that the proposal is trying to avoid
[10:55]  * zyga so much wants to talk to cjwatson about this later
[10:58] <cjwatson> Right, as I mentioned briefly in my post I was considering permitting a few base profiles; it'd be useful if you have experience of what other systems call things there
[10:59] <cjwatson> The way I'd be inclined to implement this would be to allow packages to install files in /usr/share/click-package/profiles/ whose presence indicates that a profile is present
[11:00] <zyga> cjwatson: I don't think I understand base profiles exactly, I'm somewhat familiar with what gnome is trying to build now but I wasn't aware of any profiles there
[11:00] <cjwatson> I initially called this "base system", but somewhere in my research I ran across the term "profile", I think via the GNOME app bundle stuff, and I prefer that term
[11:00] <cjwatson> http://blogs.gnome.org/alexl/2013/02/01/developer-hackfest-status/ mentions it
[11:01] <cjwatson> Well, he calls it variously "ABI" and "profile" there
[11:01] <zyga> cjwatson: ah, I understand what that may be now
[11:01] <cjwatson> Maybe "ABI" is clearer
[11:02] <zyga> cjwatson: I was thinking about allowing dependencies on a subset of current packages, specifically those marked as 'pure' (no maintainer scripts). The pure set would be garbage-collected with the root set being all the installed apps from the new model. The pure set might be applicable to some non-default libraries, static files, etc
[11:03] <zyga> cjwatson: but this is not for the tablet / phone target, more like a liberal view of what packaging of desktop might look like later
[11:03] <cjwatson> The problem with using system package names in this is that you can very easily end up needing to scan the system dpkg database
[11:03] <zyga> cjwatson: dpkg being slow, you mean?
[11:04] <cjwatson> Indeed
[11:04] <zyga> cjwatson: yeah, that would be a pain
[11:04] <cjwatson> Which is why I'd prefer to have a separate namespace for ABIs applicable to app packages
[11:04] <zyga> cjwatson: also, the new package format might be tuned to 'non-critical' stuff so it might not fsync that badly
[11:04] <zyga> cjwatson: separate namespace makes sense, yes
[11:04] <cjwatson> Eh, I just turned off fsync :-)
[11:04] <cjwatson> Doing so made a very noticeable difference to overhead
[11:04] <zyga> cjwatson: well, you may still want some 'fsync'-like thing for base os
[11:04] <cjwatson> Base OS remains with dpkg
[11:05] <zyga> cjwatson: a few years ago I toyed with something I called dpkg-connector
[11:05] <cjwatson> This is absolutely not intended to replace dpkg
[11:05] <zyga> cjwatson: basically a way for foreign system to tell dpkg that it installed something
[11:05] <zyga> cjwatson: I know
[11:05] <zyga> cjwatson: then dpkg would know about those new files and could be, eg, asked to remove that package
[11:06] <cjwatson> Mm, I was trying to keep complexity down by keeping things separate.  The other thing is that we may be permitting multiple versions to be unpacked in parallel with symlink-flipping, which makes some sense with something like a multi-user tablets
[11:06] <cjwatson> *tablet
[11:06] <cjwatson> I suspect it may not be guaranteed to fit into dpkg's view of the world very well :)
[11:07] <zyga> cjwatson: so while I installed a game through steam or some python code with pip, dpkg could see and remove that, it would also prevent clashes if files colided
[11:07] <cjwatson> There are certainly plenty of possibilities
[11:07] <zyga> cjwatson: yeah, multi version is interesting
[11:07] <zyga> cjwatson: as are non-root and free-path usage in general
[11:07] <cjwatson> There'll never be clashes in this model (well, assuming no dpkg package ever installs under /opt/apps.ubuntu.com/ or whatever)
[11:07] <zyga> cjwatson: well, ideally, true
[11:07] <cjwatson> Pretty much guaranteeably
[11:08] <cjwatson> The above is the only caveat
[11:08] <zyga> cjwatson: as for that, do you think stuff like SD cards are an issue
[11:08] <zyga> cjwatson: eg, I want to install this game to SD cards and that game to root memory (or the system chose to do so)
[11:08] <cjwatson> You mean installing some apps to phone memory and some to SD cards?
[11:08] <zyga> cjwatson: yes
[11:09] <zyga> cjwatson: then you'd need to either make /opt/apps.ubuntu.com a magic fs or allow for some flexibility
[11:09] <zyga> cjwatson: I wonder if SD card story is at all specified for ubuntu touch
[11:09] <cjwatson> I confess I haven't thought much about that; the model would make it moderately straightforward if we wanted to though, since the multi-version thing implies having apps run from symlinks
[11:09] <zyga> cjwatson: so symlinks would glue that back?
[11:09] <cjwatson> So it's not difficult to have symlinks into more than one all-the-apps type directory
[11:10] <zyga> cjwatson: indeed
[11:10] <cjwatson> (*handwave*)
[11:10] <zyga> cjwatson: do you think that package model is bound to apps?
[11:10] <zyga> cjwatson: so that people never have apps != packages
[11:10] <cjwatson> can you rephrase?
[11:10] <zyga> cjwatson: sure, sorry
[11:11] <zyga> cjwatson: do you think that your proposal assumes that each thing being delivered by the new package format is a single application
[11:11] <zyga> cjwatson: so non-app payloads and multi-app payloads are forbidden
[11:12] <cjwatson> At present yes
[11:12] <zyga> cjwatson: do you think there is value in having something like that back on the desktop?
[11:12] <cjwatson> Well, the only thing stopping non-app payloads would be making sure they don't deliver a desktop file I suppose
[11:12] <cjwatson> Multi-app payloads, not sure of the use case
[11:12] <zyga> cjwatson: so that some things could be delivered this way later
[11:12] <cjwatson> desktop file> or whatever the integration there is
[11:13] <zyga> cjwatson: for non-app payloads, app management is an issue
[11:13] <cjwatson> Right.  Somebody else's problem ;-)
[11:13] <zyga> cjwatson: users would need to be presented with two views "what you see on the app launcher screen" vs "what you have installed"
[11:13] <ogra_> cjwatson, that mail should probably go to the ubuntu-phone ML in parallel
[11:13] <cjwatson> ogra_: feel free to forward/bounce it
[11:13] <cjwatson> I don't wish to spread discussion across multiple lists though
[11:14] <zyga> cjwatson: mulit-app, not sure but I know that many phone apps from single vendor really suffer (bigger than needed) because they cannot share anything
[11:14] <zyga> cjwatson: it might be a niche use case, but I wanted to ask
[11:14] <ogra_> done
[11:14] <zyga> cjwatson: it's also a management problem a bit, when you want to remove application, like you currently do in the desktop, that removes, eg, other apps for some reason
[11:14] <cjwatson> I think that's more data sharing than multi-app payloads
[11:15] <cjwatson> I'd like to put that on the shelf for now though
[11:15] <zyga> cjwatson: ok
[11:15] <melodie> hello
[11:15] <cjwatson> I would like to have some answer for that at some point, but probably not for 13.10
[11:15] <zyga> cjwatson: one thing I'd love to see out of this is a way to see this system on the desktop eventually
[11:15] <cjwatson> Sure, the buzzword is "convergence" :)
[11:16] <zyga> cjwatson: not for everything but for some use cases and growing
[11:16] <zyga> cjwatson: as it's far easier to grasp than current packaging, I suspect
[11:16] <cjwatson> I'm sensitive to many desktop applications having necessarily much more complex structures though
[11:17] <zyga> cjwatson: have you though about 'in-app purchase' so to speak, where you get one app but then get additinal slivers of data (magazines, levels) that are also downloaded and stored?
[11:17] <melodie> cjwatson I am glad you are here, I have a question related to some bug reports around a gui admin program.
[11:17] <melodie> may I ask ?
[11:17] <zyga> cjwatson: I don't think that is the case, look at all the steam games, there are classes of apps that would just fit right in
[11:17] <cjwatson> So I know it's something that not least my management would like to have - but I want to make sure it doesn't cause massive scope creep
[11:18] <cjwatson> zyga: in-app purchase might fit into the broader project but not into my slice of it; ask aquarius
[11:18] <zyga> cjwatson: I don't know how other platforms handle that, I suspect that in-app thingh is totally separate and the data they get is just not managed by the package system
[11:18] <cjwatson> melodie: I'm likely to be a terrible person to ask about anything GUI
[11:18] <zyga> cjwatson: ok
[11:18] <zyga> cjwatson: in-app purchase is just the keyword, I'm not interested in the actual purchase path, just the data
[11:19] <cjwatson> You could have the in-app-purchased data files be a click package, so you have com.valve.steam.half-life and com.valve.steam.half-life.more-guns, sure
[11:20] <zyga> yeah, that might work
[11:20] <cjwatson> However you'd have to be careful about lookup paths and such, since click packages aren't allowed to install integration points for other packages
[11:20] <melodie> cjwatson there are bug reports still not solved since about 2010 or 2011 concerning jobservice which affect the use of jobs-admin, at the bugzilla. I'd be very happy and many other users too I'm sure if the devs would look at it closely. I thought I would drop a word about it at the ubuntu-devel mailing list : do you think it is a good idea ?
[11:20] <cjwatson> (A core requirement is for them to be totally declarative)
[11:20] <zyga> then the app could request that thing to be installed either at high (via the store) or low (download by itself and ask the package manager) level
[11:20] <cjwatson> melodie: No idea, sorry
[11:20] <melodie> cjwatson ok, thanks anyhow
[11:21] <zyga> cjwatson: integration points?
[11:21] <cjwatson> melodie: I mean I don't object to the mail as a moderator, but I don't know if it's useful
[11:21] <zyga> cjwatson: also sandboxing might be an issue
[11:21] <zyga> cjwatson: where com.vendor.app cannot see com.vendor.app.addon
[11:21] <cjwatson> zyga: Well, if you want to have apps (or click packages, anyway) hooking into other apps, they'd likely need to link files around and stuff, the sort of thing that's done by hooks provided by system packages
[11:21] <melodie> cjwatson I don't either, but I don't quite see what would be better to get someone have a close look there
[11:22] <zyga> cjwatson: I don't thing links are needed
[11:22] <cjwatson> (so, say, we might have a dbus-service hook that lets you link files into /usr/share/dbus-1/services/ so that dbus-daemon can see them)
[11:22] <zyga> cjwatson: perhaps enumeration of some sort
[11:22] <zyga> cjwatson: ah
[11:22] <zyga> cjwatson: I see what you mean
[11:22] <melodie> cjwatson do you know of someone in the Ubuntu dev team who I could try to join preferably ?
[11:22] <cjwatson> and packages typically don't want to enumerate some not-specified-up-front list of directories looking for files - it's an awkward thing to do
[11:23] <zyga> cjwatson: it's easy to stray to related but not quite same fields in this conversation
[11:23] <cjwatson> melodie: perhaps James Hunt can help, though he doesn't seem to be around right now
[11:23] <zyga> cjwatson: no, I meant, eg, some game wanting to enumerate its add-ons
[11:23] <cjwatson> (jodh)
[11:23] <cjwatson> zyga: Right, but I think it's a similar problem
[11:23] <melodie> cjwatson I'll keep his name in mind. thank you
[11:23] <zyga> cjwatson: where the game knows the add-on identifier
[11:23] <zyga> cjwatson: 'eg com.vendor.game.add-ons'
[11:24] <zyga> cjwatson: and each packaged thing can declare to be that
[11:24] <cjwatson> I suppose since we're using a reversed-internet-domain scheme for app names we can have a facility to enumerate things under a domain
[11:24] <zyga> cjwatson: anyway, I don't want to steal your time, I'm looking forward to the UDS conversation
[11:25] <cjwatson> don't worry, this is interesting even though I don't have all the answers (and don't expect to)
[11:25] <zyga> cjwatson: having a rev-domain might be security issue though
[11:25] <cjwatson> Yeah, well, it depends on how you're using the results of the enumeration
[11:25] <zyga> cjwatson: eg, can anyone distribute packages that hook into my domain?
[11:25] <zyga> yeah, exactly
[11:25] <zyga> internal vs public
[11:26] <zyga> it's also interesting on the desktop a bit
[11:26] <zyga> or actually
[11:26] <zyga> on the shell / cli
[11:26] <zyga> cjwatson: imagine where shell you get is empty, and you install apps into your profile explicitly
[11:26] <zyga> cjwatson: and apps only declare what they provide (commands)
[11:26] <zyga> cjwatson: scripts are tricky then (they would need to 'pull in' commands given some long / unique ID)
[11:27] <zyga> cjwatson: but namespace clashes
[11:27] <zyga> cjwatson: and general mess of command line might be eventually cleand up
[11:27] <cjwatson> Yeah, right now I don't see this working very comfortably for tools you run from the command line
[11:27] <zyga> cjwatson: yeah
[11:27] <cjwatson> You'd either need a ridiculous path or some proprietary shell extension
[11:27] <cjwatson> That said, nothing to stop a system hook linking script-like commands into a single directory
[11:27] <zyga> cjwatson: /*/bin/ would likely remain as it is forever for compatibility
[11:28] <cjwatson> Namespacing would make the names awkward though.  I don't think you really want to invoke com.ubuntu.shiny-command from a shell
[11:28] <zyga> cjwatson: but then you could use app store app to add 'some-tool' into your profile
[11:28] <cjwatson> As I say, I don't actually feel the need to solve all problems with this :)
[11:28] <zyga> cjwatson: scripts would, you would import the short name of your choice
[11:28] <zyga> cjwatson: :)
[11:28]  * zyga has a brainstorm inside his head
[11:29] <cjwatson> I mean, I'm OK with confining this to solving a smaller problem well if that's what it takes to keep the scope manageable
[11:29] <zyga> cjwatson: I fully understand that
[11:30] <zyga> cjwatson: I'm just excited to see that topic being touched and the possibilities it opens down the road
[11:30] <cjwatson> Not that I want to shut down discussion; but perhaps a sensible division is to think about things that aren't currently being reasonably well-served
[11:31] <zyga> cjwatson: I think what you mentioned in your email is a great start: no deps/no conflicts, confined directories, new package / install tools
[11:31] <cjwatson> (proprietary shell extension, above> by which I mean proprietary as in "our own", not as in licensing)
[11:31] <zyga> cjwatson: :-)
[11:31] <zyga> cjwatson: I would see that as a patch to [db]ash eventually but perhaps as a symlink farm now (shell stuff)
[11:32] <zyga> anyway
[11:32] <cjwatson> I do expect to take some heat given that there are other tools like this out there, the why-didn't-you-just-contribute-to-them thing
[11:32] <zyga> cjwatson: do you keep the code in any project yet?
[11:32] <zyga> cjwatson: yeah, I think what you are doing is okay
[11:32] <zyga> cjwatson: other tools usually birng impedance
[11:32] <zyga> cjwatson: and might diverge in goals later
[11:32] <cjwatson> Still open to using something else if it's sufficient; the problem as I saw it was that they were all kind of 50% solutions so it wasn't clear it would actually help either us or them
[11:33] <zyga> cjwatson: though we should look at reusing ideas and maybe forking something if that saves time
[11:33]  * zyga checks your email again
[11:33] <cjwatson> It will be in the click-package project; just trying to get the proof of concept slightly less PoC-y first
[11:34] <cjwatson> There will definitely be branches there before UDS
[11:34] <zyga> cjwatson: as for existing systems, is there anything other than android that you looked at?
[11:34] <zyga> cjwatson: it might be good to enumerate all existing solutions (including those that we cannot use at all, eg, proprietary stuff)
[11:34] <zyga> cjwatson: I'd love to help with that if you want
[11:34] <cjwatson> I mentioned several briefly in my mail
[11:35] <cjwatson> I would definitely appreciate help with a better competitive analysis
[11:35] <cjwatson> I looked through most of the mobile app store packaging formats I could find
[11:35] <zyga> cjwatson: I guess one thing that is blurry is if this is really defining the packaging system (however app centric as it may be) or actual applications themselves
[11:36] <cjwatson> android, tizen basically zip files with varying layouts and manifest files specific to their requirements; sailfish seems to be RPM though I couldn't find the specifics; iOS I did look at briefly although the answer does not appear to have stuck in my head
[11:36] <zyga> cjwatson: that's about right
[11:37] <zyga> cjwatson: to be fair I'd use zip as well
[11:37] <cjwatson> I think we definitely want fairly strong conventions for how things like QML and HTML5/CSS apps for the phone/tablet are laid out
[11:37] <zyga> cjwatson: deb == ar + tar + compression
[11:37] <zyga> cjwatson: and that sucks for some purposes
[11:37] <zyga> cjwatson: zip is rather better in general
[11:37] <zyga> cjwatson: agree on conventions
[11:37] <zyga> cjwatson: eg, random access
[11:38] <zyga> cjwatson: also pure python solution is easy to build on top of zipfiles
[11:38] <zyga> cjwatson: have you thought about delta updates
[11:38] <zyga> cjwatson: on the desktop that's not used in practice (in ubuntu at least)
[11:38] <cjwatson> don't really care about random access and pure python solution is easy either way
[11:38] <zyga> cjwatson: but on the mobile with lots of data vs little code it might be essential
[11:38] <zyga> cjwatson: well, zip's do both
[11:39] <zyga> zips
[11:39] <cjwatson> (tarfile is built into the python stdlib and writing ar is ~100 lines)
[11:39] <zyga> cjwatson: ar is not
[11:39] <zyga> cjwatson: well yeah
[11:39] <cjwatson> it's trivial
[11:39] <zyga> cjwatson: I know, had to do it too
[11:40] <zyga> cjwatson: still, what is the value of looking like a deb?
[11:40] <zyga> cjwatson: that dpkg -i can (perhaps) install it?
[11:40] <zyga> cjwatson: it will probably bork unless you also plan to ship DEBIAN in each package
[11:40] <cjwatson> more that it reduces impedance mismatch with other tools we already have
[11:40] <cjwatson> I have deliberately arranged that dpkg -i will refuse, but you can use dpkg -c and so on
[11:41] <zyga> cjwatson: so what existing tools would be able to work with the new-format packages?
[11:41] <cjwatson> I don't think the container format is really a desperately big deal either way
[11:41] <cjwatson> honestly
[11:41] <zyga> cjwatson: it might be, it really depends on where it is used
[11:41] <zyga> cjwatson: delta updates, store indexing, etc
[11:42] <cjwatson> it just meant I got to use dpkg to unpack and that means that if we need to do things like in-place upgrade in the future then it's a trivial matter rather than having to write a bunch of new very delicate package management code
[11:42] <zyga> cjwatson: it's not a deal-braker but a good format definitely helps
[11:42] <cjwatson> I trust dpkg for that kind of thing way more than anything I might write
[11:42] <makara> i created a lunar clock in python. I want to add it to Ubuntu Unity taskbar. How 2 do?
[11:42] <zyga> cjwatson: dpkg supports in-place upgrades?
[11:42] <cjwatson> er, kind of obviously
[11:42] <zyga> cjwatson: IIRC it still unpacks stuff on the side
[11:43] <zyga> cjwatson: then replaces
[11:43] <zyga> cjwatson: that's not in-place
[11:43] <cjwatson> no, I mean in-place as opposed to click-package's current intended model of unpacking each version in a totally separate directory and re-symlinking
[11:43] <zyga> cjwatson: you can run out of space
[11:43] <zyga> cjwatson: ah
[11:43] <zyga> cjwatson: I see
[11:43] <zyga> cjwatson: I think that dpkg is too crazy for that, eg, all the failure modes, package states
[11:43] <bhavesh> makara, #ubuntu-app-devel for Ubuntu application development :)
[11:43] <cjwatson> you're mistaken; basically all the failure modes there relate to maintainer scripts
[11:44] <zyga> cjwatson: and all the integrity in dpkg, if you drop all the package states, is just fsync
[11:44] <cjwatson> nonsense
[11:44] <zyga> cjwatson: yes
[11:44] <zyga> cjwatson: but maintainer scripts cause all the package states
[11:44] <zyga> cjwatson: otherwise there would be none
[11:44] <cjwatson> dpkg had excellent integrity for many years before it started being forced to use fsync by hostile filesystem implementations
[11:44] <cjwatson> fsync is a red herring
[11:44] <zyga> cjwatson: after all, in the end you just unpack the container into the filesystem
[11:45] <zyga> cjwatson: done, ditto
[11:45] <cjwatson> you also need to keep track of which files to clean up afterwards, you still need to do the rename-over-the-top anyway otherwise you can have problems with executables in flight, etc.  all problems dpkg solved many years ago.
[11:45] <cjwatson> no point redoing any of that
[11:45] <zyga> hmm
[11:45] <zyga> clean up - maybe not - depends on how you structure
[11:46] <cjwatson> it's simply not a problem I'm interested in re-solving
[11:46] <zyga> rename-over-the-top - can you explain?
[11:46] <cjwatson> open(2)
[11:46] <cjwatson>        ETXTBSY
[11:46] <cjwatson>               pathname refers to an executable image which is currently being executed and write access was requested.
[11:46] <zyga> ah
[11:46] <zyga> interesting
[11:46] <zyga> I wasn't aware that existed
[11:47] <cjwatson> dpkg is correct about many things most people have had no need to think of :)
[11:47] <zyga> cjwatson: I was aware of some of the things dpkg was doing
[11:47] <zyga> cjwatson: but some of those are the fauls of the system design
[11:47] <zyga> cjwatson: and dpkg is still doing a non-solution
[11:47] <zyga> cjwatson: eg, ripping libraries / data underneath from an app
[11:47] <zyga> cjwatson: firefox updates
[11:47] <cjwatson> (can you press enter slightly less frequently?  this is a bit overwhelming)
[11:47] <zyga> cjwatson: none of that _has to happen_ it just does because of what dpkg was designed to install
[11:48] <zyga> cjwatson: sorry, I guess I should get back to my usual work now
[11:48] <cjwatson> no, just having trouble keeping up :)
[11:50] <cjwatson> so, you either do what dpkg does, or you have problems with ETXTBSY, or you end up with intermediate states where files are only half-written (IME one of the worst possible outcomes), or you unpack into completely separate directories and avoid all those problems at the cost of a bunch more space at least transiently - all the options have their problems
[11:51] <cjwatson> the only two viable ones IMO are completely-separate-directories and what dpkg does, and I'd like to leave the door open to having the choice between them in future, because dpkg's approach is likely to be better than completely-separate-directories for very large apps
[11:51] <zyga> cjwatson: I see your point
[11:51] <zyga> cjwatson: I suspect that a higher-level solution is needed though
[11:51] <cjwatson> (well, OK, it's probably also possible to have a mess of special cases where e.g. you defer removing files, but I would prefer not to go there if possible)
[11:51] <zyga> cjwatson: eg, telling app to stop for update, ensuring it really is, doing some in-place update from partial download, etc
[11:53] <zyga> cjwatson: full-copy app update is probably going to be cost prohibitive, you'd have to write O(N) bytes for each O(1) change, flash burns out
[11:53] <cjwatson> That kind of thing makes sense in a phone model; not sure it's good for convergence later
[11:54] <cjwatson> I do want to do delta updates, but it won't make the first cut.  The main thing we need to ensure up front is just that we're using something like an rsync-friendly compression method in case we want to go that route
[11:55] <cjwatson> Which reminds me, is it possible to do an equivalent of gzip --rsyncable in Python directly or do I need to use a gzip subprocess?
[11:55] <zyga> cjwatson: I'm not sure, I never needed to do that. I suspect yes but manually by creating separate blocks on rsync boundary
[11:56] <zyga> cjwatson: but I suspect that rsync won't really be what you want to do in the end, code updates are not costly, assets are, and those are replaced, you only want to compress and send the files that are being changed. Trying to do in-file delta updates feels like a waste of effort, especially if it entails rebuilding a full package to install, locally
[11:57] <zyga> cjwatson: my point being that you probably want to ensure that you can send an efficient representation of ver-to-ver change and install _that_ rather than trying to rebuild the package locally
[11:58] <zyga> cjwatson: even if you really rsync a package from a remote server having that same package installed
[11:58] <cjwatson> Indeed.  Given I'm using deb I suspect I might find that debdelta is a pretty close approximation of what I want
[11:58] <zyga> cjwatson: debdelta rebuilds debs locally, doesn't it?"
[11:58] <cjwatson> I'm not sure that's required, but haven't really looked yet
[11:59] <zyga> cjwatson: so I do see a lot of value for research on top of dpkg, I'm still sceptical if that's the right choice in the end, the same as with other existing systems, it may just be not close enough after all the requirements are assembled
[11:59]  * zyga needs to switch to another topic
[12:00] <zyga> cjwatson: sorry for taking that much of your time, I'll see you at the vUDS :-)
[12:00] <cjwatson> Partly I will admit that I wanted to demonstrate that most of the performance and reliability problems with dpkg are not inherent
[12:46] <cjwatson> xnox: ed can be synced, I think?
[13:33] <sergiusens> infinity: question, have you started with the bionic based armel cross toolchain?
[15:25] <pitti> slangasek: replied to bug 1177828
[15:25] <slangasek> pitti: thanks
[15:26] <stgraber> pitti: FWIW, I seem to be getting the same kind of problem here after suspend/resume
[15:26] <pitti> stgraber: missing ACLs? for what kind of dev?
[15:26] <stgraber> pitti: I have working sound before suspending and no sound after resuming. Pulse still lists the soundcard but no sound comes out. Restarting pulse only gets me a dummy output.
[15:27] <pitti> oh, fun
[15:27] <pitti> stgraber: this is an internal sound card, or also USB?
[15:27] <stgraber> pitti: internal
[15:27] <pitti> stgraber: again, udevadm info --export-db output would be helpful (if possible, before/after suspend)
[15:30] <infinity> sergiusens: Haven't started looking at it yet.  I've been dead with some sort of ubuflu since the sprint.
[15:30] <stgraber> pitti: gah, can't reproduce the bug anymore... just did a couple of suspend/resume and the ACLs are fine and sound works...
[15:31] <sergiusens> infinity: ack, no problem, just wanting to organize my work :-)
[15:32] <stgraber> oh, actually, could have been something else as I remember that I rebooted the machine to fix it (had a call so didn't have much time to figure it out) and noticed that my user wasn't allowed to reboot the machine (dropping back to lightdm instead), so maybe it was something wrong with logind then...
[15:32] <pitti> I might have botched the uaccess backport in udev in some way
[15:33] <pitti> stgraber: that sounds like "no foreground session" indeed
[15:34] <pitti> slangasek: actually, it seems I get no ACLs on my scanner when plugging it in; that might be the same problem; the device has the "uaccess" tag, but doesn't get an ACL
[15:35] <pitti> I guess it's time to bite the bullet and upgrade to current udev
[15:35] <pitti> (the main obstacle is that we accumulated a set of patches which are nontrivial to forward-port as they have very little explanation and have never been forwarded upstream either)
[15:36] <pitti> but as an intermediate step I might just put it into a PPA without these
[15:36] <slangasek> I don't see how that's a useful intermediate step.
[15:36] <pitti> for re-testing this bug
[15:36] <slangasek> I'm certainly not going to run a udev that drops the distro patches on the floor
[15:37] <pitti> not all of them of course, mostly just avoid-exit-deadlock-for-dm_cookie.patch and avoid-exit-deadlock-for-timely-events
[15:38] <slangasek> yeah, those are absolutely not patches I'm going to be running without
[15:38] <slangasek> I fully expect I would hit those deadlocks if I did
[15:42] <pitti> ok, your udevadm output looks like my scanner situation - uaccess tag set, but no ACL applied
[15:42] <roaksoax> slangasek: howdy! I wanted to check with you how likely is this to be approved for SRU? We need celery in main for the MAAS SRU (precise), and in Quantal, we needed to drop the dependency. https://launchpad.net/ubuntu/+source/celery/2.5.3-1ubuntu1
[15:44] <psusi> cjwatson: I'd like to resync the debian and ubuntu parted packages... would you sponsor an upload to debian, and if so, what format would you like it in?  a git patch against the debian git repo I assume?
[15:46] <slangasek> roaksoax: I'm not sure I understand the question.  Are you proposing pushing that same version of celery from quantal to precise?
[15:46]  * pitti waves good night, see you on Friday (public holiday tomorrow)
[15:46] <roaksoax> slangasek: Sorry, not the same version, just the same patch we applied to celery in quantal
[15:46] <roaksoax> slangasek: so I want to SRU this: http://launchpadlibrarian.net/109389843/celery_2.5.3-1_2.5.3-1ubuntu1.diff.gz
[15:47] <cjwatson> psusi: some kind of git patches or git bundle or something, yeah
[15:48] <psusi> cjwatson: should I break it into one commit per patch then instead of just one big merge of all ubuntu patches?
[15:48] <slangasek> roaksoax: the purpose of this is to remove the out-of-main build-dep on celery, so it can be moved to main in precise-updates to enable maas to use it in precise?
[15:48] <roaksoax> slangasek: yes
[15:48] <cjwatson> psusi: Yes please
[15:49] <cjwatson> With updated justifications in patch headers where necessary
[15:49] <slangasek> roaksoax: and this change is needed for the maas SRU that's already been done, or for another upcoming one?
[15:49] <psusi> ok... then bundle it will be
[15:49] <roaksoax> slangasek: for the MAAS SRU (it hasn't yet been released)
[15:50] <slangasek> roaksoax: yes, I'll accept that change
[15:50] <roaksoax> slangasek: ok awesome! I'll get it done then! Thanks!
[15:57] <halfie> In Ubuntu 13.04 hardening is not enabled for LibreOfffice package. Any ideas why?
[15:58] <halfie> Debian seems to have hardening support in LibreOffice package
[16:00] <cjwatson> Sweetsha1k: ^-
[16:07] <roaksoax> slangasek: Uploaded to precise-proposed! Thanks again!
[16:07] <halfie> what is the output of "dpkg-buildflags --get CPPFLAGS" on Ubuntu 13.04 AMD64 system?
[16:11] <cjwatson> halfie: -D_FORTIFY_SOURCE=2 - same as on Debian (wheezy or sid)
[16:16] <halfie> cjwatson, I am talking about PIE and RELRO options
[16:16] <halfie> cjwatson, ohh I see. thanks!
[16:17] <halfie> cjwatson, would you happen to know if PIE and RELRO are enabled in Debian's LibreOffice?
[16:17] <cjwatson> those are in CFLAGS.  I think you may be seeing a change made by the Debian maintainer that became visible to you in Ubuntu first
[16:17] <cjwatson> no
[16:17] <cjwatson> but the revision history kind of suggests the explanation above ...
[16:17] <cjwatson> however, I highlighted Sweetsha1k above who should know better than I do
[16:27] <Daviey> infinity: funnily enough, i am looking at python-testtools already.
[16:28] <ricotz> jamespage, hi :), it would be great if you could look into updating libunwind -- https://launchpad.net/~ricotz/+archive/staging/+sourcepub/3185829/+listing-archive-extra
[16:29] <infinity> Daviey: Huzzah.
[16:30] <infinity> cjwatson: So, now that we have component-mismatches-proposed (and it APPEARS to be accurate), just how much pain do you think it would be to make britney's installability checks take component into account, so we avoid pre-MIR migrations?
[16:31] <infinity> cjwatson: I fear the brute force method would be multiple britney runs at each level of the ogre model, but there must be a more clever way.
[16:31] <Daviey> infinity: python-testtools dropped from main as it became unseeded, but based on bug 1108897 i am going to change it now.
[16:31] <Daviey> err, python-extras
[16:32] <infinity> Daviey: Oh, shiny, I didn't realize it had been previously MIRed.
[16:32] <infinity> Daviey: component-mismatches might need to look for fix released MIR bugs too...
[16:33] <infinity> Daviey: I suspect the new puppet deps might be slightly less simple.
[16:34] <Daviey> infinity: I probably can't make that a priority this week, with the sprint and all.. but will certainly file a holding bug.
[16:35] <infinity> Daviey: Sure.  Or just find one of your minions who looks bored and make them do a bit of MIR paperwork. ;)
[16:36] <Daviey> infinity: Team Coca doesn't get bored. :)
[16:36] <infinity> Daviey: Did you already promote python-extras?  If not, I'll do it right now.
[16:36] <Daviey> infinity: i did
[16:37] <infinity> Hrm, weird.  I don't see the pending publishing record.
[16:38] <Daviey> infinity: hmm, best wait a little?  changing twice in one publisher run is bad, right?
[16:38] <infinity> Only in weird corner cases.
[16:38] <infinity> But yeah, I'll wait and tidy up later if something went sideways.
[16:38] <infinity> Don't worry about it.
[17:15] <halfie> which package provides "dpkg-buildflags"? Installing dkpg-dev didn't do any good
[17:16] <geofft> a newer version of dpkg-dev. :)
[17:16] <zerwas> halfie: you can always check which file is in which package on which distribution version on http://packages.ubuntu.com/
[17:18] <halfie> zerwas, thanks!
[17:18] <halfie> geofft, I am using the latest version of dpkg-dev
[17:19] <geofft> are you running an old release? it's new as of 1.15.7, which postdates e.g. lucid
[17:22] <halfie> gema, I am running 13.04 which was just released
[17:22] <halfie> I will reinstall the package. might help
[17:22] <infinity> halfie: /usr/bin/dpkg-buildflags is shipped in dpkg-dev, what is the actual error you're seeing?
[17:24] <halfie> infinity, trying to reinstall that package. dpkg-buildflags file is missing.
[17:25] <infinity> As in "ls /usr/bin/dpkg-buildflags" returns "No such file or directory", or some higher level error (in, say, a Makefile) is making you believe it's not there?
[17:25] <sarnold> halfie: you may wish to instead pastebin the -actual- error you're getting..
[17:25] <infinity> I mean, I suppose it's possible you accidentally deleted it, but that seems pretty unlikely in the general case. :P
[17:27] <halfie> figured out the problem, "sudo aptitude install dpkg-dev" says that it failed to download one specific package (g++) but still aptitude proceeds with unpacking and setting up files.
[17:27] <halfie> it should have quit right away
[17:28] <infinity> Yet another nail in the "why use aptitude?" coffin.
[17:29] <halfie> heh, that is the first thing i install :( old habits
[17:29] <infinity> apt-get's resolver tends to be saner these days.  I can't actually come up with a good reason for aptitude.
[17:29] <infinity> But everyone has their preferences.
[17:29] <geofft> I use aptitude to get a more verbose error message out of dependency resolution than apt-get is willing to give me.
[17:30] <geofft> Also search syntax.
[17:30] <infinity> Yeah, well, I suspect many people would discount my opinion straight up because I still prefer dselect over aptitude (though I don't use either anymore).
[17:30] <halfie> geofft, +1 I use it for search feature
[17:30] <sarnold> dselect? eww :)
[17:31] <geofft> dselect still _works_?
[17:31] <sarnold> I'd be surprised if anything changed to break it. hehe.
[17:33] <infinity> dselect may not be entirely multiarch friendly, but then again, aptitude's still lacking in that area too, in some ways.
[17:34] <infinity> On single-arch systems, dselect still resolves more sanely and makes me less sad than aptitude.
[17:34] <infinity> (But, like I said, I don't use either anymore, I've come to terms with reading apt-get/apt-cache output)
[18:07] <doko> apw, your fix for the linux-mako issue is building. would be worth to know if current arm kernels are functional when built with 4.8
[18:07] <apw> doko, thanks, yeah that is on my list to check
[18:20] <mterry> pitti, is logind's Lock() method supposed to work?
[18:21] <mterry> I try to poke it via d-feet and I get an AccessDenied error
[18:25] <mterry> (I mean, obviously it is supposed to work, just curious if it's a known problem)
[18:28] <doko> xnox, you might want to give some insight about build failures for debian #704032
[18:49] <infinity> doko: That gcc-4.8 upload included the dropped locales build-dep.  You might want to remember to turn that back on.
[18:56] <kenvandine> @pilot in
[20:26] <stokachu> cjwatson: is there any plans in the near future to enable grub-installer support for grub's cryptodisk?
[20:28] <stokachu> ref: bug 1062623
[20:29] <roaksoax> 4/win 8
[21:11] <evfool> hi all, on a normal ubuntu install, what should set the DISPLAY environment variable for unity?
[21:12] <evfool> I have a problem of unity not starting by default on 13.10, I have to get to another tty and start it manually, and it complains that DISPLAY is not set
[21:12] <sarnold> evfool: :0 on my laptop, though local configuration may cause it to be different.. (say, start several X servers..)
[21:13] <evfool> sarnold: I know that :0 should be the value, but whose responsibility is to set it? should it be set by lightdm?
[21:16] <sarnold> evfool: lightdm seems likely to me, but I'm not positive
[21:17] <evfool> robert_ancell, could you please help us out with this?
[21:22] <roaksoax> 3/win 8
[22:08] <branchman2> hello, could someone post me contents of his /proc/modules file? (I wonder, whether it is correct to have so many forced modules)
[22:09] <sarnold> branchman2: http://paste.ubuntu.com/5646071/
[22:09] <infinity> branchman2: They're not forced, they're loaded by udev based on what hardware you have and what services/filesystems/etc get requested from userspace.
[22:10]  * sarnold idly wonders why he has xfs and btrfs modules loaded...
[22:10] <infinity> sarnold: Dunno.  I don't.
[22:11] <branchman2> sarnold: thanks, it is exactly like for me - that (F) means forced loading
[22:11] <branchman2> sarnold: I have it too, somehow
[22:12] <infinity> In fact, you have a ton of filesytem modules loaded.  Curious.
[22:12] <branchman2> infinity: yes, but should they get (F) there? It is like insmod --force, that can cause problems with compatibility
[22:12] <sarnold> infinity: hrm. I may need to look into this non-idly at some point :) that could be a fair bit of unswappable memory on a more constrained system than mine..
[22:12] <infinity> Ran some sort of prober that loaded them all?
[22:12] <sarnold> infinity: I did plug my sony reader into usb a few weeks back, perhaps something probed those devices for all the filesystems?
[22:13] <branchman2> sarnold: it is not about device - I have plugged no USB devices since boot and I have that modules too
[22:13] <roaksoax> ./win 8
[22:13] <geofft> grub-install probes a bunch of filesystem modules.
[22:14] <infinity> branchman2: I'm not sure that F means what you think it means.
[22:14] <infinity> branchman2: I'd have to dig into the source, but I can't fathom that it means anything was force-loaded.
[22:15] <branchman2> infinity: what it means, then? I am just finding a reason, why it writes me, that kernel is tainted - and I have some oopses and friend advised me to get rid of that tainted flag caused by forcibly loaded modules (I have empty /etc/modules)
[22:16] <geofft> Anything that taints the kernel should print a message indicating what it was, IIRC.
[22:16] <geofft> what are your taint flags?
[22:16] <infinity> branchman2: Taint has nothing to do with forced loading, it has to do with licenses of modules.  fglrx, nvidia, etc.
[22:16] <branchman2> geofft: GF
[22:17] <geofft> Ah, that _is_ all-GPL'd modules plus forced loading, okay
[22:17] <branchman2> infinity: according to manual, F tainted flag really means forced loading
[22:17] <geofft> infinity: Taint is a lot of things. Usually the taint I see is the "dead" flag (previously oopsed)
[22:18] <infinity> Erm, it also doesn't help that we taint pretty much the world due to not signing modules now.  Whose bright idea was that, I wonder?
[22:19] <branchman2> infinity: sorry, do you request more info? I don't understand such clearly
[22:19] <infinity> See http://lkml.indiana.edu/hypermail/linux/kernel/1301.2/00125.html
[22:20] <infinity> branchman2: See above.  Your taint and (F) is coming from us not signing modules (and not requiring them to be).
[22:20] <infinity> This is a pretty questionable upstream behaviour, IMO.
[22:21] <branchman2> infinity: oh, I see - it is *very* questionable
[22:21] <branchman2> infinity: thanks for noting it
[22:22] <infinity> apw: Have any opinions on that?
[22:23] <infinity> apw: Thanks to us not enforcing or requiring module signatures, half the world is given a TAINT_FORCE flag.
[22:23] <infinity> apw: Which is, I suppose, not world-ending, but confusing and a bit wrong, IMO.
[22:56] <kenvandine> @pilot out
[23:11] <cjwatson> stokachu: it's an excellent idea but I don't know when I'll have time for it
[23:16] <stokachu> cjwatson: not a problem just wanted to make sure it wasn't already done and i missed it somewhere
[23:17] <cjwatson> I think there may still be a patch in grub2 itself that I need to drop (and test the result) too
[23:17] <cjwatson> mkconfig_skip_dmcrypt.patch
[23:17] <cjwatson> At the very least it probably wants to be a bit smarter nowadays
[23:18] <stokachu> yea seems like there are a few moving parts to this working properly
[23:19] <stokachu> i think infinity said he wanted to re-write grub-installer in perl to make it "smarter" :PPP
[23:20] <cjwatson> That would be quite a feat considering that it runs in d-i which doesn't have perl.
[23:20] <stokachu> perl doesnt need perl to run :X
[23:21] <cjwatson> Anyway one of these days I'll probably decide it's time to drop GRUB Legacy support from grub-installer (I've been opposed to that in the past, but times change ...), which will get rid of the worst of its complexity.
[23:21] <stokachu> ah ok
[23:23] <stokachu> cjwatson: last question, would it be safe to assume this type of feature is a no-go for precise if requested
[23:23] <cjwatson> (Hmm.  There's still a claim that multipath requires legacy.)
[23:24] <cjwatson> stokachu: Definitely, given that precise's grub2 didn't have cryptodisk support.
[23:24] <cjwatson> That would be an unacceptably enormous backport, I think.
[23:25] <stokachu> understood, this gives me a better idea to handle a few requests :)
[23:25] <infinity> pitti: Say, remember when we had a conversation long ago about making ddebs be empty packages that depend on -dbg packages, for sources where the -dbg package (or packages) is/are fully populated?
[23:25] <infinity> pitti: That might not be a bad idea now that we're about to stuff ddebs in the librarian.
[23:26] <cjwatson> Even the initial basic support was a 4000+-line patch, and that's without looking at any extra commits it would depend on or the further improvements that have been applied since.
[23:27] <cjwatson> (It wouldn't surprise me if it depended on lazy device scanning, for example, which is complex and intrusive.)
[23:27] <stokachu> wow
[23:28] <infinity> It's funny how quickly one goes from learning about a feature in software to deciding it needs fixing.
[23:28] <stokachu> yea im going to be pretty firm on these feature requests
[23:29] <infinity> (Last Monday, I didn't even know that lesspipe handled debs, today I realized it doesn't do ddebs and *had* to fix it... Stupid OCD)
[23:46]  * infinity giggles at update_excuses today:
[23:46] <infinity> Depends: rainbows unicorn (not considered)