bjv | how much space should be available for /boot fs in saucy? i have 175MiB | 00:15 |
---|---|---|
bjv | but i'm getting http://askubuntu.com/questions/298487/not-enough-free-disk-space .. and ihave only 1 kernel installed | 00:16 |
sarnold | bjv: my /boot currently occupies 207 megabytes, but you might do a better job cleaning out old kernels than I do. | 00:16 |
Noskcaj_ | debfx: Do you want me to (attampt) to merge cdbs or are you going to do that? | 00:21 |
jbicha | Noskcaj_: is there a bugfix in cdbs that you need? otherwise it's kinda late in the release cycle for that | 00:31 |
Noskcaj_ | jbicha: It's blocking things in -proposed. | 00:32 |
Noskcaj_ | last night cjwatson asked debfx to merge it, i've got nothing to do so i was going to try and help with it | 00:33 |
jbicha | oh ok | 00:34 |
TheMuso | c | 00:43 |
zul | can someone on the release team have a look at https://bugs.launchpad.net/ubuntu/+source/neutron/+bug/1223342 please | 01:21 |
ubottu | Launchpad bug 1223342 in neutron (Ubuntu) "[FFE] neutron-vpn-agent and neutron-metering-agent" [Undecided,New] | 01:21 |
crass | I just submitted some patches to the distro specific scripts in cryptsetup. It appears as though these are mostly maintained by debian, with perhaps a few modifications by ubuntu. What's the best way to get the patches accepted? Through debian or ubuntu? | 01:42 |
infinity | crass: If your fixes aren't Ubuntu-specific, a bug filed in Debian is more generally helpful to all. | 02:08 |
asac | infinity: hey | 02:12 |
asac | infinity: could it be that proposed is off? | 02:13 |
asac | for maintenance work? | 02:13 |
* asac impatient and scared :) | 02:13 | |
infinity | asac: We're adding arm64 to the archive, everything's temporarily off. | 02:13 |
infinity | asac: Shouldn't be much longer at all. | 02:13 |
asac | infinity: what does it mean? | 02:14 |
asac | in time? | 02:14 |
infinity | asac: About 30 seconds. | 02:14 |
asac | nice!! | 02:14 |
asac | 30 | 02:14 |
asac | 29 | 02:14 |
asac | :) | 02:14 |
asac | infinity: i will check in 3 minutes ... let meknow if there are any problems | 02:15 |
infinity | Well, the next publisher run triggers at 10:18, but close enough. We're re-enabling the world now. | 02:15 |
* asac happy | 02:15 | |
asac | we just managed to get unity and stuf fin shape | 02:15 |
asac | were eagerly reloading exuses :) | 02:15 |
* asac goes for a smoke : | 02:15 | |
asac | infinity: all going well? | 02:21 |
infinity | asac: iz doing publishy tings. | 02:22 |
asac | sounds like its doing the right thing to me | 02:22 |
infinity | You just like French accents. | 02:23 |
didrocks | speaking of French… ;) | 02:24 |
didrocks | infinity: https://launchpad.net/ubuntu/+source/unity-system-compositor/0.0.1+13.10.20130903-0ubuntu2, I'm surprised this one is building while https://launchpad.net/ubuntu/+source/unity8 isn't even in proposed. Source publishing (or whatever it is) is working differently? | 02:25 |
infinity | didrocks: We don't need to publish source to build. | 02:25 |
infinity | didrocks: Builds begin as soon as a package is uploaded. | 02:26 |
didrocks | ah ok, and so binary copy just need a "publish" to appear in proposed I guess | 02:26 |
infinity | Indeed. | 02:27 |
didrocks | great, unity8 now in | 02:27 |
didrocks | seems like pinging infinity gives hint to the publisher, I should try that more often :) | 02:27 |
infinity | *smirk* | 02:27 |
infinity | Well, we don't shut off the world and add new architectures very often. | 02:27 |
didrocks | yeah, it's just that murphy's law loves us ;) | 02:28 |
infinity | Nah, this isn't murphy, it's just a group of people who are always impatient. :) | 02:29 |
didrocks | speaking of being impatient… | 02:29 |
didrocks | any way to bump priority on https://launchpad.net/ubuntu/+source/unity-system-compositor/0.0.1+13.10.20130903-0ubuntu2/+build/4953829 if possible? | 02:29 |
infinity | didrocks: That high enough for you? | 02:30 |
didrocks | infinity: as long as we don't have buffer overflow, it's high enough to me ;) thanks! | 02:30 |
asac | 5 i386 builders sounds pretty low | 02:31 |
StevenK | asac: 5 i386 distro buildds, yes. | 02:32 |
StevenK | There's a whole bunch more for PPAs | 02:33 |
asac | StevenK: are those 5 bare metal machines? | 02:33 |
asac | or 5 VMs on 2 machines? | 02:33 |
StevenK | asac: Yes | 02:33 |
StevenK | asac: All of the distro buildds are bare-metal | 02:33 |
asac | StevenK: how are we doing sizing of the builder pool? | 02:33 |
asac | e.g. how do we get to the number of 5? | 02:34 |
StevenK | I'm not sure how that number was arrived at | 02:34 |
asac | infinity: any idea why mir is a valida candidate and is not going in since 6 days? | 02:42 |
asac | on excuses? | 02:42 |
infinity | asac: You want _output | 02:43 |
infinity | Trying easy from autohinter: mir/0.0.10+13.10.20130904-0ubuntu1 unity-mir/0.1+13.10.20130904.1-0ubuntu1 platform-api/0.18.3+13.10.20130904-0ubuntu1 | 02:43 |
infinity | leading: mir,unity-mir,platform-api | 02:44 |
infinity | start: 181+0: i-86:a-32:a-29:p-34 | 02:44 |
infinity | orig: 181+0: i-86:a-32:a-29:p-34 | 02:44 |
infinity | easy: 184+0: i-87:a-33:a-30:p-34 | 02:44 |
infinity | * i386: unity-system-compositor, unity-system-compositor-autopilot | 02:44 |
infinity | * amd64: unity-system-compositor | 02:44 |
infinity | * armhf: unity-system-compositor | 02:44 |
infinity | ie: updating that package set makes unity-system-compositor and unity-system-compositor-autopilot uninstallible. | 02:44 |
didrocks | hence my recent upload | 02:44 |
asac | infinity: ok, guess a feature missing that excuses cannot give human readable reasons for all cases yet? | 02:45 |
infinity | asac: No, excuses and output are two phases in the process. | 02:45 |
infinity | Poorly named, perhaps, blame ajt, but they represent two distinct sets of steps. | 02:46 |
asac | output is not really easy to parse | 02:46 |
asac | but ok | 02:46 |
infinity | It's not terribly human-friendly. That could be improved by someone who likes writing pretty frontends. | 02:46 |
infinity | I'd be happy to teach them how to read it if they wanted to. | 02:46 |
asac | hmm. think having one page that has all the exceuses and reasons that make stuff stuck would be awesome | 02:47 |
asac | but later | 02:47 |
asac | thanks | 02:47 |
infinity | I think having one page that's essentially packages.qa.debian.org with little portlets and some friendly info would be nice. | 02:48 |
infinity | But, yes, not tonight. :) | 02:48 |
asac | :) | 02:48 |
asac | the night is long :) | 02:48 |
infinity | It's been long enough. | 02:48 |
infinity | And I'm still working. :P | 02:48 |
infinity | So. Nah, the night can suck it. | 02:48 |
asac | infinity: are you in the room? | 02:48 |
infinity | asac: Yeah, I'm upstairs. | 02:48 |
asac | we are in the breakfast area if you want fun :) | 02:48 |
asac | lol | 02:48 |
infinity | Define "fun". | 02:49 |
infinity | Does it involve alcohol? | 02:49 |
cyphermox | infinity: we have plenty | 02:49 |
asac | infinity: yeah... i can allocate more :) | 02:49 |
infinity | Cause if this is a way to sucker me into working even more tonight, I'm not biting. | 02:49 |
cyphermox | 5 bottles ready | 02:49 |
asac | infinity: no we just wait for the stuff to enter archive so we can kick image and punch dashboard to green or red for the unity folks | 02:50 |
asac | and have fun :) | 02:50 |
* didrocks refreshes update_excuses to desperatly wait for unity8, unity-mir (latest), unity-api and unity-system-compositor to show | 02:50 | |
asac | infinity: i cant guarantee, because ogra_'s keycard is very flalki | 02:51 |
asac | i have to try if i get in his room agian where my beer is | 02:51 |
asac | last time it took 10 attempts | 02:51 |
asac | so let me try that first | 02:51 |
infinity | didrocks: This publisher run is a bit longer than usual, we may have upset some postgres index caches a little bit or some such. It's moving along. | 02:51 |
asac | infinity: there is also some pizza here :) | 02:52 |
didrocks | ok, I hope we won't discover a bad situation and everything will move along ;) | 02:52 |
infinity | I already ate. But the beer's appealing. | 02:52 |
didrocks | seems asac is a good salesman ;) | 02:52 |
=== salem_ is now known as _salem | ||
=== freeflying is now known as freeflying_away | ||
=== freeflying_away is now known as freeflying | ||
dholbach | good morning | 06:51 |
xnox | pitti: re:swap, swap is created and activated during partitioning, whilst plugininstall.py is called much later by ubiquity. Automatically updating UUID in "resume" is probably something we ought to do. From /etc/fstab or by parsing /proc/swaps ? | 07:49 |
=== freeflying is now known as freeflying_away | ||
mlankhorst | ok lts-saucy copied to ppa:ubuntu-x-swat/s-lts-backport -- enjoy! | 08:48 |
Laney | what does yellow mean on jenkins? | 08:56 |
Laney | I've seen blue and red, but not yellow... | 08:56 |
xnox | Laney: unstable | 09:01 |
xnox | (either unknown if passed/failed, or uncertain, or flapping) | 09:01 |
Laney | https://jenkins.qa.ubuntu.com/view/Saucy/view/AutoPkgTest/job/saucy-adt-firefox/ | 09:02 |
=== freeflying_away is now known as freeflying | ||
darkxst | xnox, did you see my latest batch of ubiquity changes? are you ok with these? | 09:03 |
smb | slangasek, latest mountall caused a regression for me (bug 1223745) | 09:28 |
ubottu | bug 1223745 in mountall (Ubuntu) "Dependency resolver causes hang on boot" [Undecided,New] https://launchpad.net/bugs/1223745 | 09:28 |
smb | apw, FYI, did file it ^ | 09:28 |
cjwatson | xnox: I thought we *did* update the UUID in initramfs-tools resume configuration ... | 09:41 |
xnox | cjwatson: i just reformatted my swap, such that it has new UUID and I had to manually edit /etc/initramfs-tools/conf.d/resume. After I did that, updated initramfs, it then got new UUID in conf/conf.d/resume. | 09:55 |
xnox | cjwatson: so the /etc/initramfs-tools/conf.d/resume file is not auto-magically-updated. | 09:56 |
xnox | hence pitti pointing at bug 50437 | 09:56 |
ubottu | bug 50437 in initramfs-tools (Ubuntu) "Resume from hibernation may fail because swap partition UUID does not match /etc/initramfs-tools/conf.d/resume" [Medium,Triaged] https://launchpad.net/bugs/50437 | 09:57 |
cjwatson | xnox: I'm not claiming it works, but I'm fairly sure there's code for it :) | 09:57 |
cjwatson | xnox: Oh, in the installer, I mean. Not if you fiddle with things live, sure. | 09:57 |
cjwatson | Hardish problem ... | 09:57 |
xnox | cjwatson: well... so after reformatting swap i need to: edit /etc/fstab, edit /etc/initramfs-tools/conf.d/resume, update-initramfs. Not sure why one should repeat oneself with a common case of a single swap partition/file. | 09:59 |
jtaylor | zul: can you please forward your changes to debian ... | 10:01 |
jtaylor | or at least stop messing with packages I care about ._. | 10:01 |
jtaylor | d2to1 this time | 10:01 |
cjwatson | xnox: Sure, it certainly isn't ideal | 10:02 |
apw | xnox, i wonder if we should be recommending setting a UUID when changing swap to simplify things (with --uid <olduuid>) | 10:04 |
* apw notes he is getting a chromium-browser against chromium-browser-l10n file collision on remoting_locales/th.pak ... known ? | 10:07 | |
apw | (on upgrade on saucy) | 10:07 |
cjwatson | apw: bug 1223696 | 10:08 |
ubottu | bug 1223696 in chromium-browser (Ubuntu) "package chromium-browser-l10n 29.0.1547.65-0ubuntu1 failed to install/upgrade: tentata sovrascrittura di "/usr/lib/chromium-browser/remoting_locales/th.pak" presente anche nel pacchetto chromium-browser 28.0.1500.71-0ubuntu3" [Undecided,New] https://launchpad.net/bugs/1223696 | 10:08 |
apw | cjwatson, thanks | 10:08 |
seb128 | cjwatson, apw: bug #1222488, qengho said he would have an update ready yesterday but I didn't see it :/ (the current version is quite buggy, it's missing most for the UI components for some users) | 10:21 |
ubottu | bug 1222488 in chromium-browser (Ubuntu) "package chromium-browser-l10n 28.0.1500.71-0ubuntu3 failed to install/upgrade: trying to overwrite '/usr/lib/chromium-browser/remoting_locales/th.pak', which is also in package chromium-browser 28.0.1500.71-0ubuntu3" [High,Triaged] https://launchpad.net/bugs/1222488 | 10:21 |
apw | seb128, thanks, one of those two are a dup | 10:22 |
seb128 | apw, I dupped the new one, since the other one was already assigned/used for tracking | 10:22 |
* xnox uses google-chrome | 10:23 | |
seb128 | xnox, freedom hater | 10:23 |
xnox | seb128: security cautious | 10:24 |
=== MacSlow is now known as MacSlow|lunch | ||
pitti | xnox: hm, I wonder why the config file is wrong in so many cases then | 10:50 |
xnox | pitti: yeah, strange.... it parses /proc/swaps, maybe we fail to activate the just formatted swap? | 10:51 |
xnox | dunno, nonetheless it would be nicer to not have to hard-code the one and only swap partition in two places (/etc/fstab & conf.d/resume) | 10:52 |
pitti | xnox: I think the least we should do is to have update-initramfs hook check whether that UUID actually exist, and only if it does copy it into the initramfs | 10:52 |
pitti | that would still not unbreak hibernation, but at least fix the boot speed delay | 10:53 |
xnox | ack. Yeah, a simple test [ -e /dev/disk/by-uuid/...... ] should do it. | 10:55 |
pitti | xnox: ah, seems the Debian maintainer already cared about the first step | 10:56 |
xnox | pitti: we just need to "merge" initramfs-tools right..... (we have a cherry-pick Frankenstein at the moment) | 10:57 |
xnox | .... or cherry-pick again =) | 10:58 |
pitti | oooooh | 10:58 |
pitti | xnox: initramfs-tools preinst -> that sounds like it would put the buildd's swap UUID into "resume"? | 10:58 |
pitti | that might explain where that mysterious UUID comes from | 10:59 |
xnox | that would be sad, let me unpack the cd. | 10:59 |
* pitti reads the last three commits in http://anonscm.debian.org/gitweb/?p=kernel/initramfs-tools.git;a=shortlog;h=refs/heads/maks/swap | 10:59 | |
pitti | /var/lib/dpkg/info/initramfs-tools.preinst does that if not in a chroot; but maybe that logic fails there | 11:00 |
xnox | pitti: there is no conf.d/resume on the images. | 11:00 |
cjwatson | as I said I'm fairly sure that we nuke conf.d/resume in the installer, and possibly also in livefs building | 11:01 |
=== gusch is now known as gusch|lunch | ||
cjwatson | ubiquity/scripts/plugininstall.py:Install.configure_hardware for instance | 11:03 |
cjwatson | similar thing in base-installer for d-i | 11:04 |
xnox | pitti: in the new commits: if resume file not there, or bogus UUID is specified, then it goes to regenerate the file using the first swap available. So this means one cannot disable resume partition, unless in a chroot. | 11:05 |
xnox | not sure if that actually matters at all, tbh. | 11:07 |
pitti | xnox: ah, good point; mentioned in my bug reply | 11:08 |
pitti | xnox: still, I don't believe that jibel messed with his swap partition manually; I can understand the mismatch on my system as I'm using cryptswap (I guess that's regenerated on every boot or so?), but he doesn't even have that | 11:11 |
pitti | I'll do a test install later on when I'm in the office; need to disappear for a bit for breakfast and bus, bbl | 11:11 |
pitti | xnox: thanks! | 11:11 |
xnox | pitti: yeap cryptswap is random initialised. But normal full-disk encrypt should still work (as swap is static/same, on lvm volume part of the encrypted VG) | 11:12 |
=== freeflying is now known as freeflying_away | ||
=== freeflying_away is now known as freeflying | ||
=== doko_ is now known as doko | ||
=== MacSlow|lunch is now known as MacSlow | ||
=== _salem is now known as salem_ | ||
=== dholbach_ is now known as dholbach | ||
smartboyhw | cjwatson, thanks for merging | 13:11 |
=== kentb-out is now known as kentb | ||
seb128 | infinity, hey | 13:25 |
infinity | seb128: 'sup? | 13:26 |
seb128 | infinity, do you know if/how we can get https://bugs.launchpad.net/langpack-o-matic/+bug/1201485 on the priority list of somebody? (needs a bit of launchpad work) | 13:26 |
ubottu | Launchpad bug 1201485 in Ubuntu Translations "Need to import translations for the unity daily builds" [High,Triaged] | 13:26 |
infinity | seb128: Oh hey, I even have an open firefox tab for that. | 13:26 |
infinity | wgrant: ^ | 13:26 |
seb128 | infinity, without it we are increasing our untranslated strings in all the components in daily landing (e.g unity, indicators, touch) | 13:26 |
infinity | wgrant: Any bright ideas? | 13:26 |
infinity | wgrant: If we're losing and/or failing to import translations tarballs from copies, that seems suboptimal. | 13:27 |
infinity | wgrant: (Or, I guess, throwing them away for PPA builds, thus not having them available on copy) | 13:27 |
seb128 | infinity, http://irclogs.ubuntu.com/2013/09/02/%23ubuntu-devel.html#t09:25 | 13:28 |
seb128 | infinity, that was discussed a bit there by wgrant/cjwatson | 13:28 |
smoser | hey. i'm looking at generating a list of packages that are needed for build and runtime depends of a cloud image. | 13:28 |
seb128 | infinity, I've added that link to the bug report for reference | 13:28 |
smoser | as cloud-image is a seed, that seems to make sense getting data from | 13:29 |
smoser | http://people.canonical.com/~ubuntu-archive/germinate-output/ubuntu.saucy/ | 13:29 |
smoser | but the lists produced there are not complete. (when compared to the actual contents http://cloud-images.ubuntu.com/saucy/current/saucy-server-cloudimg-amd64.manifest). | 13:29 |
smoser | i know that some things are done in the build process (installing kernel for example). | 13:30 |
infinity | smoser: They'd be complete if you add up all the seed outputs for everything that cloud depends on in STRUCTURE. One would hope. | 13:30 |
smoser | i think thats what i was missing. | 13:30 |
smoser | i didn't know how cloud-image depended on anything. | 13:30 |
infinity | seb128: I'll see if we can find some time for it. Not sure yet what sort of timeline we can guarantee until I've talked it over with William/Steven. | 13:31 |
smoser | sturcutre is hand maintained ? where does that come from ? | 13:31 |
infinity | smoser: It's in the seed bzr repo. | 13:32 |
seb128 | infinity, thanks | 13:32 |
smoser | ah. i see. in the seeds yeah. | 13:32 |
smoser | thanks. | 13:32 |
seb128 | infinity, our plan B/workaround is to manually checkout those component, update the template manually and upload to launchpad | 13:32 |
seb128 | infinity, but playing catching with any string change at this game on an hundred components is a bit of madness | 13:32 |
infinity | smoser: Gets even more fun when you realise there are seed cross-deps, so that "standard" dep is coming from platform.saucy. | 13:32 |
infinity | seb128: That might be your best short-term workaround, but clearly not the ideal going forward, I agree. | 13:33 |
seb128 | infinity, right, I know, I've been doing that since raring :p | 13:33 |
infinity | seb128: If something's wildly out of sync with reality right now, though, that's probably worth a one-shot upload of a few bits. :/ | 13:33 |
seb128 | infinity, I'm fine doing it again before saucy, but please get it fixed ;-) | 13:33 |
infinity | seb128: Yeahp, it's a fundamental flaw, IMO, if we're not copying *all* custom uploads on PPA->PRIMARY copies. | 13:34 |
seb128 | infinity, well, no need of uploads, you can upload a pot manually to launchpad, I've been doing that for unity/indicators when I see missing strings | 13:34 |
infinity | seb128: Translations should just fall out from making sure that's true. | 13:34 |
seb128 | right | 13:34 |
smoser | infinity, is there something that can parse that for me? or i just do it myself. | 13:35 |
infinity | smoser: germinate | 13:35 |
smoser | :) | 13:35 |
smoser | thanks | 13:35 |
cjwatson | infinity: As I said earlier, it should be fairly easy to do in the custom upload copier. | 13:35 |
infinity | cjwatson: Sure, assuming we actually still have those custom uploads in the PPAs (I hope the answer is yes?) | 13:36 |
cjwatson | smoser: You can use the Python germinate.seeds module | 13:36 |
cjwatson | If you don't want to run the whole thing | 13:36 |
smoser | cjwatson, thanks. mainly i just wanted to use what output there was, but resolve all the deps of cloud-image. | 13:37 |
cjwatson | infinity: It should still be attached to the PackageUpload | 13:37 |
cjwatson | I can't imagine we're going through and deleting those. Would be very unLaunchpaddish. | 13:38 |
infinity | cjwatson: That's what I was hoping. So, yeah, one would think this shouldn't be hard to fix at all. And should just be fixed for all custom uploads. | 13:38 |
cjwatson | infinity: It's already fixed for all custom uploads apart from translations. | 13:38 |
cjwatson | Because translations were already weird. | 13:38 |
infinity | cjwatson: Certainly works correctly already for EFI (as proven by the kernel SRU process). | 13:38 |
infinity | cjwatson: Ahh. Yay, weird. | 13:39 |
cjwatson | infinity: I'd suggest moving PackageUploadCustom.publishRosettaTranslations into a module in lp.archivepublisher (see the way it works for most of the other custom upload types), flipping the switch in CustomUploadsCopier.copyable_types, and then doing whatever other minor tweaks are necessary as revealed by tests. | 13:40 |
* infinity dumps that in the bug. | 13:40 | |
cjwatson | (Moving most of the contents of that method, I mean, not the method itself.) | 13:40 |
cjwatson | As it stands it'd wind up doing a bit of unnecessary work to write the translations LFA out to disk. But that'd be easy enough to fix with an extra kwarg to _publishCustom. | 13:42 |
cjwatson | infinity: Are you volunteering? :-) | 13:42 |
infinity | cjwatson: Not necessarily, just trying to scope it currently. | 13:43 |
pitti | seb128: ooh, I got a proper retracer failure mail now | 14:04 |
* pitti looks and fixes | 14:05 | |
seb128 | pitti, \o/ | 14:05 |
pitti | hm, the usual "HTTP Error 503: Service Unavailable" again | 14:06 |
pitti | but with notifications working we at least won't have long downtimes any more | 14:06 |
seb128 | right | 14:07 |
seb128 | pitti, I wonder if we could just catch the error for those and not stop the retracers | 14:07 |
pitti | seb128: it's actually supposed to doing that in many cases ("transient error") | 14:07 |
seb128 | it doesn't do it for that 503 though? | 14:08 |
smoser | cjwatson, hey. before i go and try to do this, is there a way to "flatten" cloud-image.* at http://people.canonical.com/~ubuntu-archive/germinate-output/ubuntu.saucy/ ? | 14:39 |
=== freeflying is now known as freeflying_away | ||
smoser | by flatten i just mean resolve all task dependencies. for build-depends, build-sources, .depends | 14:39 |
cjwatson | smoser: Well, you could look at what Launchpad does | 14:41 |
cjwatson | smoser: lib/lp/archivepublisher/scripts/generate_extra_overrides.py | 14:41 |
cjwatson | There's nothing canned | 14:41 |
cjwatson | smoser: But, er, isn't cloud-image already a task? You can get the runtime deps out of the Packages file | 14:42 |
smoser | well, not flattened. right? | 14:43 |
smoser | and i also want build deps | 14:43 |
smoser | where is lib/lp/archivepublisher/scripts/generate_extra_overrides.py ? what branch/package? | 14:44 |
cjwatson | How do you mean, not flattened? Fully expanded? | 14:44 |
cjwatson | lp:launchpad | 14:44 |
cjwatson | And fully expanded with respect to what? You generally don't want to do a *full* expansion, only up to some interior seed. | 14:44 |
cjwatson | It would help if I had some idea of what you were actually trying to do. | 14:45 |
cjwatson | (But briefly!) | 14:45 |
=== 3JTAAEL6B is now known as tvoss | ||
smoser | i want a list of all packages required to build cloud-image seed. | 14:48 |
smoser | and all packages that are installed by cloud-image seed. | 14:48 |
smoser | and why would i not want to do a "full expansion"? | 14:49 |
=== jono is now known as Guest91193 | ||
cjwatson | smoser: Because most things that actually do this in practice are installing them on top of a debootstrapped image and thus only want to expand relative to minimal (say) | 14:52 |
cjwatson | Also because a full expansion is ridiculously enormous | 14:53 |
cjwatson | Even just the recursive (build-)depends expansion of required pulls in chunks of GNOME, KDE, Mono, ... | 14:54 |
cjwatson | We need to know this to keep main self-contained, but it isn't useful for most other practical purposes | 14:54 |
smoser | cjwatson, i'm clearly missing something. | 14:55 |
smoser | the end goal is to get a list of packages that have to build in order to produce a given seed ('cloud-image'). | 14:55 |
cjwatson | Well you can do that but I have no idea why. | 14:56 |
cjwatson | That's not so much a reason as a deliverable. | 14:56 |
smoser | well if i want to produce alist of what is necessary to reach said deliverable. | 14:57 |
cjwatson | But why? | 14:57 |
cjwatson | </four-year-old> | 14:57 |
cjwatson | I mean, practically all of it is already done, unless this is for a new architecture | 14:57 |
cjwatson | (In which case perhaps you could say so) | 14:57 |
smoser | :) | 14:58 |
smoser | that is exactly it. and i was typing 'architecture' as you hit return. | 14:58 |
cjwatson | So you can cat all the files together if you like. I wouldn't bother building a tool for it if I were you. | 14:58 |
cjwatson | Just extract the seed list and pick out whichever field you want from all the files ... it's not something that's needed very often at all | 14:59 |
slangasek | smoser: hrm, infinity didn't already do this analysis? | 14:59 |
cjwatson | That said, this is basically a textbook example of useless data generated to satisfy a statement of work | 14:59 |
cjwatson | Very little of the output is actually going to be required to reach the goal, and the data doesn't necessarily continue to represent what needs to be done | 15:00 |
cjwatson | Since the dependency expansions might change between now and completion | 15:00 |
smoser | agreed that a one time static list isn't terribly useful. | 15:00 |
cjwatson | So it's pointless work - the goal is "get to the cloud-image seed", not "build all these packages which might not all end up being necessary for that" | 15:00 |
cjwatson | Far easier to just build everything that will autobuild and then worry about what's left | 15:01 |
smoser | i dont undersand "which might not all end up being necessary for that" | 15:01 |
smoser | of course they're necessary or they would not be build-depends | 15:02 |
cjwatson | They might not REMAIN build-depends | 15:02 |
cjwatson | They're necessary NOW | 15:02 |
cjwatson | But they might be removable without compromising the goal | 15:02 |
cjwatson | Anyway, if you need to do it because of $commercials, that's fine, I just wouldn't care that much about how elegant the tool you use to get there is | 15:03 |
cjwatson | Just scrape it all out of the obvious places and move on :) | 15:03 |
cjwatson | But what I want to avoid is a customer saying that you haven't met your goal because you didn't build one of those intermediate packages, that ended up being removed because it was avoidable | 15:04 |
cjwatson | So just be careful about how you present full expansions like that | 15:04 |
smoser | "i want seed X" is the end goal. the intermediate "well, you'll need this list of packages to get there" is what i'm after. | 15:08 |
xnox | smoser: right and the full expansion will be very arch specific and many packages are different across i386/amd64/armhf etc. Thus you do want something like - equivalent of ubuntu-core, kernel, bootloader, and the rest of the expansion. | 15:09 |
xnox | (excluding the previously mentioned items) | 15:09 |
cjwatson | For a new architecture you just have to pick the most similar architecture and cat together the relevant bits of all the output files in the expansion of whichever seed you want in the structure file. As I say it's doable in a shell pipeline and I don't think it's worth a tool, given that it comes up rarely and there are generally slight variations each time it does come up. | 15:15 |
slangasek | smb: followed up to the bug; would like some more info from your system before I start trying to assemble a reproducer locally | 15:29 |
=== tkamppeter_ is now known as tkamppeter | ||
dupondje | hm | 16:06 |
dupondje | grub2 broke?: grub-probe: error: failed to get canonical path of . | 16:06 |
dupondje | cjwatson: ^^ | 16:07 |
cjwatson | dupondje: don't run -proposed | 16:08 |
slangasek | hmm, haven't we said this before ;) | 16:08 |
infinity | A few times. | 16:08 |
cjwatson | dupondje: I blocked it in -proposed quite deliberately and am currently fixing that bug. You only encountered it because you went against recommendations and used -proposed :) | 16:08 |
slangasek | infinity: I meant to dupondje specifically :) | 16:09 |
dupondje | I know :) Just wanted to let it know :) | 16:12 |
slangasek | seb128, pitti: hurray, failure emails! | 16:12 |
cjwatson | I'd noticed myself already but thanks | 16:12 |
seb128 | slangasek, ;-) | 16:13 |
pitti | slangasek: indeed; I restarted them timely now | 16:13 |
slangasek | jodh: hey, so test-quiesce-cleanup | 16:22 |
slangasek | jodh: I still haven't had a chance to look at the code and piece my argument together fully, but the rough strokes are this: you're modifying the test code to opportunistically kill() a dangling process, and you should never need to do that in the test suite, because the tests should be *deterministic* about whether there are processes left over | 16:23 |
jodh | slangasek: see my latest comments - I changed the branch to do it deterministically. | 16:24 |
slangasek | jodh: either the shutdown is done in the right order, modeling our normal user session shutdown process, and everything gets cleaned up and there's nothing to kill, in which case it should be an error for the process to be left at the end; or you're modeling an out-of-order shutdown where the session init is being hard-killed from the outside, in which case we know the process should be left behind, and the test should consider it a fail | 16:24 |
slangasek | ... process *isn't* there | 16:24 |
slangasek | jodh: oh, hadn't noticed that the branch itself was updated | 16:24 |
slangasek | let me look things over today then :) | 16:25 |
jodh | slangasek: yeah - I've also added in big comments in the test code to explain what we're doing :) | 16:25 |
slangasek | xnox: so did the cmake cross-compiling you did sidestep the question of qmake upstream divergence? | 16:31 |
xnox | slangasek: not really, no. moc / qtchooser are still brain dead and claim that "No Qt installation found". It stopped being on the critical path, but we do need to solve co-installability. | 16:34 |
slangasek | xnox: for which case is co-installability needed? | 16:34 |
xnox | slangasek: e.g. qtbase5-dev is still not co-installable, and neither ubuntu-sdk. E.g. to be able to compile for multiple architectures on your host machine, without using chroots. Or e.g. have one chroot that can compile to i386/amd64/armhf/arm64.... | 16:37 |
xnox | slangasek: e.g. iphone 5S is ARM64 are we gonna hook them up as buildds? =) | 16:37 |
slangasek | blink | 16:39 |
slangasek | it's arm64? | 16:39 |
cjwatson | xnox: That isn't a blocker, though; I plan to just have one-per-arch chroot management | 16:39 |
slangasek | but yeah, we can get by for now with one chroot per target arch | 16:40 |
slangasek | it's not ideal, but it works | 16:40 |
slangasek | I just wanted to make sure we weren't blocked because we need both native *and* foreign copies of the package installed for cross-building | 16:40 |
xnox | slangasek: cjwatson: right. so one-per-arch chroot would work with cmake. | 16:43 |
xnox | slangasek: but we do really really want your bugfix debian #722045 applied as e.g. some qt sdk packages depend on python somewhere down the line for scripts et. al. | 16:45 |
ubottu | Debian bug 722045 in dh-python "Please support python:any dependencies for multiarch compatibility" [Normal,Open] http://bugs.debian.org/722045 | 16:45 |
slangasek | xnox: yep | 16:45 |
xnox | 350494 | 16:47 |
slangasek | achievement unlocked: two-factor auth IRC | 16:48 |
xnox | i was unpluggin it =) | 16:49 |
=== Nisstyre-laptop is now known as nisstyre | ||
cjwatson | Sigh, four bugs about grub2 2.00-18ubuntu2 already | 17:09 |
cjwatson | Actually five | 17:09 |
* cjwatson drops a little lecture about it being counterproductive to run saucy-proposed into the bug | 17:09 | |
directhex | <slangasek> it's arm64? <-- yep, apparently apple have crammed it into their "a7" chip. | 17:09 |
=== tiagohillebrandt is now known as tiagoscd | ||
=== tiagoscd is now known as Guest67365 | ||
dobey | hi all. can i get someone to ack the ubuntuone-client 3.0.2-0ubuntu2 upload to precise-proposed? would like to get that SRU out quickly if possible as it fixes a rather annoying bug :) | 18:10 |
pitti | cjwatson: did you freeze saucy until grub2 lands? | 18:53 |
pitti | cjwatson: since the grub2 amd64 build is now trapped in "unapproved", I can't make much sense of this | 18:54 |
pitti | cjwatson: it's not frozen in LP | 18:54 |
pitti | cjwatson: the i386 made it through; I guess we can just approve it from https://launchpad.net/ubuntu/saucy/+queue?queue_state=1 ? | 18:55 |
pitti | jibel: ^ FYI | 18:55 |
pitti | cjwatson, jibel: the powerpc build got auto-accepted, and there is a propagation block on it, so I took the liberty to accept the amd64 build from unapproved, so that the mayhem in the autopkgtests stop | 19:03 |
pitti | (however it ended up in unapproved in the first place) | 19:03 |
infinity | pitti: Anything with signed bits lands in unapproved. | 19:03 |
pitti | infinity: ah, that's because i386 isn't signed? | 19:04 |
infinity | pitti: Only amd64 produces an efi tarball, yes. | 19:04 |
infinity | You're meant to take that opportunity to verify the build matches the upload and the upload doesn't contain something that's going to trojan the world. | 19:05 |
infinity | I'm sure you did that, right? :) | 19:05 |
pitti | I personally identified every single bit | 19:05 |
pitti | infinity: more seriously, how is that being done? if we don't trust our buildds, what makes grub special? | 19:06 |
pitti | I doubt that anyone can verify the binary results, even a genius like cjwatson? | 19:06 |
infinity | pitti: Oh, I verify the trust path from the archive to the buildds. | 19:06 |
infinity | pitti: But not from random core-devs uploading to pushing an efi blob signed by Canonical's key. | 19:07 |
infinity | pitti: Hence checking the diff to make sure it was sane (or trusted). | 19:07 |
infinity | pitti: In this case, it being a Colin upload, the "trust" part probably works. | 19:07 |
pitti | infinity: ah; well, I did check the diff, yes | 19:07 |
infinity | pitti: This was the compromise between not completely locking down upload rights for the kernel and grub, and still being paranoid about our EFI key so Microsoft doesn't go and revoke us tomorrow. | 19:08 |
pitti | infinity: thanks for the heads-up | 19:08 |
* infinity realized this was probably never well communicated to all archive admins. | 19:08 | |
infinity | s/realized/realizes/ | 19:08 |
pitti | infinity: at least my mind now changed from "huh!?!?" to "yes, that makes sense" | 19:09 |
infinity | pitti: I'm not sure how much sense it makes to me, but I'm glad it makes sense to someone. ;) | 19:09 |
ScottK | pitti: Could you or someone have a look at the pyparsing autopkgtest failure? | 19:09 |
ScottK | Seems like an ADT issue according to jtaylor. | 19:10 |
pitti | ScottK: don't worry about them | 19:10 |
pitti | ScottK: all tests fail right now due to grub2 | 19:10 |
ScottK | OK. | 19:10 |
pitti | cf. me being anxious go get above fix in ASAP :) | 19:10 |
pitti | ScottK: we'll retry all failed tests after ubuntu3 is in the archive | 19:11 |
infinity | pitti: Wait, new bootloader uploads to proposed completely break your test infrastructure? | 19:11 |
infinity | pitti: This seems suboptimal. :) | 19:11 |
pitti | infinity: no, base packages failing to upgrade do | 19:11 |
pitti | infinity: well, in a way that's good | 19:11 |
infinity | pitti: Oh, the update-grub failure. Check. | 19:11 |
pitti | infinity: we do not *ever* want this near saucy, so any possibility of failing the gating is good | 19:11 |
infinity | pitti: I forgot that it was actually *broken*. That was, like, an hour ago. | 19:12 |
pitti | of course in this case the tests wouldn't actually have held back grub ubuntu2, that was cjwatson's manual block | 19:12 |
infinity | grub2 gets held back until someone upload grub2-signed anyway. | 19:13 |
pitti | but it worked for cloud-init and other upgrade failures, I think | 19:13 |
infinity | (Though, I'm about to do that, since Colin's block will still keep it all out) | 19:13 |
infinity | s/upload/uploads/ | 19:13 |
pitti | grub2-common | 2.00-18ubuntu3 | saucy-proposed | amd64, i386, powerpc | 19:27 |
pitti | jibel: ^ I think we can retry the failures now | 19:27 |
jibel | pitti, done | 19:28 |
pitti | jibel: I've kicked python-apt, let's make double-sure that works, and then nudge the rest? | 19:28 |
pitti | jibel: ah, thanks | 19:29 |
pitti | jibel: ah, you were using your new magic script? | 19:29 |
jibel | ubiqutiy failed but for a missing dep | 19:29 |
=== Nisstyre-laptop is now known as nisstyre | ||
jibel | pitti, it is just a very basic script that triggers jobs remotely :) | 19:31 |
jibel | at least it saves me a few clicks | 19:32 |
slangasek | pitti, infinity: the point of the efi unapproved queue isn't for you to verify the builder output, but for someone to verify that the source hasn't changed in an inappropriate way - i.e., that the upload wasn't from I. Justgotmotuandnowiownyouall making inappropriate changes to grub | 19:34 |
slangasek | so yeah, if Colin signed it, it should be good ;) | 19:34 |
pitti | slangasek: ack; I did review the debdiff, verifying the binary integrity would be out of scope | 19:35 |
slangasek | righto | 19:35 |
pitti | slangasek: ok, so we're all on the same page | 19:35 |
infinity | slangasek: That's what I said. :P | 19:46 |
slangasek | infinity: ok good :) | 19:47 |
infinity | 13:06 < infinity> pitti: Oh, I verify the trust path from the archive to the buildds. | 19:47 |
infinity | 13:07 < infinity> pitti: But not from random core-devs uploading to pushing an efi blob signed by Canonical's key. | 19:47 |
infinity | 13:07 < infinity> pitti: Hence checking the diff to make sure it was sane (or trusted). | 19:47 |
slangasek | tarpman: hi there | 19:50 |
tarpman | slangasek: hi! | 19:50 |
slangasek | tarpman: hey, so I'm wondering how you go about setting up one of these nfsroot VMs in virt-manager | 19:51 |
slangasek | tarpman: would I choose "PXE" even though I'm passing the kernel+initramfs from disk? | 19:52 |
tarpman | slangasek: that's what I did, easiest way to skip choosing install media | 19:53 |
slangasek | ok | 19:53 |
dobey | hi infinity! :) | 19:54 |
infinity | dobey: What did I do now? | 19:55 |
dobey | infinity: would you be so kind as to accept ubuntuone-client in precise-proposed? | 19:55 |
infinity | dobey: Have you ever known me to be kind? | 19:55 |
slangasek | tarpman: hmm, so virt-manager isn't saving my changes when I try to edit the boot device order | 19:56 |
slangasek | oh, now it is | 19:56 |
slangasek | works better when the guest isn't running | 19:56 |
infinity | dobey: (looking) | 19:57 |
infinity | dobey: There seems to be no particular explanation as to why removal of zeitgesist is the fix for this bug... | 19:58 |
slangasek | tarpman: so in this configuration, /etc/fstab is empty; I don't imagine that helps mountall figure out how to mount the rootfs | 20:00 |
dobey | infinity: hmm. should i copy/paste the zeitgeist related error from the attached log on the bug, into the description? the zeitgeist logging stuff was never actually used, and we aren't going to add a feature to use it, so it was easier to just backport its removal (as it's already gone in newer versions) | 20:02 |
tarpman | slangasek: looking at the stdout of mountall, it seems to be ok with deducing it from mountinfo | 20:03 |
tarpman | slangasek: when I was trying with nolock I wrote an fstab like '10.0.2.1:/srv/nfsroot/raring / nfs rw,nolock 0 1' and it didn't change much | 20:03 |
infinity | dobey: Just explaining in the SRU justification why zeitgeist is being removed would help. | 20:04 |
infinity | dobey: Right now, the justification sort of reads like "there's a bug, so we should fix it," without discussion of what and how. | 20:04 |
infinity | dobey: A bit opaque to someone looking back through history (or to me reviewing blind) | 20:05 |
dobey | infinity: you mean the "impact" section? | 20:05 |
dobey | or in the test case? | 20:05 |
slangasek | tarpman: ok. so at the moment, it looks like mountall has succeeded in mounting all the virtual filesystems, but then gets stuck, I currently have no idea why - but I can reproduce the failure, so should be able to make progress from here, thanks | 20:08 |
tarpman | slangasek: great! thanks for working on this, let me know if I can help any more | 20:08 |
slangasek | oh that's not cool, I get different behavior when booting with --debug vs. --verbose. :P | 20:12 |
infinity | dobey: The impact/justification section, whatever you want to call it. The description. :P | 20:13 |
infinity | dobey: Or even just in a bug comment. | 20:13 |
infinity | dobey: I'm less picky about formatting and more about there just being some reasoning given for the change at hand, since it's not something simple like "The string 'foo' should say 'bar'" which is easy to unwind and review. | 20:14 |
alberts | Hi! Can someone look at this (https://code.launchpad.net/~albertsmuktupavels/nautilus/white-screen-fix/+merge/180231) branch proposal? | 20:14 |
jono | who maintains Chromium? | 20:14 |
jono | all the toolbars are broken in 13.10 | 20:15 |
tarpman | slangasek: oh, my favourite type of bug :) | 20:15 |
seb128 | jono, qengho, and it seems to be due to webapps and should be fixed with the upload from today (which is is build/in proposed still) | 20:15 |
slangasek | tarpman: but on review, I think the issue is simply that the logfile is not being flushed :) | 20:15 |
jono | seb128, ahhh cool, thanks! | 20:15 |
seb128 | jono, yw | 20:15 |
dobey | infinity: updated description with a [Fix] section. :) | 20:17 |
infinity | dobey: Perfect, that tells me what I need to know to be less scared. :) | 20:18 |
infinity | dobey: And to be clear, removing the zeitgeist-core recommends is just the Right Thing To Do because it no longer has the integration, but having it installed (which it will be on upgrade) will not cause any harm? | 20:19 |
dobey | infinity: right. zeitgeist being installed won't cause any issue with u1. we just don't depend on it any more. it will be installed by default anyway, as unity and stuff depend on it | 20:20 |
* infinity nods. | 20:20 | |
infinity | dobey: Acceptificated. | 20:20 |
dobey | thanks | 20:21 |
=== salem_ is now known as _salem | ||
slangasek | xnox: so if I have a livefs written to a USB stick, and I want it to be UEFI bootable but I want to add extra partitions to make use of the extra space on the stick (for e.g., persistence data, or something else), what's the right way to do that? Last I checked, usb-creator didn't quite get this right... and trying to change things by hand with gdisk or parted doesn't help either, because they both want to start the first partition at s | 20:27 |
slangasek | ... not at sector 0 where the isofs starts | 20:28 |
slangasek | and casper is perfectly happy to mount /dev/sdb rather than /dev/sdb1, but then the kernel isn't happy letting me mount the other partitions :) | 20:28 |
stgraber | slangasek: I guess in such case, you'd be better off making a clean EFI bootable USB stick without the weird partition table. So create a GPT pasrtition table with the first partition being vfat containing the content of the iso image, then whatever partition you want after that. | 20:29 |
slangasek | stgraber: why vfat, instead of just blatting the ISOfs to the partition? | 20:29 |
stgraber | slangasek: because the iso image contains a gpt/fat/whatever partition table to try and get everything to boot it | 20:30 |
stgraber | which likely confuses the kernel a fair bit | 20:30 |
slangasek | stgraber: if it's all inside partition1, that wouldn't matter | 20:30 |
slangasek | the kernel isn't going to recursively look for partition tables :) | 20:31 |
slangasek | but yeah, in general moving the ISO contents to a partition seems to be the sanest way | 20:31 |
stgraber | hmm, true, not sure what the firmware will think of that partition (since you'd have a clean GPT with the first partition containing a gpt+vfat+hfs+iso header) | 20:31 |
slangasek | stgraber: hopefully it will think the same, or the firmware is quite buggy too :) | 20:34 |
robert_ancell | asac, hey | 21:00 |
=== vibhav is now known as Guest34507 | ||
slangasek | tarpman: ok, so the root mount is being blocked by two separate -mounting jobs - statd and idmapd. If I move them both to virtual-filesystems instead of local-filesystems, the nfsroot instance starts up without hangs | 21:36 |
slangasek | tarpman: for statd, moving this to start on virtual-filesystems looks correct. For idmapd, because it's located on /usr which may be a separate partition, I don't see an obvious way to fix this generically until we start handling /usr mounting from the initramfs | 21:37 |
tarpman | slangasek: theoretically idmapd shouldn't be necessary for an nfsroot since it can't be on nfsv4. but i'm not sure how one might explain that to upstart... | 21:44 |
slangasek | tarpman: why can't it be on nfsv4? | 21:44 |
tarpman | slangasek: (and, well, /usr could be nfsv4 even if / isn't) | 21:44 |
tarpman | slangasek: uh, [citation needed]. one sec | 21:44 |
slangasek | it can't be on nfsv4 with gss auth, to be sure; but there's non-gss nfsv4 | 21:44 |
slangasek | and the kernel tries v4 by default now when you ask it for nfs | 21:45 |
slangasek | but I dunno about nfsroot | 21:45 |
slangasek | tarpman: so if we *could* say "idmapd can't possibly be used for nfsroot", then I can adjust the idmapd-mounting job to exclude MOUNTPOINT=/ | 21:46 |
slangasek | actually, even if we can't say that, I could still do the above to get things working for people :) | 21:46 |
tarpman | I really thought I read a mailing list post not so long ago saying that the kernel nfsroot code didn't understand v4 yet, but of course I can't find it now. stupd selective memory | 21:47 |
tarpman | don't take my word for it, anyway | 21:47 |
slangasek | ok | 21:48 |
slangasek | so in any event, I at least have a fix that will let all NFSv3 nfsroot users boot, not regress anything for users who aren't using nfsroot, and continue to not support NFSv4 root | 21:49 |
tarpman | sounds like a net win | 21:49 |
=== Nisstyre-laptop is now known as nisstyre | ||
tarpman | slangasek: looks like it's actually klibc (nfsmount), and so initramfs-tools, that doesn't speak nfsv4 -- apparently dracut is able to do it... haven't tried myself | 22:03 |
slangasek | tarpman: ok. In the meantime, I've just uploaded nfs-utils to saucy | 22:04 |
=== _salem is now known as salem_ | ||
=== kentb is now known as kentb-out | ||
=== freeflying_away is now known as freeflying | ||
tarpman | slangasek: and saucy boots with that, great! :) | 22:28 |
slangasek | tarpman: huzzah, at last | 22:42 |
achiang | slangasek: do you know who might be the right person to take a look at LP: #1224193 ? it's a somewhat minor thing, but it *is* a papercut in an openstack environment | 23:13 |
ubottu | Launchpad bug 1224193 in update-manager (Ubuntu) "The helpful suggestions in do-release-upgrade give no love to OpenStack" [Undecided,New] https://launchpad.net/bugs/1224193 | 23:13 |
slangasek | achiang: I would say someone from the server team who knows the details of openstack and can propose us some text? | 23:14 |
achiang | slangasek: that was my thought... i was really trying to ask, who fits those requirements? ;) | 23:15 |
slangasek | achiang: oh. Um, smoser or utlemming? :) | 23:15 |
achiang | slangasek: great, i'll ping them if there's no activity on the bug for a day or so. thanks! | 23:16 |
* utlemming looks | 23:17 | |
=== darkbasic_ is now known as darkbasic | ||
utlemming | achiang: responded....its a good idea, just a hard problem to solve. Openstack isn't the only one that is affects -- EC2, Windows Azure, VPS, etc, etc, all have this problem too | 23:35 |
achiang | utlemming: it's a fair response, thanks! | 23:38 |
cjwatson | ScottK: I think you can drop your force-skiptest pyparsing/2.0.1+dfsg1-1 now; https://jenkins.qa.ubuntu.com/view/Saucy/view/AutoPkgTest/job/saucy-adt-pyparsing/ is passing again. | 23:42 |
cjwatson | pitti: Sorry for the disruption. Last-minute "looks good to me" changes FTL. | 23:43 |
slangasek | xnox: madness: http://package-import.ubuntu.com/status/ifupdown.html#2013-08-29%2019:33:34.918620 | 23:48 |
Generated by irclog2html.py 2.7 by Marius Gedminas - find it at mg.pov.lt!