/srv/irclogs.ubuntu.com/2013/02/16/#ubuntu-devel.txt

cjwatsonslangasek: mind if I sort out bug 1087843 for raring?00:00
ubottubug 1087843 in shim-signed (Ubuntu Raring) "[MIR] secureboot-db" [Undecided,New] https://launchpad.net/bugs/108784300:00
cjwatsonJust an added Recommends00:00
slangasekcjwatson: be my guest00:01
cjwatsondone, thanks00:03
=== wedgwood is now known as wedgwood_away
psusihrm.. looks like ntfs-3g has ABI upstream ABI breakage01:03
* YokoZar1 has been finding a lot of edge cases where apt's resolver is wrong01:20
YokoZar1This is slightly blowing my mind01:20
psusiYokoZar1, oh?01:35
psusiI spent today getting pissed at dpkg and it's slowness and trying to figure out debootstrap, and cdebootstrap, and patching them to use libeatmydata to get around the dpkg brokenness that the dpkg maintainers refuse to fix01:36
psusidrives me nuts to see installs and upgrades spend several seconds on each of many very small packages, and constantly rebuilding initramfses and other things, many times over and over01:37
TheMusoI thought initramfs rebuilding was taken care of by a trigger...01:38
sarnoldheh, at first I thought, "go try rpm for a change", but I'm pretty sure I've seen rebuilding initramfs twice in an upgrade before too...01:38
psusiTheMuso, yea. and you would think that the introduction of triggers would have fixed it so it only gets rebuilt once, but it doesn't!01:39
psusiI must normally see it 6 or 8 or 10 times in a dist-upgrade, I swear01:40
penguin42yeh that really annoys me when doing cleanups - like removing 20 old kernels and seeing it rebuild for each damn one01:40
psusiI found today that using libeatmydata makes a bare bones debootstrap time drop from 9m to 1m01:41
penguin42psusi: That on spinning rust or ssd?01:41
psusiraid5 array of spinning rust01:41
penguin42yeh, it's a heck of a lot different on SSD01:41
psusidpkg really abuses the hell out of fsync and friends these days and it's absurd to watch it spend 1+ second on each of two dozen packages that are each under 100k in size01:42
penguin42psusi: Conversely it's a heck of a lot worse on something like an SD card01:42
penguin42yeh01:42
psusiyea, but it's also putting a lot of wear and tear on your ssd which has limited write cycles01:42
penguin42yeh, on an ssd it's not too bad, on the simpler SD cards they don't last a year01:42
psusiI think dpkg syncs like 6 times per package, which is absurd01:43
penguin42nod01:44
sarnolda full sync(2)?01:44
sarnoldor fsync()?01:44
penguin42psusi: It's not the only thing though; firefox is insane as well - try running a live slow-write USB stick image and firefox, it crawls because of it's sync's01:44
psusino, it tries to keep it limited with fsync or sync_memory_range, but still, it blocks until disk buffers, stripe caches, journals, hardware write caches, etc are all flushed01:44
psusioh yea.. that also keeps laptop drives from sleeping01:45
penguin42which ends up blocking some entirely irrelevant read that means your GUI grinds to a crawl01:45
cjwatsonYou should get mad at the filesystems that made all this necessary; dpkg didn't introduce any of this until compelled01:46
cjwatsonThis is all pretty clear if you check the history01:46
psusithat's not quite true.. it got worse because of the issue uncovered in ext401:46
psusibut it was always fairly bad01:46
cjwatsonIf that was so, it wasn't due to sync01:46
sarnoldcjwatson: that's tytso's fault, right? :)01:47
psusiiirc, it always fsynced the status file after every package status change, so for each package, it unpacks, writes unpacked status, fsyncs status file, then configures, writes status, fsyncs status again01:47
psusibut it got worse with ext4 because it was using rename to atomically replace the old file with the new on upgrade, and in the case of ext4, it can commit the rename prior to the new file actually hitting the disk01:48
psusiand ttyso thinks this is not a bug and told dpkg maintainers to fsync the new file prior to the rename...01:48
psusiimo, that was bullshit.. ext4 should make the journal commit for the rename dependant on the flush of the original file to maintain proper atomic replace semantics01:49
psusibut even without the fsync on the new data file, dpkg still has multiple syncs per package01:49
psusijust for the status file01:50
cjwatsonthe status file is important :)01:50
YokoZar1psusi: I remember slangasek mentioning that either the dpkg or apt maintainer wouldn't accept any Ubuntu-originated patch of any kind, I can't remember which one.01:50
cjwatsonYokoZar1: nonsense01:50
cjwatsonthere's some of that elsewhere but it's not in dpkg or apt.01:50
YokoZar1*by that I mean "ubuntu-committed before filed upstream"01:51
YokoZar1I think01:51
cjwatsonI know who you mean but he maintains neither dpkg nor apt and never has.01:51
penguin42it strikes me the problem is a lack of API for dpkg or anything else to state the ordering requirements it actually needs, and so is left with a rather blunt weapon of fsync01:51
psusidpkg should have the brains to unpack multiple new packages to temp files, update the status file with *multiple* updates, then fsycn it once, then do the atomic renames all in one batch01:51
psusithat is to say, if the filesystem is too brain damaged to just make the rename journal commit depend on flushing the new file01:52
YokoZar1cjwatson: ? I'm not saying slangasek maintains those packages, rather that I think he was making a statement about the maintainer of them01:52
cjwatsonYokoZar1: And you've misattributed it.  He quite probably made that statement because Joey has said such a thing, but it was not about the maintainer of either dpkg or apt.01:52
YokoZar1ahh ok01:52
YokoZar1I don't actually know the people involved, to my detriment01:53
cjwatsonThere have been many, many Ubuntu-originated patches in both dpkg and apt, many of which have been in Ubuntu first.01:53
psusipenguin42, that has been the general concensus... but nobody has put forward such an api... and it seems to me that the big thing dpkg needs, aside from batching commits to the status file, is for atomic renames to work properly, which means ext4 needs to make the journal commit depend on flushing the new temp file, which ttyso doesn't seem to think it should01:53
YokoZar1So I wouldn't have to worry about stepping on some political minefield were I to decide to fix this particular problem01:53
cjwatsonNo01:53
penguin42psusi: What does Posix say?01:54
psusiposix doesn't say anything about journals... it only says that the rename is atomic, so you should either get the old file or the new file01:54
penguin42psusi: well there you go, until someone defines an API with a stronger constraint he's right - but annoying, but right01:55
psusittyso seems to think that ext4 satisfies this because you do either get the old file or the new file thanks to the journal transaction... the problem is that the new file might be empty because it wasn't flushed first01:55
psusiimho, it goes with the "spirit" of the concept that you either the old or new to make sure that you don't get new until after any pending writes to new are themselves flushed01:56
cjwatsonYokoZar1: but if you're going to do so, you get to read through the several hundred pages' worth of bug reports that have led to the current state first, to avoid reinventing previous mistakes :)01:56
cjwatsonshouldn't be too hard to track them down through the dpkg changelog01:56
psusithe ext4 file thing won't be solved unless ext4 is patched to make the rename transaction depend on flushing the writes to the new file first01:57
psusibut dpkg damn well can and should batch up multiple packages into one status file flush01:57
psusiinstead of flushing the status file twice per package01:58
cjwatsonPlease take this somewhere more appropriate01:58
cjwatsonYou've made your point :)01:58
cjwatsonI can't say I agree with you but the dpkg developers would be much better people to respond01:58
cjwatsonSo if you want to press this, -> bug report on dpkg in Debian01:59
psusiat this point I'm trying to just patch debootstrap to use libeatmydata to bypass the dpkg stupidity, at least for new installs ;)01:59
psusisince that is what the dpkg devs suggested last time I brought this up to them01:59
penguin42psusi: Yeh that makes a lot of sense; you just don't care about the state of your debootstrap'd world until it's complete01:59
YokoZar1cjwatson: I'm more poking at the apt resolver rather than dpkg here.  I dont' think we have a lot of automated test cases for that.01:59
psusiyea... if a new install is interrupted, who gives a shit?  it's trash anyhow... ;)02:00
cjwatsonNew installs (at least via d-i) already use --force-unsafe-io, which deals with most of it02:00
psusithat only deals with part of it, and actually, I'm pretty sure it DOESN'T do that because I was just adding that switch to it today02:00
cjwatsonFeel free to look in base-installer for yourself if you don't believe me.  Note that I said via d-i, not specifically debootstrap.02:01
psusispecifically, that deals with the part where it now flushes each individual file before the rename due to the ext4 bug02:01
psusistill a lot of fsyncs to the status file02:01
psusid-i uses cdebootstrap doesn't it?02:01
cjwatsonHell no.02:01
psusioh?02:01
cjwatsonWe're not insane.02:01
psusiI read today that cdebootstrap is what d-i uses so I was looking into patching that to use libeatmydata too after making debootstrap do it02:02
cjwatsonYou read wrong.02:02
cjwatsoncdebootstrap is essentially a playground and its only useful differential feature was obsoleted by debootstrap something like eight years ago02:02
psusiso... d-i uses regular deboostrap?02:02
cjwatsonAnd it's never been configured properly for Ubuntu as far as I know02:02
cjwatsonYes02:03
cjwatsonI don't expect that to change02:03
psusithat explains some things.. I was wondering why I kept getting errors running cdebootstrap02:03
cjwatsonGiven that the d-i team maintains debootstrap02:03
cjwatsonI mean, base-installer will prefer cdebootstrap if it's available, but it basically never is in the d-i context :)02:03
psusinot sure what the error was for sid, but for ubuntu, it was that initramfs-tools uses awk in its preinst, and at the time, mawk has not been configured so the awk -> mawk alternate symlink has not been set up02:04
cjwatsonSo that's basically just so that you can add cdebootstrap-udeb to your image if you're strange02:04
psusidebootstrap seems to have a hack to manually create that symlink but cdebootstrap doesn't02:04
cjwatsonYes, because debootstrap understands that hacks are needed sometimes02:04
xnoxpsusi: "<psusi> [01:03:13] hrm.. looks like ntfs-3g has ABI upstream ABI breakage" care to elaborate? =)02:04
xnoxpsusi: never mind, found your bug.02:06
cjwatsonThat's not the only place where cdebootstrap is wrong - it has insufficient handling of base-files/base-passwd too, last I checked02:07
psusixnox, see bug #1126547 for details... basically it looks like upstream went from major lib rev 835 to 84, so they aren't doing lib versioning right02:07
ubottubug 1126547 in ntfs-3g (Ubuntu) "ntfs-3g: abi breakage" [High,Triaged] https://launchpad.net/bugs/112654702:07
psusicjwatson, well, that's good to know that patching debootstrap is sufficient to speed up installs02:07
cjwatsonEh, nothing says sonames have to be ordered02:07
psusidebian policy re lib versions02:07
cjwatsonexact citation please02:08
psusithere is quite a lot of material I don't happen to remember eactly where it is now, but i know it's the reason that libparted has a -debian0 in its version02:08
cjwatsonNo, that was a special case02:09
psusiand I think it was you that tried to explain that one to me02:09
cjwatsonI introduced that and I know why it was, and it's not the same situation02:09
cjwatsonIt was because of a soname *clash*02:09
psusispecial case because upstream libparted versioning was broken.. i.e. they didn't maintain ABI comatability for each SONAME02:09
cjwatsonWell, no, it was more complex than that02:09
cjwatsonAnyway, it's different02:09
cjwatsonWe don't need to consider it02:09
cjwatsonThere's nothing wrong with upstream deciding to go from 835 to 84, as long as there wasn't previously an 8402:10
cjwatsonDebian policy only says that the soname must change02:10
cjwatsonIf you think otherwise the burden's on you to provide an exact quote02:10
psusisure there is... libtool specifications... major number means ABI compatability... same major number means backward compatabile02:10
xnoxand the soname was changed.02:10
* xnox looks at depends generated.02:11
cjwatsonlibtool specifications aren't policy02:11
cjwatsonthey're one particular implementation that happens to satisfy policy when used correctly02:11
xnox(but something  to bash upstreams with, as far as I recall correctly)02:11
slangaseklibtool specifications are a special sort of madness02:11
cjwatsonwhat matters is that the soname changes; anything that is doing any kind of ordering comparisons on sonames other than equality is ipso facto broken02:12
cjwatsonand I am not aware of any such thing other than in package-local build systems02:12
psusiwell, I suppose it is theoretically possible to go backwards, but obviously upstream meant for 84 to be a greater but backward compatible to 83502:12
cjwatsonGenerally upstream ntfs-3g changes its soname basically every release, and reverse-dependencies need to be rebuilt02:13
cjwatsonI don't think it's at all obvious that they intended backward compatibility at the binary level; in fact I think it's just false02:14
psusiohh... hrm... so let me see... ok.. so the major/SONAME has changed it looks like... so why does the package satisfy the dependancy of testdisk?02:14
cjwatsonNow, ntfs-3g used to have a libntfs-3g-blah package02:14
cjwatson  * Removing libntfs-3g library package and folding it into ntfs-3g02:15
cjwatson    itself as there's not much point in micro-packaging here (nobody02:15
cjwatson    except ntfs-3g uses the shlib anyway, upstream bumps soname with02:15
cjwatson    almost every release and going through NEW is annoying).02:15
cjwatsonntfs-3g 1:2011.4.12AR.3-202:15
cjwatsonSo I think the claim there is essentially that the reverse-dependencies are broken02:15
cjwatsonThis has absolutely zero to do with upstream ABI handling02:15
psusiok, so it *is* a packaging error in ntfs3g?02:15
cjwatsonEither it's an argument to be had with the Debian maintainer of ntfs-3g to reintroduce the separate library package for the benefit of testdisk, or testdisk needs to stop using what is currently being treated as a private library02:16
psusiI could have sworn I read somewhere that this is basically upstream being stupid and debian has to deal with it by carefully packaging it with a -debianX version in its SONAME to make sure that packages depending on it don't think that they can be satisified with a new upstream release02:17
xnoxor .shlibs should be much tighter to generate tigher reverse-depends02:17
cjwatsonpsusi: No, entirely wrong.02:17
psusiwhat you said seems to be the same thing that I did in different words? ;)02:17
cjwatson-debianX SONAMEs are for extremely specialised and fraught cases and are very much not a good idea if you can possibly avoid it.02:17
cjwatsonI didn't say at all the same thing as you.02:18
slangasekwell, it's at least an ntfs3g bug for providing a .shlibs if the intent is that the library be internal02:18
cjwatsonAnd note that libparted does *not* have a debianX SONAME02:18
cjwatsonSo that's not a valid example02:19
slangasekshlibs is a declaration that "if you link against this library, you should use this dependency"02:19
slangasekthis is incompatible with "if you link against this library, go jump in a lake of molten lava"02:19
cjwatsonslangasek: Yeah, that much is an ntfs-3g bug one way or the other02:19
cjwatsonIt could be improved slightly by making the shlibs have tight versioning, as a compromise02:19
cjwatsonI don't know that it's what I'd do, but it would at least have caused this to be caught by proposed-migratio02:19
cjwatsonn02:19
psusiright, so ntfs-3g should have a .shlibs so that testdisk can link to the proper version, even if that means it needs to change with every new ntfs-3g release02:20
* xnox wants to use dh_makeshlibs -V02:20
cjwatson-V isn't quite right; it also needs << next-upstream02:20
cjwatsonOr something02:21
cjwatsonActually, I don't know why ntfs-3g doesn't just use Provides for this02:21
psusithough really, ntfs-3g /shouldn't/ be breaking ABI on every release, but if it is going to do that sillyness, the packaging should at least make sure testdisk requires that specific version of testdisk, and not a newer, not backward compatible one02:21
* xnox building to see what it will generate and weather that will help or not....02:21
cjwatsonIt won't, it'll be >= current-upstream02:21
cjwatsonProvides: libntfs-3g84; .shlibs => libntfs-3g 84 libntfs-3g8402:22
cjwatsonWould make this work, perhaps with some extra care to avoid a self-dependency via the new virtual package02:22
psusiright... and that should cover it as long as the major number is part of the debian package version, which it seems it used to be, and then they removed it02:22
cjwatsonAnd that way it would also avoid Daniel's concern about going through NEW02:22
xnoxOh, that's neat.02:23
cjwatsonIt's a bit curious and it doesn't permit coinstallation of different version02:23
cjwatsonBut maybe it's a workable compromise that Debian would take02:23
cjwatsonAh, testdisk depends on the old libntfs in Debian02:24
cjwatsonThat's probably why Daniel hasn't noticed the problem02:24
cjwatsonI changed it to build against ntfs-3g so that we could drop the deprecated libntfs-dev02:24
cjwatsonI'm pretty sure Daniel wants to kill libntfs with fire, so I can see him being receptive to this plan02:25
psusibasically ntfs-3g should ship the libs in a binary package named for example, libntfs-3g-835, and that is what testdisk or other dependencies should depend on, thus it is coinstallable and not backward compatbile from libntfs-3g-4002:25
cjwatsonI quoted the reason in the changelog why it doesn't; I don't necessarily find it productive to go head-on against a Debian maintainer's convenience-to-self argument when there's another workable possibility available02:26
psusiif it really is supposed to be a private library, then it should be statically linked to by ntfs-3g and not provided in /usr/lib shouldn't it?02:26
cjwatsonIt's not ideal for various reasons (well, one, mostly) but it would do well enough given that it doesn't matter desperately if testdisk doesn't work at all points during an upgrade - it doesn't have to behave as if it's Essential02:26
cjwatsonAnd I can understand Daniel's wish to not have to deal with frequent NEW processing for a library that changes SONAME a lot02:27
cjwatsonSo offering him something that will improve matters without making things much less convenient for him seems likely to be a good approach at least for the time being02:28
cjwatsonYou are correct from a purist point of view but it isn't vitally critical to be purist here02:28
Atlantic777I'm reading ubuntu packaging guide and other wiki pages for beginners in ubuntu development and I'm not sure how (actually) where you do development. I mean, I don't want to ruin my system for everyday work. Do you use virtual machines, chroot or separate physical machines for development?02:32
Atlantic777Or it is safe to start playing on my system for everyday work? :)02:32
psusiso you are saying there is a way for ntfs-3g to export a shilbs such that testdisk will require == that version of ntfs-3g rather than >=, so that at least if there is temporary breakge that requires rebuilding testdisk, it will show up as a dependancy that can't be resolved, rather than a lib that can't be found at runtime?02:32
* psusi uses one machine and fixes it on the rare occasion things go tits up02:33
sarnoldAtlantic777: chroots for building are superb, they help prevent unintented dependencies from creeping in02:35
cjwatsonpsusi: I'm following up to the Debian bug02:35
sarnoldAtlantic777: and virtual machines for testing are superb, you can roll them back to a known pristine state without much hassle, do what you want, then blow them away again, without any consequences02:35
cjwatsonAnd yes - furthermore doing it that way would have kept the new ntfs-3g in raring-proposed out of users' sight until it was resolved02:35
psusicjwatson, wait, you mean because it wouldn't be allowed out of -proposed until the dependency breakage was resolved?02:37
psusihrm... cool.02:38
cjwatsonCorrect02:40
cjwatsonFor the record: the issue with libparted was that upstream switched to libtool's versioning system and thereby reused a SONAME that was used for a few months back in 2000.  In practice I think it is unlikely that that would cause any real problems, and I can certainly see why upstream was entirely unbothered by the possibility (if they even realised).02:43
cjwatsonHowever, because that SONAME had been around ages ago, some of parted's binary packages had a historical Conflicts: libparted0 lying around02:43
cjwatsonAnd it turned out to be extremely difficult to deal with that in a way that didn't cause upgrade problems: https://bugs.launchpad.net/ubuntu/+source/parted/+bug/53536802:44
ubottuUbuntu bug 535368 in parted (Ubuntu Lucid) "old Conflicts cause libparted0 upgrade problems" [High,Fix released]02:44
cjwatsonSo I renamed the binary package from libparted0 to libparted0debian1, WITHOUT changing the upstream SONAME which would have been a dangerously incorrect thing to do, purely in order to resolve the upgrade problem02:44
cjwatson(There's still a libparted0 dummy package for convenience, but it doesn't interact with upgrades any more)02:45
cjwatsonIf there hadn't been Conflicts against libparted0 still lying around, it really wouldn't have mattered a jot that upstream decided to go from 2.1 to 002:47
psusicjwatson, so I'm glad cdebootstrap isn't actually used by the installer, because it means it just requires libeatmydata to be MIR, which I filed a bug for and got approval of today, and a two line patch to debootstrap to make use of it.. but... that just covers part of the install doesn't it?  it d-i uses debootstrap to install required, and important packages, but then invokes dpkg to install the standard seed separately right?02:48
cjwatsonSure02:48
cjwatsonIn lots of different places which I'm not at all wild about patching independently02:49
psusiso somewhere in d-i it needs to set up the LD_PRELOAD for libeatmydata for all of those dpkg invocations... hrm...02:49
cjwatsonYeah, that's not happening.  Get a --force-foo option in dpkg for it instead02:49
psusiohh?  why?  I tried that two years ago and it was rejected02:49
cjwatsonThat way it can be set in dpkg.cfg02:49
psusithe dpkg maintainers didn't like the idea of another --force option that could be set in dpkg.cfg02:50
cjwatsonAnd this d-i maintainer doesn't like the idea of patching dozens of dpkg calls separately02:50
psusishould be sufficient to just make sure the LD_PRELOAD environment variable is set in whatever process invokes dpkg... or somewhere up the hierarchy02:51
cjwatsonThere are many and they are not in a strict hierarchy02:51
cjwatsonIt's not practical in d-i AFAICS02:51
psusiwhatever the highest process is then ;)02:51
psusishould be inherited by all children without harm02:51
cjwatsonThat would be actively harmful because of chroots02:51
cjwatsonSo no, please trust me that I have some clue what I'm talking about here ...02:51
psusieh?02:52
cjwatsonThe highest process is operating in the installer environment where libeatmydata wouldn't exist02:52
psusithat's fine... then no harm02:52
cjwatsonAnd in any case the highest process is a generic menu process which has absolutely no business knowing about this02:52
cjwatsonSo no02:52
psusilisting a non existing library in LD_PRELOAD doesn't seem to cause any harm02:52
psusiit's just silently ignored02:53
cjwatsonI'm not complicating main-menu for this02:53
cjwatsonIt's simply the wrong place02:53
psusithat's why wrapping debootstrap in eatmydata wasn't enoguh, because it runs dpkg in a chroot and in the chroot, it didn't have the lib, so it was ignored02:53
psusione of the problems they mentioned on dpkg-devel with adding it as a --force option is that it would only affect dpkg, not any of the scripts it calls... so they said it should just be added to the caller of dpkg... and rather than patch every dpkg call, it seems easy enough to just add it to one place, high up in the call tree02:55
cjwatsonIt's not easy.02:55
psusiwhy?02:55
cjwatsonI give up.02:55
cjwatsonSorry, don't have the energy for this.02:56
psusiit's just setting an environment variable that all children will inherit... if the installing environment doesn't have the lib, it just gets ignored02:56
cjwatsonIt is necessary to learn how d-i is laid out before proposing modifications to it02:57
cjwatsonIt does not have the structure you seem to think it has02:58
cjwatsonThe only possible place I can think of for this would be in-target (and friends)02:59
psusiafaiui, the structure is that there are a bunch of scripts that run in the installer, and eventually chroot into /target and run dpkg... at that point is where you want the LD_PRELOAD set.. but if it is also set in the calling environment, it will just be ignored03:00
cjwatsonIn debian-installer-utils03:00
cjwatsonIt's still pretty delicate though; that doesn't use debconf and probably can't without breaking hand-rolled preseed scripts, so some alternate means of configuring it would need to be devised03:01
psusiconfiguring it?03:01
cjwatsonYou need a much better understanding than "a bunch of scripts" - it has a fairly clear architecture and there's documentation on it and everything03:02
cjwatsonConfiguring in-target to use eatmydata where appropriate03:02
psusiI'd love to read documentation on it, but what's the harm in setting the variable as high as you can unconditionally, and letting it trickle down to where it matters?03:02
cjwatsonIt's not going in main-menu, end of story03:03
psusiwhy?03:03
cjwatsonBut it's possible that it could go in in-target, which would probably cover most of the requirements03:03
cjwatsonThere'll probably still be some things that chroot manually03:04
cjwatsonBut a distinct minority03:04
psusichroot into /target you mean?03:04
cjwatsonYes03:04
psusiand?03:04
cjwatsonSince in-target is what deals with such things as debconf passthrough and lots of stuff ends up caring about that03:05
cjwatsonSo in practice the big bulk package installations happen via in-target03:05
psusiyou think there may be other cases that chroot into /target that should NOT use libeatmydata?03:05
cjwatsonI don't think it matters03:05
cjwatsonI mention it merely for completeness03:05
cjwatsonNow I wish I hadn't03:05
cjwatsonBecause I don't deal very well with a full congressional grilling at 3am I'm afraid03:06
psusilol... I'm just trying to figure out where having libeatmydata set in the environment would be UNdesirable03:07
cjwatsonIt would probably be OK in in-target and that would deal with enough of your cases that I'm confident you wouldn't care about the odd leftover03:08
psusiI"m sure it would too.. I'm not not sure why you object to setting in in the environment in a broader sense03:08
cjwatsonI object to putting anything at all in a small and simple program like main-menu that doesn't absolutely have to be there03:09
cjwatsonThis doesn't absolutely have to be there03:10
sarnoldpsusi: could you set it _before_ calling main-menu?03:10
psusiI suppose it doesn't, it just seems a hell of a lot easier to set an environment varible one time, there, rather than every time in-target is called03:10
cjwatsonEr, no - in-target is a script03:10
cjwatsonI'm suggesting you put the variable setting in that one script03:10
psusihrm... ok03:11
psusifor that matter, I was wondering... are the packages copied from the cd to /target first, then chroot into /target to run dpkg to install them?  it looks like that may be the case and that seems wasteful03:12
psusirather than just running dpkg with --root=/target from the install cd03:12
cjwatsonWe use the apt cdrom method03:13
cjwatsonWhich AFAIK doesn't bother copying03:13
=== fenris is now known as Guest68519
=== manueljoe is now known as icyjoe
=== icyjoe is now known as manueljoe
=== freeflyi1g is now known as freeflying
jamespage!regression-alert11:13
ubottucjwatson, jdong, pitti, skaet, ScottK, kees, Daviey, pgraner: reporting regression in a stable release update; investigate severity, start an incident report, perhaps have the package blacklisted from the archive11:13
jamespagebug 112561111:13
ubottubug 1125611 in openvswitch (Ubuntu) "Upgrade to 1.4.0-1ubuntu1.4 breaks brcompat support" [Critical,Confirmed] https://launchpad.net/bugs/112561111:13
jamespageSRU for openvswitch for 3.5 kernel in 12.04.2 breaks brcompat module for 3.2 kernel11:14
jamespageconfirmed; looking into fix now11:14
jamespagebrcompat: module license 'unspecified' taints kernel.11:14
MalsasaHello, how to package .run in Ubuntu?11:34
=== fisted_ is now known as fisted
JanCMalsasa: maybe #ubuntu-packaging is a better place to ask that (but if by .run you mean an install script, that's probably not the best source to make a package from if there is another choice)12:23
MalsasaJanC: ooooh, i dont know there is a channel named packaging :) Thank you....12:38
=== and`_ is now known as and`
=== rsalveti_ is now known as rsalveti
=== zz_jackyalcine is now known as jackyalcine
=== yofel_ is now known as yofel
bdrungdoko__: i used lintian to verify that the warning are gone. "using debhelper 9 to pass hardening flags" might be more descriptive.17:10
* tumbleweed wonders why our nvidia packages now Provide fglrx17:41
infinitytumbleweed: Overexhuberant copy and paste between Replaces, Conflicts, and Provides, I'd guess.17:43
tumbleweedwe also have an nvidia-current transitional binary package, which is fairly useless when all the nvidia-XXX packages conflict with it17:45
tumbleweedor is it still useful to help apt with upgrades?17:46
infinitytumbleweed: Yeah, I haven't looked into how it all works (or doesn't).  Feel free to tackle tseliot at some point and refine his packaging, though.17:53
tumbleweedheh. the breakage of the cuda stack because of incompatibilites between Debian & Ubuntu's approach to nvidia drivers has annoyed me for a while, but it seems that we are still on divergent paths17:55
ejatbug 112740418:25
ubottubug 1127404 in qtmultimedia-opensource-src (Ubuntu) "conflict between libqt5multimediaquick5 and libqt5multimediaquick-p5" [Undecided,New] https://launchpad.net/bugs/112740418:25
ejatcan someone help me on that ..18:25
=== jackyalcine is now known as zz_jackyalcine
=== zz_jackyalcine is now known as jackyalcine
slangasekejat: only one of these packages is in Ubuntu.  Whatever your libqt5multimediaquick5 package is, you'll want to remove it by hand from your system.19:07
ejatslangasek: ok thanks .. there is discussion about this on #ubuntu-phone .. they notice the issues ..19:08
=== JanC_ is now known as JanC
pavolzetorhi guys, how do I know that notification is being displayed?20:24
pavolzetorso I do20:24
pavolzetornot = Notify.Notification.new('test', '', '')20:24
pavolzetornot.show()20:24
pavolzetorand I need to know if notification is sitll on screen (so program will not show next one)20:25
pavolzetordoes it emit some sginal that it was hidden from screen?20:26
pavolzetoris there any way to get default timeout or something like this?20:47
xnoxfolks on #ubuntu-app-devel or #ubuntu-unity might now the api better. As far as I understand there is no way to query if it's on the screen or off the screen. as it could be queued behind other notifications20:50
xnoxand a user can be fading it in and out by hovering over it, and thus preventing it from timing out20:51
xnoxpavolzetor: better question is why do you need to know if it's displayed or not?20:51
xnoxand what are you trying to achieve20:51
pavolzetorxnox: I am updating my feed reader20:52
pavolzetorso when new articles arrives20:52
pavolzetormodel updated -> notification object listens and display notification20:52
pavolzetorbut it can update many times20:52
pavolzetorbut I want to show only one notification for 100 items20:52
xnoxone can set the ID on the notification (or something like that) and if you push a new notification with the same ID it will either update the existing bubble, or create/show a new one.20:53
pavolzetorahh, cool ;)20:54
xnoxthus fire all 100 items and users will get a popup with grown numbers of "28 new items"20:54
pavolzetorI will do that20:54
xnoxpavolzetor: check the API docs.20:54
pavolzetorbut when does the notification disappears20:54
pavolzetor?20:54
xnox"after some time"20:54
pavolzetorI mean if it disappears, you might want start from 020:54
xnoxfire notifications every time you have new items.20:55
pavolzetorI do not want to show count there (it will be on badge), okay20:55
xnoxyou will be rate limitted if it's too much, and generate the new ID for each batch.20:55
pavolzetorI see20:56
pavolzetorokay, thanks ;)20:56
xnoxe.g start poll -> generate notification id -> push out notifications -> stop20:56
pavolzetorstart poll?20:56
xnox(start whatever you do to walk all the feeds and get new articles thingy....)20:57
pavolzetor"021:10
pavolzetor:)21:10
pavolzetorcheers21:10
pavolzetoralso21:10
pavolzetorone thing21:10
pavolzetorwhy does not badge show up ?21:10
xnoxpavolzetor: check with #ubuntu-unity or #ubuntu-app-devel21:11
pavolzetorokay ;)21:11
* xnox never coded against notification api, btw =)21:11
pavolzetorme neither ;)21:11
pavolzetorI got it, but I rewrote it using MVC21:12
pavolzetorand fixed a lot things21:12
xnoxand also this channel is not fully appopriate to discuss these things. Folks here are mostly devel ubuntu core operating system.21:12
pavolzetorand now I am splitting code to classes21:12
xnoxrefactoring is always good21:12
pavolzetorhttp://bazaar.launchpad.net/~floaty-devs/floaty/trunk/revision/9221:12
pavolzetorthis commit21:12
pavolzetorAhh I see21:13
pavolzetorwill go to correct room ;)21:13
xnox#ubuntu-app-devel is for developing on/for/against ubuntu21:14
pavolzetorwhat I miss are some guidelines and help with gnome stack development, like that my MVC, I am not sure if I did it right way21:14
pavolzetorcool21:14
pavolzetorthanks for your time21:14
=== Quintasan_ is now known as Quintasan
=== jackyalcine is now known as zz_jackyalcine

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