[04:44] <pitti> Good morning
[04:45] <pitti> infinity: I don't think they were
[04:45] <pitti> infinity: I checked the upload log, and there was just one package that it tried to upload to ppa.launchpad.net, failed with "connection refused", and then it stopped
[04:46] <pitti> nothing else
[04:46] <pitti> infinity: the log timestamps coincide with the failed upload log at least
[04:46] <pitti> WTF??
[04:47]  * pitti mass-rejects
[04:49] <pitti> infinity: so this remains a complete and utter mystery to me; PPA upload seems broken again (firewall changes?), but then the script should (and according to the log, did) break, not upload to other places
[04:56] <pitti> infinity: oooh *headdeask* I know what happened
[04:59] <pitti> infinity: I guess the next time it auto-uploaded quantal packages, the failed list of precise/lucid packages were still in "updated-packages" (the file with the upload list), and so it uploaded those along
[04:59] <pitti> I'm not sure how that dodged the "if test -s updated-packages; then exit 1" command, though
[05:00] <StevenK> test -s updated-packages && exit 1 ? :-)
[05:00] <pitti> well, there's an echo in between as well
[05:00] <pitti> StevenK: but that should essentially be the same?
[05:01]  * pitti asks IS for fixing firewall rules
[05:01] <StevenK> pitti: Yeah, that's why I suggested it, it avoids an if, but since there's an echo there's no point.
[05:05] <pitti> aah, I know
[05:05]  * pitti fixes
[06:57] <dholbach> good morning
[07:13] <jamespage> morning all
[07:46] <tjaalton> i've forgot again.. how to disable multiarch on quantal? just getting rid of /etc/dpkg/dpkg.cfg.d/multiarch isn't enough
[07:46] <tjaalton> not that useful on chroots
[07:47] <tjaalton> at least when not mirroring i386 locally, making sbuild-update fail
[08:31] <jodh> /whois Daviey Daviey
[08:31] <jodh>  
[08:32] <jodh> @pilot in
[09:33] <ev> mpt: we're getting kernel crashes sent to daisy.ubuntu.com. I know this because the code mistakenly attempts to insert their very large core files into Cassandra.
[09:34] <mpt> ev, that's a problem then, because (as far as I could tell from the code) the UI for that class of error doesn't exist, so whatever UI is being used to send them is bound to be confusing.
[09:35] <mpt> (doesn't exist yet, anyway)
[09:35] <ev> KernelCrash?
[09:35] <mpt> Hm, did I just read it and then completely forget it existed? :-]
[09:36]  * mpt looks again
[09:39] <mpt> ev, it calls get_system_application_title(), which shows "Sorry, Ubuntu has experienced an internal error." I guess that's strictly accurate, but not the intended text. <https://wiki.ubuntu.com/ErrorTracker#kernel-oops>
[09:41] <ev> indeed
[09:41] <ev> mind that we're only seeing these a few times a day
[09:41] <ev> and we don't have the ability to retrace them yet
[09:42] <ev> (lp:apport, bin/apport-retrace:354)
[09:42] <ev> that's not to say we shouldn't fix the dialog
[09:44] <mpt> Sure, though fixing bug 1033902 would be much more important if it happens much more often
[09:44] <ev> yeah, definitely
[09:45] <mpt> Annoying that that missed UI Freeze
[09:45] <mpt> ev, so do you think we're getting only a small percentage of kernel crashes from typically-reporting machines? "A few times a day" might actually be right, compared with (for example) 173/day for the current #1.
[09:46] <ev> I think so. If you look at https://errors.ubuntu.com/oops-local, any exception with MaximumRetryException is likely a kernel crash.
[09:49] <cjwatson> slangasek: A ucf prompt that isn't actually displayed to you seems like it must be a package management bug rather than a bug in the package
[09:51] <ev> mpt: I'll silently drop them at daisy.ubuntu.com and increment a counter for the day period so we at least know how many we would be getting
[09:55] <cjwatson> tjaalton: dpkg --remove-architecture i386
[09:57] <cjwatson> @pilot in
[10:02] <mpt> ev, there are four bugs apparently reducing the proportion of kernel errors reported: bug 401370, bug 480421, bug 527026, and bug 624562.
[10:03] <mpt> and I just reported bug 1051891 about the UI text.
[10:04] <ev> mpt: to be clear, kernel crashes and kernel oops are different
[10:04] <ev> the former is when you get a full kernel panic and it dumps its brain into a file (if it even can)
[10:04] <ev> the latter is a sort of recoverable error
[10:04] <ev> things keep chugging along and you get an OOPS! in the syslog
[10:05] <mpt> Ok ... they're treated the same in apport-gtk currently.
[10:05] <mpt> So, an oops *should* have the "Ubuntu just had an internal error" text, then
[10:05] <mpt> it's only a crash that shouldn't
[10:05] <ev> yes, I reckon
[10:05] <mpt> ?
[10:05] <ev> correct
[10:06] <ev> at least that's my understanding
[10:07] <mpt> updated the bug report
[10:10] <mpt> fixed the specification too <https://wiki.ubuntu.com/ErrorTracker?action=diff&rev2=97&rev1=95>
[10:14] <tjaalton> cjwatson: thanks, found it on the debin wiki too, added to the askubuntu question
[10:54] <didrocks> xnox: hey, is ubiquity still in gtk2 or using pygi?
[10:55] <xnox> didrocks: it's using pygi & python3
[10:55] <akheron> cjwatson: currently installing quantal beta 1 to another machine from exactly the same usb stick, and seems to work great
[10:55] <cjwatson> akheron: ok, I still have a task for today to investigate it though
[10:55] <akheron> cjwatson: fwiw, I had to use the nomodeset kernel option with the first one
[10:55] <xnox> didrocks: some elements do not use width-for-height widgets, e.g. there are GtkBox here and there.
[10:55] <cjwatson> nomodeset -> not my problem
[10:55] <akheron> with the machine that fails
[10:55] <akheron> ok
[10:56] <cjwatson> akheron: I didn't mean to say that the name server was broken, BTW, only that something had gone wrong with resolver configuration within the target chroot
[10:56] <didrocks> xnox: hum, ok, I'm wondering about bug #1049215 as gnome-bluetooth stacktrace is about using pygi as well
[10:56] <cjwatson> This is a plausible enough failure mode, sadly
[10:56] <didrocks> not sure what imported gobject
[10:56] <akheron> cjwatson: yeah
[10:56] <cjwatson> didrocks: ubiquity doesn't even support python2 any more
[10:57] <cjwatson> didrocks: but if it's calling some external process which uses python2, that's a different mattere
[10:57] <cjwatson> -e
[10:57] <cjwatson> yeah, bluetooth-applet
[10:57] <didrocks> cjwatson: I guess it's the case
[10:57] <cjwatson> nowt to do with ubiquity
[10:57] <cjwatson> it's pretty obvious from the traceback :)
[10:57] <didrocks> cjwatson: hum? bluetooth-applet is using pygi
[10:57] <didrocks>     from gi.repository import GObject
[10:57] <didrocks> ?
[10:58] <cjwatson> Wait, that's actually ubiquity's substitute bluetooth-agent
[10:58] <xnox> hmmm.... I totally missed that....
[10:59] <pitti> didrocks: I usually sudo vi /usr/share/pyshared/gobject/constants.py and do something like raise TypeError("not static")
[10:59] <didrocks> cjwatson: you lost me :)
[10:59] <pitti> this will give a proper backtrace which sub-sub-submodule imports the static bindings
[10:59] <cjwatson> didrocks: I lost myself for a bit
[10:59] <xnox> didrocks: ubiquity-dm fakes a desktop session and half of indicators to provide "ubuntu style session" which only shows ubiquity =)
[11:00] <xnox> but I didn't think bluetooth was one of them.
[11:01] <cjwatson> I can run the imports at the top of ubiquity-bluetooth-agent without any problem though
[11:01] <cjwatson> Puzzling.  Anyway I should get back to piloting ...
[11:02] <didrocks> xnox: cjwatson: I confirm gnome-bluetooth is using pygi
[11:02] <didrocks> xnox: did you reproduce it?
[11:02] <pitti> I've seen this strange EOFError on a totally different context recently (in a bug report); I think doko attributed it to mis-installation
[11:02] <pitti> bug 1029683
[11:02] <didrocks> xnox: if so, you can do what pitti is telling to know which component is the guilty one :)
[11:02] <xnox> didrocks: if you cannot reproduce, maybe something else happened, e.g. somebody yanked their installation media hence that file was actually empty / EOF =)
[11:03] <didrocks> possibly
[11:03] <doko> pitti, wasn't this one where the reporter even did say that the machine was hanging?
[11:03] <pitti> but as that's the third report in a few days, I'm beginning to become suspicious
[11:03] <cjwatson> didrocks: gnome-bluetooth is irrelevant
[11:03] <pitti> perhaps something does create zero-byte files somewhere
[11:03]  * didrocks retarget on xnox's plate then :)
[11:03] <cjwatson> didrocks: casper dpkg-diverts away the bluetooth-agent from gnome-bluetooth, and replaces it with a symlink to ubiquity-bluetooth-agent
[11:03] <pitti> doko: no, not this one; there might be more dupes, though
[11:04] <didrocks> cjwatson: ah ok, so the /usr/bin/ is not the one we can expect, thanks for the info :)
[11:04] <cjwatson> tumbleweed: looking at bug 1049343 and slightly puzzled by it being a sync - doesn't the reporter say there's a patch to be reapplied?  and he seems to be right
[11:05] <xnox> didrocks: ok ;-)(
[11:05] <xnox> didrocks: ok ;-)
[11:05] <tumbleweed> cjwatson: ah, whoops, I forgot about that
[11:06] <tumbleweed> cjwatson: I did ask him on IRC to prepare the patch, a week ago, and clearly he hasn't
[11:06] <tumbleweed> (and today, I just saw that it built, and remembered that it had seemed reasonable)
[11:07] <xnox> didrocks: looking at the code, there were GObject vs Gobject typos fixed in the past, maybe this is a bug report from an acient image?!
[11:07] <didrocks> xnox: hum, I think you would get an import error and not this "library mixture" error one (pygtk was gobject, not Gobject)
[11:08] <cjwatson> xnox: the report makes the image version clear
[11:09] <xnox> didrocks: cjwatson: yeah, it's a recent image and the import is the correct gi one GObject.
[11:45] <didrocks> hum, seems I can't nominate for Quantal anymore? https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1045845/+nominate
[11:45] <cjwatson> didrocks: screenshot?
[11:46] <ogra_> hmm, same for me with that link
[11:47] <ogra_> nothing between the precise and r-series checkboxes
[11:47] <didrocks> right, same
[11:47] <didrocks> cjwatson: do you still want a screenshot?
[11:47] <cjwatson> Yes.
[11:47] <cjwatson> Oh, wait, I see what you mean.  No.
[11:48] <didrocks> ok :)
[11:48] <cjwatson> You can't nominate for quantal because apparently it was already nominated for quantal and that bug task was then deleted.
[11:48] <cjwatson> https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1045845/+activity
[11:48] <didrocks> cjwatson: oh interested, I didn't know about that feature :)
[11:48] <ogra_> http://people.canonical.com/~ogra/quantal.png
[11:49] <ogra_> oh,. wow
[11:49] <cjwatson> You'll find you can nominate other bugs just fine.
[11:49] <didrocks> ok, but I guess jamespage just nominated them by error and then reverted
[11:49] <cjwatson> It's arguably a Launchpad bug that you can't re-nominate, so please make sure that's filed.
[11:49] <cjwatson> Well, re-target.
[11:49] <didrocks> but no way to give it back then?
[11:49] <cjwatson> Not that I can see.
[11:49] <cjwatson> Please file an LP bug.
[11:49] <didrocks> cjwatson: will do, thanks :)
[11:50] <jamespage> didrocks, gah - sorry - I was not aware of that bug
[11:50] <didrocks> jamespage: well, I wasn't as well :)
[11:53] <didrocks> bug #1051918
[12:10] <melodie> hi
[12:10] <melodie> can someone help me understanding a piece of bash in a cron daily script ? it's related to the permissions on a file
[12:11] <melodie> it's about this version of mlocate : http://packages.ubuntu.com/precise/mlocate
[12:12] <cjwatson> Sure.  What don't you understand?
[12:13] <melodie> hi cjwatson : I would like to know if the file /usr/bin/updatedb.mlocate is supposed to be executable. is it, or is it not ? and is the cron supposed to make it executable "on the fly" ?
[12:13] <geser> it should be executable (at least it's here)
[12:14] <melodie> it's lines number 3 to 5 whic make me think so: http://pastebin.com/N2CWL1TR
[12:14] <cjwatson> melodie: It's shipped executable in the package.
[12:14] <cjwatson> melodie: There is no reason the cron script should need to change its permissions.
[12:14] <melodie> cjwatson, ok, I thank you.
[12:14] <melodie> geser, thank you too
[12:14] <cjwatson> The -x test there is really just "is it there", actually.  -f would have been fine too but -x is a bit more exact.
[12:14] <melodie> all right
[12:15] <cjwatson> (Or -e, for that matter.)
[12:15] <cjwatson> But it's correct as it is.
[12:15] <melodie> is this package issued from Debian sid, or Debian testing ? in testing they have the same version number, but I am unable to find how the permissions are setup in the package (which bugs me)
[12:16] <cjwatson> It doesn't matter where it came from.  Testing comes from unstable.
[12:16] <geser> melodie: as you can remove the package (but leave the configuration files installed incl. the cron-snippet), the cron-snippet has to check if the binary is still there
[12:16] <cjwatson> I expect that the permissions are not explicitly set up at all.  The compiler will emit binaries as executable right from the start.
[12:16] <melodie> oh ! I see !
[12:17] <cjwatson> There's no need to override permissions explicitly when they're correct already.
[12:18] <melodie> cjwatson, so if the permissions are not right, it can be the fault of the configurations done in the compiler ?
[12:23] <Laney> Most packages will run the dh_fixperms program during building which does some normalisation of permissions and owners (by default).
[12:24] <cjwatson> melodie: Are the permissions wrong, or is this theoretical?
[12:24] <cjwatson> melodie: In fifteen years of working on Unix I have never seen the compiler get this wrong, so I don't think the theoretical point is interesting.
[12:25] <melodie> cjwatson, the permissions are wrong in my virtualbox machine. Your information allowed me to eliminate a possible source for this issue. the guilty one is the vbox machine.
[12:25] <cjwatson> melodie: Is this an environment that has been upgraded from some earlier version?
[12:25] <cjwatson> And does reinstalling the mlocate package fix it?
[12:25] <melodie> the original system has the right permissions. the spin has wrong permissions
[12:26] <cjwatson> "spin"?
[12:26] <melodie> a remix if you prefer
[12:26] <cjwatson> I still don't know what you're talking about :)
[12:26] <cjwatson> *Which* remix?
[12:26] <melodie> a project I am training on in a vbox machine. :)
[12:27] <cjwatson> Does reinstalling the mlocate package fix it?
[12:27] <melodie> nothing very important but I was wondering if there was a bug somewhere
[12:27] <melodie> cjwatson, this could be, I am going to check.
[12:27] <cjwatson> I expect this is a bug in the remix's image build process.
[12:28] <melodie> I think it can also come from something in the virtualbox machine. I am not hundred percent sure that using it for remix is a good idea
[12:29] <melodie> cjwatson, reinstalling does fix the issue. thank you !
[12:30] <geser> cjwatson: got the embedded image of grub2 bigger with the recent package upload? because I got hit by bug #1051154 with the recent updated (it worked till now with RAID and LVM)
[12:31] <cjwatson> geser: wouldn't be surprising.  I'll look later
[12:31] <cjwatson> geser: may not be terribly fixable
[12:31] <cjwatson> 62 sectors is very little space to fit anything useful in ...
[12:32] <cjwatson> wait, "embedding area is unusually small" means there's even less than 62 sectors
[12:33] <cjwatson> I wonder if that's lying, since it doesn't match the fdisk output there
[12:33] <cjwatson> anyway, must finish piloting first.
[12:35] <geser> I can add my fdisk output too to that bug later (if it helps)
[12:36] <cjwatson> sure
[12:39] <alkisg1> cjwatson: re: LP bug #978654, I believe the correct thing to do there is to leave the .decode() call for as long as pkcompat.py is python2 (i.e. 12.04/12.10). When it's ported to python 3, that change should be reverted.
[12:40] <alkisg1> cjwatson: it's not the only call to dbus.String(), and I don't think we want to change all the calls to include the decode() + the guard if...
[12:43] <jodh> @pilot out
[12:45] <cjwatson> alkisg1: No, I disagree.  Leaving timebombs around for ourselves is unwise.
[12:45] <cjwatson> alkisg1: The guard I suggested is safe in Python 2 as well.
[12:45] <cjwatson> alkisg1: Unless pkcompat will *never* be ported to Python 3.
[12:45] <alkisg1> cjwatson: there are multiple dbus.String() calls in the code, a wrapper function for dbus.String() should probably be defined then
[12:45] <cjwatson> In fact, there is already a python3-aptdaemon.pkcompat package.
[12:46] <alkisg1> cjwatson: my idea is that when it's ported to python3, decode() won't be needed, so it should only be there until it is
[12:46] <cjwatson> So the "it's only Python 2" argument is definitely invalid.
[12:46] <cjwatson> A better counterargument, if you wanted to avoid this, would be to demonstrate that last_update can never be assigned a Unicode string.
[12:46] <cjwatson> But I don't know whether that's true.
[12:47] <alkisg1> So, you'd vote for a call-dbus-string() wrapper for all of the calls?
[12:47] <alkisg1> Or just for this one call?
[12:47] <cjwatson> I don't know enough of the context.  It would depend.
[12:48] <cjwatson> I suggest you look into how these functions are called (i.e. answer my question above).
[12:48] <alkisg1> aptdaemon$ grep -r dbus.String * | wc -l
[12:48] <alkisg1> 109
[12:48] <alkisg1> I think that looking into 109 calls would be too much work
[12:49] <cjwatson> Well, I'm not going to sponsor a change when I'm not convinced it's safe
[12:49] <alkisg1> I.e. some wrapper would be easier. Or, just leave it without a wrapper, since it's more clearly written for python 3, and only fix that one call for the python2 in 12.04/12.10 problem
[12:49] <ogra_> you could train your sed skills with it ;)
[12:49] <cjwatson> But since this is implementing a (presumably) defined interface, why not look into what defines that interface ...
[12:50] <cjwatson> I wouldn't have expected most of those calls to be relevant; many of them may well be operating on always-bytes data
[12:50] <cjwatson> Or, sorry, I mean always-text (Unicode)
[12:50] <cjwatson> As usual with Python 2/3 porting you need to make sure that you know whether each object is binary or text.
[12:51] <alkisg1> So the idea is that the code should be python2 compatible even if it's ported to python3?
[12:52] <alkisg1> What I don't understand is why would we want the decode() functions in a python3 port of the code
[12:52] <cjwatson> We don't want to have to maintain separate Python 2 and 3 versions.
[12:52] <cjwatson> It's a horrendous hassle.
[12:53] <alkisg1> OK, I thought the python2 version wouldn't be developed anymore
[12:53] <cjwatson> For most packages, as long as they still build Python 2 versions, they should be written in code that's compatible with both.
[12:53] <cjwatson> That's not usually how it works.
[12:53] <alkisg1> Gotcha
[12:53] <cjwatson> The Python 2 binary package comes from the same source package as the Python 3 one.
[12:54] <alkisg1> OK, then it's a bigger problem than what I have time for. I can't study someone else's code for 109 occurances of possible time bombs...
[12:54] <alkisg1> Thank you very much for your input, I'll unassign the bug
[12:54] <cjwatson> Looking at the code, it seems clearly possible for this method to receive text input.
[12:55] <cjwatson> alkisg1: I think you're overreacting
[12:55] <cjwatson> alkisg1: You don't need to do any such study
[12:55] <cjwatson> alkisg1: You're proposing a change to this one method, and it may well be that in practice this is the only method where this is a problem
[12:55] <alkisg1> cjwatson: my idea was that this would be a quick patch, and that the person undertaking the python3 port would solve it properly
[12:56] <cjwatson> alkisg1: If written in the style I suggest, this change would be harmless; it might not fix everything, but it would be an improvement
[12:56] <alkisg1> I.e. either make a wrapper function for all dbus.string calls, or fix the ones that need decoding, etc
[12:56] <cjwatson> alkisg1: You seem to be suggesting that no change should be made until it is perfect, which is not usually a wise approach
[12:56] <cjwatson> All I'm saying is that this change should be written in a way that means it's clearly not a regression
[12:57] <cjwatson> I'm not saying you need to audit all those dbus.String calls, at all
[12:57] <alkisg1> Well, currently the script isn't runnable with python3
[12:57] <alkisg1> So it wouldn't be a regression
[12:57] <cjwatson> Which script?
[12:57] <alkisg1> pkcompat.py
[12:57] <cjwatson> The file you're editing is shipped in python3-aptdaemon.pkcompat
[12:58] <cjwatson> It may have '#!/usr/bin/env python' at the top, but it is principally a module to be imported from other programs, not principally a script to be run standalone
[12:58] <cjwatson> So I don't consider the #! line very relevant
[12:59] <alkisg1> OK, I thought it was to be revisited by someone for python3 compatibility
[12:59] <cjwatson> If you run python3 you can then say 'from aptdaemon import pkcompat' and it works
[12:59] <cjwatson> It has already been ported to Python 3
[12:59] <cjwatson> I suspect that in fact the reported problem that you're debugging only exists in Python 2
[13:00] <alkisg1> True, dbus.String() can accept unicode strings in python3
[13:00] <cjwatson> So it's not a lack of port to Python 3, it's (perhaps) a slightly overenthusiastic port, if anything
[13:00] <cjwatson> dbus.String can accept Unicode strings in Python 2
[13:00] <cjwatson> as well
[13:00] <cjwatson> What it can't accept is a Unicode string encoded as bytes
[13:01] <cjwatson> >>> dbus.String(u"é")
[13:01] <cjwatson> dbus.String(u'\xe9')
[13:01] <cjwatson> >>> dbus.String(u"é".encode("UTF-8"))
[13:01] <cjwatson> Traceback (most recent call last):
[13:02] <cjwatson> If you pass bytes to dbus.String() in Python 3, in an odd reversal of the usual situation, it doesn't crash, but it produces incorrect results due to the behaviour of str(bytes):
[13:02] <cjwatson> >>> dbus.String("é")
[13:02] <cjwatson> dbus.String('é')
[13:02] <cjwatson> >>> dbus.String("é".encode("UTF-8"))
[13:02] <cjwatson> dbus.String("b'\\xc3\\xa9'")
[13:03] <cjwatson> So this demonstrates that in both Python 2 and 3 you *must* pass text (Unicode) to dbus.String and it is incorrect in both worlds to do otherwise
[13:03] <alkisg1> Aaah I didn't realize that part
[13:03] <cjwatson> Thus, I'd suggest that perhaps you should be looking further up in the traceback heree
[13:03] <alkisg1> I did say it wrongly above (unicode instead of utf8 strings), but I thought python3 would correctly handle utf8 strings (byte sequences)
[13:04] <cjwatson> i.e. don't change last_package_setter at all - leave its interface as being defined to take Unicode strings only
[13:04] <alkisg1> What I'm saying though, is that someone needs to have a look at all those calls
[13:04] <alkisg1> My only part in this is because students get an apport dialog
[13:04] <cjwatson> For this bug, somebody needs to have a look at *this* call
[13:04] <cjwatson> Please don't let the perfect be the enemy of the good
[13:04] <alkisg1> And instead of disabling apport, I thought I'd invest a few minutes to help there
[13:04] <alkisg1> I understand the problem, and I really think it's a job for the maintainer
[13:05] <cjwatson> It shouldn't need to be
[13:06] <alkisg1> I really thank you for your time, and I'm not avoiding this due only to time constrains. I really feel that it's a bigger problem that I shouldn't tackle. It needs a better solution, and personally I'd go for a wrapper function, to avoid all possible cases at once.
[13:07] <cjwatson> I really don't think that's right
[13:07] <cjwatson> A wrapper function is missing the point
[13:07] <cjwatson> These functions are (implicitly) defined to take Unicode strings only - a wrapper function would be masking bugs elsewhere
[13:07] <cjwatson> In this case, I believe I see the bug
[13:08] <cjwatson> Look in 'def _get_id_from_version'
[13:08] <cjwatson> origin = version.origins[0].label
[13:08] <alkisg1> A wrapper function could log + fix the problems elsewhere
[13:08] <cjwatson> No
[13:08] <cjwatson> I'm not going to pursue that
[13:08] <alkisg1> I.e. have the devs notified without having the users apps breaking
[13:08] <cjwatson> I bet (though I'll check) that version.origins[0].label is bytes, not text
[13:10] <cjwatson> alkisg1: What is the URL for the PPA you used in your example (https://bugs.launchpad.net/ubuntu/+source/aptdaemon/+bug/978654/comments/12)?
[13:10] <alkisg1> cjwatson: https://launchpad.net/~ts.sch.gr/+archive/ppa/+packages
[13:11] <cjwatson> Thanks
[13:13] <alkisg1> We have about 20 papercut-like problems in schools here. E.g. we can't type greek due to lightdm not supporting multiple layouts, we have aptd, colord, apport etc crashes, sshfs problems... we try to help where the fixes are simple, but we don't have time to dive + properly fix all those cases
[13:14] <davmor2> pitti: I'm just wondering if bug #1051951 could be related to bug #952933  but I'm pretty sure I saw you and seb128 say that you would push the fix upstream to debian, it's just it has the exact same symptoms
[13:14] <cjwatson> Sure, you can do whatever you like locally of course, but this is a merge proposal into Ubuntu so I want to do the right thing and not mask bugs
[13:14] <alkisg1> So e.g. for lightdm we're using an /etc/X11/Xkbmap override, and we have to leave the proper fix up to the maintainer, even if it needs more than 1 year now
[13:14] <cjwatson> Especially since it doesn't look too hard to do the right thing here
[13:15] <cjwatson> In fact, add-apt-repository has a similar problem (still :-/)
[13:16] <juliank> cjwatson: Origin's label has Python's standard string type.
[13:17] <cjwatson> Indeed.
[13:17] <cjwatson> So in Python 2 that needs to be encoded if the desired type is in fact text.
[13:25] <doko> tjaalton, yeah for http://people.canonical.com/~ubuntu-archive/nbs.html \o/
[13:25] <doko> what did break the build dependencies?
[13:25] <tjaalton> doko: libglu not accepted yet?
[13:25] <cjwatson> eh, that's transient
[13:25] <tjaalton> it's in NEW I think, mesa dropped it
[13:26] <cjwatson> yeah
[13:26] <cjwatson> doko: feel free to process that in NEW :)
[13:26] <doko> ok, looking at it
[13:26] <juliank> cjwatson: Yes, and placing something like get_dbus_string() in tests/regressions/aptdaemon/core.py into a common module would be useful for fixing this aptdaemon bug. (try: return dbus.String(text), except ...: return dbus.String(text.encode("utf-8"))
[13:27] <cjwatson> juliank: Well, I think the fix in aptdaemon actually belongs several layers up.
[13:29] <doko> tjaalton, all the code was in mesa before?
[13:30] <tjaalton> doko: yes
[13:31] <tjaalton> should be safe to accept
[13:31] <juliank> cjwatson: I don't think it can be fixed on any other level. The fact is that python-apt has a 'str' API, and python-dbus a 'unicode' API. You could change python-dbus to accept utf-8 encoded byte strings, but I don't think this is sensible. You can also change the applications to set the default encoding to UTF-8, which fixes this as well.
[13:31] <tjaalton> packaging was copied straight from it, debian/copyright should be accurate etc :)
[13:32] <cjwatson> juliank: I think you're misunderstanding me.
[13:32] <cjwatson> juliank: The fix in aptdaemon belongs at the point where it retrieves data from python-apt, not in the methods that construct dbus.Strings from values.
[13:33] <cjwatson> juliank: These are several layers apart in the call stack.
[13:33] <cjwatson> juliank: I didn't mean to say that it should not be fixed in aptdaemon; it clearly should.  I meant several layers up *within aptdaemon* from where alkisg1 was suggesting.
[13:34] <doko> accepted
[14:02] <cjwatson> alkisg1: It seems fairly complicated to set up a reproduction environment for this bug.  Would you mind testing http://paste.ubuntu.com/1211094/, which I believe should fix it?
[14:03] <alkisg1> cjwatson: sure, give me a minute to test with the other guy that set up the reproduction environment...
[14:05] <cjwatson> Hah, although python-aptdaemon.pkcompat has actually been removed from quantal
[14:05] <cjwatson> But this won't hurt and will provide a better basis for an SRU
[14:08] <alkisg1> cjwatson: works as expected :)
[14:08] <alkisg1> (tested with python2, precise)
[14:09] <cjwatson> Hooray
[14:11] <cjwatson> alkisg1: Perhaps somebody could add a test case to the bug description, in the form required by https://wiki.ubuntu.com/StableReleaseUpdates?
[14:11] <alkisg1> I can try to
[14:14] <cjwatson> @pilot out
[14:16]  * dholbach hugs cjwatson :)
[14:20] <cjwatson> alkisg1: I've uploaded a fix to precise-proposed, pending approval.  The test case will help that. :-)
[14:20] <alkisg1> cjwatson: ty, /me is still writing... :)
[14:27] <alkisg1> cjwatson: done, as well as I could write those... :)
[14:40] <cjwatson> alkisg1: thans
[14:40] <cjwatson> *thanks
[14:40] <alkisg1> np, thank you too and sorry for not doing it myself the way you pointed
[14:40] <cjwatson> np
[14:41] <alkisg1> I just feel that larger bugs should be handled by the maintainers... /me is probably just getting too old for this... :)
[14:42] <cjwatson> Well, I'm not an aptdaemon maintainer
[14:42] <cjwatson> So unless you're saying I shouldn't have handled it ...
[14:42] <ogra_> age is not an excuse
[14:42] <ogra_> (i think colin is older than you :P )
[14:45] <alkisg1> I surely appreciate that you've handled it, but shouldn't the maintainer have a look at all the other 108 dbus.String() calls?
[14:46] <cjwatson> No, because that's a red herring
[14:46] <cjwatson> The problem is not dbus.String; the problem is the interaction with a different string model in python-apt
[14:47] <cjwatson> And I grepped for other uses of Origin.label, and fixed the one other case of that
[14:48] <doko> bryceh, about 1050674: is this a copy of the existing driver packaging, or are these maintained somehow together?
[14:48] <cjwatson> It's sometimes a mistake to microfocus on the bottom level of the traceback - what you want is for types to be correct all the way through the program
[14:49] <alkisg1> So e.g. "BackendAuthor": dbus.String(__author__), => are we sure that won't be utf8?
[14:49] <cjwatson> Yes, because it is a hardcoded constant!
[14:50] <alkisg1> And  we're sure no e.g. chinese guy will be the author in the next year?
[14:51] <cjwatson> Any future changes will be to the Python 3 code where this won't arise.
[14:51] <cjwatson> Since "..." is a Unicode type in Python 3.
[14:51] <alkisg1> I thought we wanted to maintain a python2 + python3 compatible version
[14:51] <cjwatson> Can you just drop it?
[14:51] <alkisg1> Sure
[14:51] <cjwatson> python-aptdaemon.pkcompat actually no longer exists in quantal.
[14:51] <alkisg1> I don't mean to chat just for the ...fun of it
[14:52] <alkisg1> We both have lots of things to better invest our time in :)
[14:52] <alkisg1> Thank you again.
[14:52] <cjwatson> And the reason I'm not harping on dbus.String is that any problems of that form would be *separate bugs*.
[14:52] <cjwatson> They wouldn't really be the same as this one; they would need to be addressed in entirely separate ways.
[14:52] <cjwatson> I don't think it's worth doing a full audit for that.
[14:53] <cjwatson> This bug isn't really about dbus.String, it's about incorrectly fetching information from python-apt.
[14:53] <cjwatson> So I focused on the general case of that, not on the general case of dbus.String handling.
[14:53] <alkisg1> Much appreciated; let's move on to other matters :)
[14:54] <cjwatson> I don't mean to snap; I just feel you were pushing me about a generalisation of the problem that I don't actually think is the right generalisation to be looking at.  I did look at the generalised version of what I felt was the correct characterisation of the bug.
[14:56] <alkisg1> cjwatson: I honestly have/had etc no hard feelings or anything else bad for you; I also didn't mean to push anywhere etc. I _am_ actually not always understanding the way you (and all ubuntu devs) choose to handle some stuff.
[14:57] <alkisg1> That's probably because after 4 years I'm still not sure where the upstream / distro maintainer / bug triager seperation is, exactly
[14:57] <melodie> hi again
[14:59] <alkisg1> I think after 20 years of being upstream for some programs, it's hard for me to think as a bug reporter / distro maintainer
[14:59] <melodie> I do have a general question. I have tried to follow the "UbuntuFromScratch" howto at the Ubuntu website and I have almost reached the end of it (while building the way it is explained). At the end, I see things that I am almost sure I will not be able to handle without some extra help, either because I don't understand, or because it might be outdated for some parts. Is there a chan where I could get help on making a Remix (from scratch)
[14:59] <melodie>  ?
[15:00] <cjwatson> Well, ideally upstream (who's mostly glatzor) would have addressed this, but since it's mostly a legacy Python 2 matter I decided to just go ahead and fix it and he can pick up the patch if he wants to.
[15:46] <bryceh> doko, the packaging is maintained in the same git tree as the normal driver, on its own branch.  So yes to both.
[15:53]  * Laney is glad that he enjoys playing whack a mole on broken fontconfig configuration files
[15:58]  * ogra_ wonders why such a little script http://paste.ubuntu.com/1211296/ actually reserves 3MB when running it 
[15:58] <ogra_> gtk2-perl clearly got bloated since i looked last
[16:45] <infinity> pitti: So, I assume you rejected all those lucid uploads?
[16:46] <infinity> pitti: If so, you missed the ones in NEW.
[16:46]  * infinity finds the others in the rejected queue and confirms before dumping the new ones too.
[17:47] <blackbug> I have a fix for a bug, how can I submit?
[17:47] <xnox> blackbug: attach a patch to that bug?!
[17:52] <blackbug> xnox: sorry, i am doing this first time on ubuntu. By path you mean, tarball of the package in which i have fixed? or in some other form?
[17:52] <blackbug> i mean patch*
[17:54] <xnox> blackbug: by patch I mean: $ diff -r -U 4 original-dir/ modified-dir/
[17:54] <xnox> blackbug: google for "how to create a patch", or google for "how to create a merge proposal"
[17:55] <blackbug> xnox: thanks, i will google for the same. As of now, i have created branch using lp and did my changes over that.
[17:55] <xnox> blackbug: great
[17:55] <xnox> blackbug: $ bzr diff --old lp:ubuntu/package
[17:55] <xnox> will make a patch
[17:56] <xnox> blackbug: or simply go to your branch web page and click "Propose a merge"
[17:57] <blackbug> xnox: Thanks for the guidance :) . I will do as suggested.
[18:00] <cjwatson> -U 4?  Weirdo. :-)
[18:06] <blackbug> xnox: just 1 last question, after running bzr diff --old lp:ubuntu/package i got the differences on the console. So, I need to redirect them to a file or some patch file is created somewhere? ( posting again, as I got disconnected )
[18:09] <cjwatson> blackbug: redirect
[18:10] <cjwatson> it's a straightforward Unix command, it outputs to standard output by default :)
[18:11] <blackbug> cjwatson: Thanks, I will redirect. I thought may be its creates some compress file in background, and also shows output on console :). Thanks :)
[18:11] <cjwatson> No.
[18:34] <sbeattie> doko: so one issue I'm noticing with openjdk-7/precise is that update-manager doesn't want to install it because it needs to remove icedtea-7-jre-cacao, which got pulled in by default because openjdk-7-jre-headless used to recommend it.
[18:36] <blackbug> cjwatson: one more question......i redirected the output to text file. When i tried to upload it as patch on launchpad, it displayed "Attachment, doesnt seem to be a patch file, Are you sure its patch?". So, everything is cool or I need to change the format?
[18:45] <jdstrand> @pilot in
[19:39] <slangasek> cjwatson: yep, found where the prompt went and filed a bug on u-m
[19:59] <pitti> infinity: ah, forgot the NEW ones, indeed; but they should be rejected either way; thanks!
[21:24] <doko> sbeattie, what do you suggest? adding a conflict?
[22:15] <sbeattie> doko: I *think* we need an empty stub icedtea-7-jre-cacao package (for precise only), but perhaps slangasek has a better idea?
[22:35] <jdstrand> @pilot out
[23:00] <StevenK> RAOF: Using Do's MPD plugin makes my computer sad
[23:00] <RAOF> StevenK: In what way sad?
[23:01] <StevenK> RAOF: Every action creates a zombie mpc process
[23:01] <ogra_> resident evil Do
[23:01] <RAOF> StevenK: Ah, yeah.
[23:02] <RAOF> StevenK: That's actually a mono bug I should track down.
[23:02] <StevenK> RAOF: Yeah, I got annoyed enough to read the plugin code
[23:03] <StevenK> When I found the process code and found it looked suspiciously like the example code on microsoft's site, I figured it was probably lower down the stack.
[23:03] <RAOF> Yeah. Something in the BCL isn't waiting properly on the child.