[00:51] <pokk15> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
[00:51] <pokk15> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
[00:51] <pokk15> Consider Andrew Lee's involvement, Andrew Lee is Christel's boss at London Trust Media and he also controls the majority of freenode voting rights. Andrew Lee also heads the handshake ICO scam. Coincidence?
[00:51] <pokk15> Oh, and about those donations she speaks of: https://twitter.com/ISCdotORG/status/1025461692132519936
[00:51] <pokk15> Don't support freenode and their ICO scam, switch to a network that hasn't been co-opted by corporate interests. OFTC or efnet might be a good choice. Perhaps even https://matrix.org/
[01:07] <ExeciN20> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
[01:07] <ExeciN20> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
[01:08] <ExeciN20> Consider Andrew Lee's involvement, Andrew Lee is Christel's boss at London Trust Media and he also controls the majority of freenode voting rights. Andrew Lee also heads the handshake ICO scam. Coincidence?
[01:08] <ExeciN20> Oh, and about those donations she speaks of: https://twitter.com/ISCdotORG/status/1025461692132519936
[01:08] <ExeciN20> Don't support freenode and their ICO scam, switch to a network that hasn't been co-opted by corporate interests. OFTC or efnet might be a good choice. Perhaps even https://matrix.org/
[01:35] <exio41> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
[01:35] <exio41> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
[01:36] <exio41> Consider Andrew Lee's involvement, Andrew Lee is Christel's boss at London Trust Media and he also controls the majority of freenode voting rights. Andrew Lee also heads the handshake ICO scam. Coincidence?
[01:36] <exio41> Oh, and about those donations she speaks of: https://twitter.com/ISCdotORG/status/1025461692132519936
[01:47] <noah18> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
[01:48] <noah18> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
[01:48] <noah18> Consider Andrew Lee's involvement, Andrew Lee is Christel's boss at London Trust Media and he also controls the majority of freenode voting rights. Andrew Lee also heads the handshake ICO scam. Coincidence?
[01:48] <noah18> Oh, and about those donations she speaks of: https://twitter.com/ISCdotORG/status/1025461692132519936
[01:48] <noah18> Don't support freenode and their ICO scam, switch to a network that hasn't been co-opted by corporate interests. OFTC or efnet might be a good choice. Perhaps even https://matrix.org/
[06:26] <LuK133710> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
[06:26] <LuK133710> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
[06:26] <LuK133710> Consider Andrew Lee's involvement, Andrew Lee is Christel's boss at London Trust Media and he also controls the majority of freenode voting rights. Andrew Lee also heads the handshake ICO scam. Coincidence?
[06:26] <LuK133710> Oh, and about those donations she speaks of: https://twitter.com/ISCdotORG/status/1025461692132519936
[06:26] <LuK133710> Don't support freenode and their ICO scam, switch to a network that hasn't been co-opted by corporate interests. OFTC or efnet might be a good choice. Perhaps even https://matrix.org/
[07:02] <revi7> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
[07:02] <revi7> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
[07:02] <revi7> Consider Andrew Lee's involvement, Andrew Lee is Christel's boss at London Trust Media and he also controls the majority of freenode voting rights. Andrew Lee also heads the handshake ICO scam. Coincidence?
[07:02] <revi7> Oh, and about those donations she speaks of: https://twitter.com/ISCdotORG/status/1025461692132519936
[07:02] <revi7> Don't support freenode and their ICO scam, switch to a network that hasn't been co-opted by corporate interests. OFTC or efnet might be a good choice. Perhaps even https://matrix.org/
[07:39] <modin0> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
[07:40] <modin0> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
[07:40] <modin0> Consider Andrew Lee's involvement, Andrew Lee is Christel's boss at London Trust Media and he also controls the majority of freenode voting rights. Andrew Lee also heads the handshake ICO scam. Coincidence?
[07:40] <modin0> Oh, and about those donations she speaks of: https://twitter.com/ISCdotORG/status/1025461692132519936
[07:40] <modin0> Don't support freenode and their ICO scam, switch to a network that hasn't been co-opted by corporate interests. OFTC or efnet might be a good choice. Perhaps even https://matrix.org/
[08:15] <r00tobo11> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
[08:15] <r00tobo11> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
[08:15] <r00tobo11> Consider Andrew Lee's involvement, Andrew Lee is Christel's boss at London Trust Media and he also controls the majority of freenode voting rights. Andrew Lee also heads the handshake ICO scam. Coincidence?
[08:15] <r00tobo11> Oh, and about those donations she speaks of: https://twitter.com/ISCdotORG/status/1025461692132519936
[08:15] <r00tobo11> Don't support freenode and their ICO scam, switch to a network that hasn't been co-opted by corporate interests. OFTC or efnet might be a good choice. Perhaps even https://matrix.org/
[10:00] <Zx329> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
[10:00] <Zx329> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
[10:00] <Zx329> Consider Andrew Lee's involvement, Andrew Lee is Christel's boss at London Trust Media and he also controls the majority of freenode voting rights. Andrew Lee also heads the handshake ICO scam. Coincidence?
[10:00] <Zx329> Oh, and about those donations she speaks of: https://twitter.com/ISCdotORG/status/1025461692132519936
[10:00] <Zx329> Don't support freenode and their ICO scam, switch to a network that hasn't been co-opted by corporate interests. OFTC or efnet might be a good choice. Perhaps even https://matrix.org/
[10:04] <fxrh8> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
[10:05] <fxrh8> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
[10:05] <fxrh8> Consider Andrew Lee's involvement, Andrew Lee is Christel's boss at London Trust Media and he also controls the majority of freenode voting rights. Andrew Lee also heads the handshake ICO scam. Coincidence?
[10:28] <Guest82993> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
[10:28] <Guest82993> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
[10:28] <Guest82993> Consider Andrew Lee's involvement, Andrew Lee is Christel's boss at London Trust Media and he also controls the majority of freenode voting rights. Andrew Lee also heads the handshake ICO scam. Coincidence?
[10:28] <Guest82993> Oh, and about those donations she speaks of: https://twitter.com/ISCdotORG/status/1025461692132519936
[10:28] <Guest82993> Don't support freenode and their ICO scam, switch to a network that hasn't been co-opted by corporate interests. OFTC or efnet might be a good choice. Perhaps even https://matrix.org/
[10:51] <Evidlo7> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
[10:51] <Evidlo7> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
[10:51] <Evidlo7> Consider Andrew Lee's involvement, Andrew Lee is Christel's boss at London Trust Media and he also controls the majority of freenode voting rights. Andrew Lee also heads the handshake ICO scam. Coincidence?
[10:51] <Evidlo7> Oh, and about those donations she speaks of: https://twitter.com/ISCdotORG/status/1025461692132519936
[10:51] <Evidlo7> Don't support freenode and their ICO scam, switch to a network that hasn't been co-opted by corporate interests. OFTC or efnet might be a good choice. Perhaps even https://matrix.org/
[11:38] <doaks> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
[11:38] <doaks> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
[11:38] <doaks> Consider Andrew Lee's involvement, Andrew Lee is Christel's boss at London Trust Media and he also controls the majority of freenode voting rights. Andrew Lee also heads the handshake ICO scam. Coincidence?
[11:38] <doaks> Oh, and about those donations she speaks of: https://twitter.com/ISCdotORG/status/1025461692132519936
[11:38] <doaks> Don't support freenode and their ICO scam, switch to a network that hasn't been co-opted by corporate interests. OFTC or efnet might be a good choice. Perhaps even https://matrix.org/
[12:03] <ignacio29> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
[12:03] <ignacio29> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
[12:03] <ignacio29> Consider Andrew Lee's involvement, Andrew Lee is Christel's boss at London Trust Media and he also controls the majority of freenode voting rights. Andrew Lee also heads the handshake ICO scam. Coincidence?
[12:03] <ignacio29> Oh, and about those donations she speaks of: https://twitter.com/ISCdotORG/status/1025461692132519936
[12:03] <ignacio29> Don't support freenode and their ICO scam, switch to a network that hasn't been co-opted by corporate interests. OFTC or efnet might be a good choice. Perhaps even https://matrix.org/
[13:03] <^Phantom^17> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
[13:03] <^Phantom^17> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
[13:03] <^Phantom^17> Consider Andrew Lee's involvement, Andrew Lee is Christel's boss at London Trust Media and he also controls the majority of freenode voting rights. Andrew Lee also heads the handshake ICO scam. Coincidence?
[13:03] <^Phantom^17> Oh, and about those donations she speaks of: https://twitter.com/ISCdotORG/status/1025461692132519936
[13:03] <^Phantom^17> Don't support freenode and their ICO scam, switch to a network that hasn't been co-opted by corporate interests. OFTC or efnet might be a good choice. Perhaps even https://matrix.org/
[13:42] <timvisher9> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
[13:42] <timvisher9> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
[13:42] <timvisher9> Consider Andrew Lee's involvement, Andrew Lee is Christel's boss at London Trust Media and he also controls the majority of freenode voting rights. Andrew Lee also heads the handshake ICO scam. Coincidence?
[13:42] <timvisher9> Oh, and about those donations she speaks of: https://twitter.com/ISCdotORG/status/1025461692132519936
[13:42] <timvisher9> Don't support freenode and their ICO scam, switch to a network that hasn't been co-opted by corporate interests. OFTC or efnet might be a good choice. Perhaps even https://matrix.org/
[14:46] <wget> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
[14:46] <wget> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
[14:46] <wget> Consider Andrew Lee's involvement, Andrew Lee is Christel's boss at London Trust Media and he also controls the majority of freenode voting rights. Andrew Lee also heads the handshake ICO scam. Coincidence?
[14:46] <wget> Oh, and about those donations she speaks of: https://twitter.com/ISCdotORG/status/1025461692132519936
[14:46] <wget> Don't support freenode and their ICO scam, switch to a network that hasn't been co-opted by corporate interests. OFTC or efnet might be a good choice. Perhaps even https://matrix.org/
[14:56] <spb4> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
[14:56] <spb4> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
[14:56] <spb4> Consider Andrew Lee's involvement, Andrew Lee is Christel's boss at London Trust Media and he also controls the majority of freenode voting rights. Andrew Lee also heads the handshake ICO scam. Coincidence?
[14:56] <spb4> Oh, and about those donations she speaks of: https://twitter.com/ISCdotORG/status/1025461692132519936
[14:56] <spb4> Don't support freenode and their ICO scam, switch to a network that hasn't been co-opted by corporate interests. OFTC or efnet might be a good choice. Perhaps even https://matrix.org/
[15:25] <plonk25> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
[15:25] <plonk25> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
[15:25] <plonk25> Consider Andrew Lee's involvement, Andrew Lee is Christel's boss at London Trust Media and he also controls the majority of freenode voting rights. Andrew Lee also heads the handshake ICO scam. Coincidence?
[15:25] <plonk25> Oh, and about those donations she speaks of: https://twitter.com/ISCdotORG/status/1025461692132519936
[15:25] <plonk25> Don't support freenode and their ICO scam, switch to a network that hasn't been co-opted by corporate interests. OFTC or efnet might be a good choice. Perhaps even https://matrix.org/
[16:26] <thunderrd25> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
[16:26] <thunderrd25> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
[16:26] <thunderrd25> Consider Andrew Lee's involvement, Andrew Lee is Christel's boss at London Trust Media and he also controls the majority of freenode voting rights. Andrew Lee also heads the handshake ICO scam. Coincidence?
[16:26] <thunderrd25> Oh, and about those donations she speaks of: https://twitter.com/ISCdotORG/status/1025461692132519936
[16:26] <thunderrd25> Don't support freenode and their ICO scam, switch to a network that hasn't been co-opted by corporate interests. OFTC or efnet might be a good choice. Perhaps even https://matrix.org/
[17:10] <grubles21> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
[17:10] <grubles21> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
[17:10] <grubles21> Consider Andrew Lee's involvement, Andrew Lee is Christel's boss at London Trust Media and he also controls the majority of freenode voting rights. Andrew Lee also heads the handshake ICO scam. Coincidence?
[17:11] <grubles21> Oh, and about those donations she speaks of: https://twitter.com/ISCdotORG/status/1025461692132519936
[17:11] <grubles21> Don't support freenode and their ICO scam, switch to a network that hasn't been co-opted by corporate interests. OFTC or efnet might be a good choice. Perhaps even https://matrix.org/
[17:41] <ktr29> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
[17:41] <ktr29> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
[17:41] <ktr29> Consider Andrew Lee's involvement, Andrew Lee is Christel's boss at London Trust Media and he also controls the majority of freenode voting rights. Andrew Lee also heads the handshake ICO scam. Coincidence?
[17:42] <ktr29> Oh, and about those donations she speaks of: https://twitter.com/ISCdotORG/status/1025461692132519936
[17:42] <ktr29> Don't support freenode and their ICO scam, switch to a network that hasn't been co-opted by corporate interests. OFTC or efnet might be a good choice. Perhaps even https://matrix.org/
[18:08] <nero7> Christel just posted this "denial" on the freenode blog https://freenode.net/news/spam-shake Why does this blog post mention "10.2 million" THREE times?
[18:08] <nero7> This blog is essentially an ad for the Handshake ICO scam with a one-line "denial" of involvement mixed in there. It's obviously very unethical of Christel to not mention her own involvement in the scam which the blog post promotes.
[18:08] <nero7> Consider Andrew Lee's involvement, Andrew Lee is Christel's boss at London Trust Media and he also controls the majority of freenode voting rights. Andrew Lee also heads the handshake ICO scam. Coincidence?
[18:09] <nero7> Oh, and about those donations she speaks of: https://twitter.com/ISCdotORG/status/1025461692132519936
[18:09] <nero7> Don't support freenode and their ICO scam, switch to a network that hasn't been co-opted by corporate interests. OFTC or efnet might be a good choice. Perhaps even https://matrix.org/
[19:05] <Tourist3> kaniini has invited you to join #litepub
[20:08] <lbft4> kaniini has invited you to join #litepub
[20:13] <Code_Red20> kaniini has invited you to join #litepub
[22:27] <ecrist1> kaniini has invited you to join #litepub
[22:55] <jem10> kaniini has invited you to join #litepub
[23:14] <mozzarella4> kaniini has invited you to join #litepub
[23:27] <Hijiri19> kaniini has invited you to join #litepub
[23:45] <Guest52305> kaniini has invited you to join #litepub


[00:01] <mtaylor> lifeless: it's running 7.04... probably no suspend :)
[00:01] <mtaylor> benji: I'm with lifeless and rockstar... you can't reboot that bad boy right now
[00:02] <benji> ok, bowing to popular opinion he gets a stay of execution until next week
[00:02] <benji> we'll have a small memorial service with light refreshments to follow
[00:02] <lifeless> and whoever said peer pressure didn't work
[00:24] <mtaylor> thumper: the commit count on https://code.edge.launchpad.net/nova ... that's counting unmerged revs? cause in a branch if I run  'bzr log -n0 | grep revno | wc -l' I get 527
[00:24] <mtaylor> thumper: so I'm just curious what the number on the site means
[00:24]  * thumper looks
[00:24] <thumper> 1171  commits by 22  people in the last month
[00:24] <thumper> that bit?
[00:24] <mtaylor> yup
[00:25] <thumper> counts all commits into branches related to that project
[00:25] <thumper> in the last 30 days
[00:25] <thumper> not just mainline commits
[00:25] <mtaylor> does it de-dup?
[00:25] <thumper> yep
[00:25] <thumper> distinct revisions
[00:25] <mtaylor> cool
[00:25] <mtaylor> thanks
[00:25] <thumper> np
[01:29] <wgrant> Hrmph.
[01:29] <wgrant> The python-debian upgrade overnight seems to have blown everything up.
[01:29] <wgrant> Starting the test suite fails with a DeprecationWarning.
[01:29] <wgrant> Commenting it out makes it work fine.
[01:30] <wgrant> But I don't see why a DeprecationWarning would be fatal...
[01:32] <wgrant> Ah, I wonder if that latest bzr-builder-related revision fixes it.
[01:38] <wgrant> How do people manage to file Ubuntu bugs against malone using apport?
[01:45] <lifeless> hmm
[01:45] <lifeless> is it just malone?
[01:45] <lifeless> could be a buggy apport script pointing at malone directly somewhere
[01:53] <wgrant> lifeless: It's just a single accidental bug.
[01:53] <wgrant> But it's amazing that people still manage it.
[01:58]  * mwhudson lunches
[01:58] <lifeless> wgrant: theres been a few I thought
[01:59] <wgrant> lifeless: Not normally filed with apport.
[03:03] <wgrant> Fuuuck.
[03:04] <wgrant> The upload processor was just really delayed.
[03:04] <wgrant> So I now have the same package accepted twice into the same PPA.
[03:05] <wgrant> Somehow the cocoplum and germanium upload processors managed to run at just the same time.
[03:05] <wgrant> After not running for an extended period.
[03:06] <wgrant> Now my PPA is going to be all broken :(
[03:07] <wgrant> ooooohdear.
[03:07] <StevenK> wgrant: What have we told you about breaking the world? :-P
[03:07] <wgrant> At least it's only the staging PPA, not the production one...
[03:08] <wgrant> The result of these builds could be, um, interesting.
[03:09] <wgrant> https://edge.launchpad.net/~unimelb-ivle/+archive/staging/+packages
[03:18] <wgrant> Start 2010-08-01 (2505) What's this?
[03:18] <wgrant> Grrrrr.
[03:18] <wgrant> Can I convince someone to give me a score bump?
[03:22] <wgrant> https://edge.launchpad.net/~unimelb-ivle/+archive/staging/+build/1896715 is very sad and would love a bump.
[03:23] <wgrant> Oh.
[03:23] <wgrant> There are no builders.
[03:23] <wgrant> Grr.
[03:24] <wgrant> Why must the builders disappear when the queue is days long?
[03:24] <wgrant> It really makes PPAs a whole lot less useful.
[03:25] <wgrant> When you have to wait 48 hours for a build.
[03:34] <wgrant> Something is seriously wrong with the upload processors. I just got a rejection for an upload that I did an hour ago.
[03:37] <lifeless> losa ping
[03:37] <lifeless> ^
[03:38] <thumper> mwhudson: ping
[03:41] <mwhudson> thumper: pong
[03:41] <thumper> mwhudson: can I have a pre-impl thing with you?
[03:41] <thumper> although thinking it through, I think I almost have it :)
[03:42] <mwhudson> thumper: heh, ok, skype?
[03:42] <thumper> yeah
[03:42] <mwhudson> going online...
[03:53] <wgrant> Blah.
[03:53] <wgrant> Just got another three rejections.
[03:53] <wgrant> 1.5 hours later.
[03:58] <lifeless> wgrant: are they valid & slow, or invalid rejections ?
[03:58] <wgrant> lifeless: They're valid, but really really slow.
[03:59] <wgrant> Heh.
[03:59] <wgrant> Actually, the rejection reason is broken, because the PPA is now broken. but they should have been rejected anyway.
[04:09]  * wgrant sometimes wonders how Launchpad hopes to be taken seriously.
[04:16] <mwhudson> wgrant: surprisingly, there exists software that sucks much more than launchpad
[04:16] <wgrant> mwhudson: Yes, but other stuff generally doesn't make me regret moving to it for deployments every time I try to make a release.
[04:16] <wgrant> And other stuff doesn't have 3 day build queues.
[04:18] <mwhudson> yeah, the build queue is pretty insane currently
[04:18] <wgrant> And often is.
[04:18] <wgrant> And nobody seems to care.
[04:22] <thumper> wgrant: we do care
[04:22] <thumper> wgrant: perhaps we should show you our scars where we cut ourselves each time a user complains
[04:26] <wgrant> thumper: The build queue has reached the 2-3 day mark at least once every couple of weeks, lately.
[04:26] <wgrant> That makes one of Launchpad's big features just about useless.
[04:27] <wgrant> A couple of years ago, a bad PPA build wait might be a couple of hours. Now it's often 24 times that.
[04:30] <magcius> Does anybody even work on Loggerhead anymore?
[04:33] <thumper> magcius: yes, but not an active LP dev
[04:33] <magcius> thumper: argh. There are several UX issues with it that are so annoying.
[04:34] <magcius> thumper: is there a slated replacement or similar for the code browsing?
[04:41] <thumper> magcius: more a fixing than replacement
[04:41] <thumper> magcius: what is it that annoys you so much?
[04:41] <magcius> thumper: the lack of left margin for code, especially annoying with Python
[04:42] <magcius> thumper: and the blame lines are not monospaced and centered, which makes it even more annoying
[04:42] <thumper> magcius: can you give me a concrete example?
[04:42] <thumper> magcius: a link maybe?
[04:42] <magcius> thumper: http://bazaar.launchpad.net/~loggerhead-team/loggerhead/trunk-rich/annotate/head%3A/loggerhead/apps/config.py
[04:43] <magcius> thumper: (the URLs are my second complaint)
[04:43] <magcius> thumper: if you scroll down a bit, it's easy to lose your place in the indentation
[04:44] <magcius> thumper: also, if I want to go up to the directory that that is in
[04:44] <magcius> thumper: I can't just edit the URL to remove the "config.py", it gives an error
[04:44] <magcius> thumper: the 'head:' that is encoded is annoying when passing around, and the URL is needlessly long.
[04:47] <magcius> thumper: I logged these: #569355 and #569358
[04:47] <_mup_> Bug #569355: Left margin in code view. <loggerhead:New> <https://launchpad.net/bugs/569355>
[04:47] <_mup_> Bug #569358: Code viewer URLs have problems <loggerhead:New> <https://launchpad.net/bugs/569358>
[04:47] <magcius> After a month or two, they're still both "New"
[04:51] <thumper> magcius: I'm sure loggerhead could use some keen devs :)
[04:51] <magcius> thumper: it looks to be a Django app.
[04:51] <thumper> magcius: I think it is pretty vanilla wsgi
[04:52] <lifeless> its pastedeploy specifically, which is pretty stock wsgi
[04:52] <magcius> oh hey, it's broken too
[04:52] <magcius> http://bazaar.launchpad.net/~loggerhead-team/loggerhead/trunk-rich/annotate/head%3A/loggerhead/apps/config.py
[04:53] <magcius> if you click on one of the parent directories at the top, it takes you to a weird URL where none of the files from then on work
[04:53] <magcius> like http://bazaar.launchpad.net/~loggerhead-team/loggerhead/trunk-rich/files/428?file_id=apps-20080618010429-n87ewcyimdwsx90g-3
[05:03] <lifeless> mwhudson: ping; I've just done a microreview about string formatting ;)
[05:03] <lifeless> mwhudson: if you want to discuss in realtime, let me know.
[05:06] <mwhudson> lifeless: you have? where?
[05:07] <lifeless> https://code.edge.launchpad.net/~mwhudson/launchpad/vostok-traverse-distro/+merge/31241
[05:08] <mwhudson> lifeless: branch_type is an enum
[05:08] <mwhudson> or value from an enum, really i guess
[05:08] <lifeless> mwhudson: _always_, reliably, even when its gone wrong ?
[05:08] <mwhudson> lifeless: i think so
[05:08] <mwhudson> lifeless: however
[05:08] <mwhudson> lifeless: this isn't my change and i'm happy to revert it
[05:09] <lifeless> It seems to me that the reflex of 'this can go wrong' is one worth making easy to apply
[05:09] <mwhudson> yeah, i agree i think
[05:09] <mwhudson> hey!
[05:09] <mwhudson> someone review this: https://code.edge.launchpad.net/~mwhudson/launchpad/kill-launchbag.site/+merge/31348
[05:09] <StevenK> O hai! thumper, mwhudson: Could one (or both, I don't mind) have a look at an MP that I've pushed up that uses the job infrastructure?
[05:11] <StevenK> https://code.edge.launchpad.net/~stevenk/launchpad/db-add-ifp-job/+merge/31349
[05:11] <lifeless> mwhudson: can you let whomever made that change know about this discussion ?
[05:12] <mwhudson> lifeless: sure
[05:12] <StevenK> lifeless: You too, if you wouldn't mind, but you tend to stalk new MPs anyway
[05:12] <lifeless> StevenK: I stalk everyones
[05:12] <lifeless> StevenK: I'm subscribed to the feed
[05:12] <lifeless> StevenK: but I'll pass today, today is jetlad day #2.
[05:12] <lifeless> StevenK: I will look monday
[05:13] <StevenK> lifeless: You'll need to do a DB review in any case, but Monday is cool
[05:13] <mwhudson> StevenK: + -- The particular type of foo job
[05:13] <StevenK> Oh, damn it
[05:13] <mwhudson> do you need the job_type anyway?
[05:13] <StevenK> I knew I should have grep'd the diff for 'foo'
[05:14] <mwhudson> i can't really imagine InitialiseDistroSeriesJob containing other kinds of job, somehow...
[05:15] <StevenK> mwhudson: TBH, I was following the wiki page -- so I'm not certain. I can forsee the need to change it later to add the ability to, for example, do a scorched-earth rebuild.
[05:17] <mwhudson> ok
[05:18] <StevenK> mwhudson: So is that a use-case for job_type, or that can be fed in via the JSON metadata?
[05:21] <mwhudson> StevenK: i guess it depends on details
[05:21] <mwhudson> StevenK: the point of job_type not being in the json is that you can query it
[05:21] <mwhudson> would you have a different cron job for that kind of ifp job?
[05:22] <StevenK> Nope, they should be handled by one cron job
[05:25] <mwhudson> then i don't think you need a job_type at this stage
[05:26] <mwhudson> StevenK: similarly, i'm a bit suspicious of the json_data
[05:27] <StevenK> mwhudson: Well, I think there is a need (although, not right now) to feed in some more data, so leaving it in sounds fair.
[05:28] <StevenK> mwhudson: However, I agree re: death to job_type, and have added to that my list
[05:28] <lifeless> StevenK: json is json
[05:28] <lifeless> why have two fields?
[05:28] <lifeless> assuming I read the chatter here correctly
[05:28] <wgrant> Isn't someone else working on copy archive population jobs?
[05:28] <wgrant> Isn't that pretty similar to i-f-p?
[05:29] <mwhudson> wgrant: it was james_w
[05:30]  * StevenK reads through james' MP
[05:31] <StevenK> That's for an entire archive, whereas my MP covers distroseries
[05:32] <wgrant> StevenK: They seem very, very similar.
[05:32] <wgrant> populate-archive just happens to not copy binaries.
[05:36]  * StevenK will talk to Julian
[05:58] <thumper> StevenK: and while you're at it, please another blood-letting for the lack of builders making wgrant's build take two days
[05:59] <StevenK> thumper: I would, but I value my ears
[06:00]  * StevenK heads out to the bank
[06:11] <mwhudson> thumper: did you know that the view returned by test_traverse() is security proxied?
[06:18] <thumper> mwhudson: nope
[06:18] <mwhudson> or at least in this case
[07:10] <wgrant> I am confusede.
[07:10] <StevenK> Is that Ye Olde English confused?
[07:13] <wgrant> It's "I'm doing too many things to state my confusion" :P
[07:14] <wgrant> I don't understand why dailies have priority to destroy the build farm even more than it is already.
[07:14] <wgrant> I would have thought they would be the last things, apart from rebuilds, that should be built in a situation of the worst resource starvation we've seen in a looong time.
[07:15] <wgrant> The queue is three days long.
[07:15] <wgrant> It will take more than that to clear.
[07:16] <StevenK> wgrant: So, I had already admitted I had privledges, and would bump builds. Am I supposed to reply back with "Your builds aren't important enough, sod off" ?
[07:17] <wgrant> I think there needs to be a policy.
[07:17] <wgrant> Because this starvation happens frequently.
[07:17] <wgrant> And long-running new crack builds are surely not the things that need to be prioritised.
[07:17] <StevenK> Alpha 3 is around the corner, which is where I suspect the builders have gone.
[07:18] <StevenK> wgrant: Which still ends up with people being told "Your builds aren't important enough, sod off"; but they are, to *them*
[07:18] <wgrant> StevenK: I don't see how dailies could possibly be important.
[07:18] <wgrant> They are dailies.
[07:18] <wgrant> They happen daily.
[07:19] <StevenK> They attempt to happen daily
[07:19] <wgrant> Nobody is going to be pissed off if one delivery of the new daily crack is delayed by 24 hours.
[07:19] <wgrant> People *are* going to be pissed off if their first builds in weeks take five days.
[07:19] <StevenK> Except, say, fta, who is well-documented about his feelings of the build farm
[07:20] <wgrant> See, I have a build which will take less than a minute.
[07:20] <wgrant> And it won't be done for five days. Because the dailies are prioritised.
[07:20] <wgrant> When there could be hundreds of other builds done in the time a single daily takes.
[07:20] <StevenK> But I can't bump that one
[07:20] <StevenK> Sadly
[07:22]  * wgrant now has to advise the admins to use a repository elsewhere, because the PPA can't be populated with the new release within a week.
[07:23] <StevenK> wgrant: I can bump builds if you ask, but I was under the impression recipe builds can't be bumped
[07:25] <wgrant> StevenK: A score bump for https://edge.launchpad.net/~unimelb-ivle/+archive/staging/+build/1896715 would be most appreciated.
[07:25] <wgrant> Otherwise, I'll make my arch-indep packages arch-dep, and just let it build on amd64 in a few hours...
[07:27] <StevenK> wgrant: Bumped; with a score above the other builds I bumped
[07:27] <wgrant> StevenK: Thankyou muchly.
[07:28] <StevenK> Can you even buy beer yet?
[07:28] <wgrant> Hopefully the other builders will reappear at some point.
[07:28]  * StevenK cackles
[07:28] <wgrant> Not in the US :P
[07:28] <StevenK> I wasn't in the US, last I checked :-)
[07:29] <wgrant> Tarue.
[07:29] <wgrant> Hmm.
[07:29] <wgrant> Double form submission.
[07:29] <wgrant> I clicked the button once, but it submitted twice.
[07:29] <wgrant> That's a bit scary.
[07:30] <StevenK> Browser bug? :-P
[07:30] <wgrant> Possible...
[07:32]  * StevenK is also distracted, arguing with Telstra over a bill :-/
[07:32] <wgrant> KILL THEM.
[07:32] <StevenK> Haha
[07:33] <wgrant> At least with NBN that might all go away...
[07:33] <wgrant> Telstra will become irrelevant and fade away :)
[07:33] <wgrant> Or so we can hope...
[08:30] <adeuring> good morning
[09:09] <mrevell> Ni hao
[11:54] <wgrant> bigjools: I wonder if current_source_publication should be latest_source_publication.
[11:55] <bigjools> wgrant: it could be an additional method
[11:55] <wgrant> Ah, good idea.
[11:55] <bigjools> current_ is very valid
[12:05] <deryck> Morning, all.
[12:36] <jml> pqm could be much better.
[12:37] <jml> deryck, good morning
[12:43] <mrevell> Thanks for the blog post deryck
[12:43] <deryck> mrevell, glad to do it.  Now to actually get that bug fixed. :-)
[12:43] <mrevell> :)
[13:07] <wgrant> bigjools: Any chance of a score bump for https://edge.launchpad.net/~unimelb-ivle/+archive/staging/+packages?
[14:22] <bigjools> wgrant: still around?
[14:22] <wgrant> bigjools: Indeedily.
[14:22] <bigjools> wgrant: seen /builders for nonvirt i386?
[14:22] <bigjools> 149 jobs (eight minutes)
[14:22] <wgrant> It's translations jobs.
[14:23] <bigjools> I think not - and nothing was getting dispatched earlier
[14:23] <wgrant> They appear in the wrong queue, and their estimated duration is screwed.
[14:23] <bigjools> still not
[14:23] <wgrant> Oh?
[14:23] <bigjools> ah
[14:23] <bigjools> TTBJs?
[14:23] <wgrant> Translations jobs.
[14:23] <wgrant> Yes.
[14:24] <wgrant> I filed a bug about the incorrect queue earlier this week.
[14:24] <wgrant> And they have a low score, so they'll sit there until the i386 virt queue clears.
[14:24] <wgrant> I don't know of a bug for the bad duration estimate.
[14:33] <bigjools> wgrant: are they also in the PPA queue length?
[14:33] <wgrant> bigjools: No.
[14:33] <bigjools> ah
[14:33] <bigjools> wow, I wonder why there;s so many
[14:34] <wgrant> It's not that many.
[14:34] <wgrant> it's a couple of days' worth, at least...
[14:35] <bigjools> 150!
[14:35] <bigjools> we need to score them up a bit
[14:35] <bigjools> they're quick
[14:35] <bigjools> I'm also toying with the idea of scoring people's builds -1 for each outstanding build they have
[14:36] <wgrant> Possibly.
[14:36] <wgrant> I think we need to rethink scheduling.
[14:36] <wgrant> Since the current system obvious doesn't work.
[14:36] <wgrant> At all.
[14:36] <wgrant> +ly
[14:37] <bigjools> well, it does work
[14:37] <bigjools> the problem is that there;s more work than the builders can handle
[14:37] <bigjools> we're due 7 more PPA builders  soon-ish
[14:38] <wgrant> You've been saying that since Wellington :P
[14:38] <wgrant> But the problem also manifests itself when the daily wave appears.
[14:38]  * bigjools can't comment on why they're not instaled
[14:38] <wgrant> The dailies drown out other builds for a few hours.
[14:38] <bigjools> yes
[14:38] <bigjools> and if we score those down, someone else complains
[14:38] <bigjools> *shrug*
[14:39] <wgrant> If they don't build for a while, sure.
[14:39] <wgrant> But there should be no issue with a wait of a few hours.
[14:39] <wgrant> Which allows a much more realtime experience for the people who actually upload things.
[14:41] <bigjools> so the next piece of work will be to add some knobs and dials to bias scores on the fly
[14:45] <wgrant> Hmm. I'm not sure that a more automated solution could not be devised.
[14:45] <wgrant> But first, sleep.
[14:46] <wgrant> Did they just steal samarium too?
[14:51] <StevenK> Unlikely
[14:52] <james_w> hi StevenK
[14:52] <StevenK> james_w: O hai!
[14:53] <james_w> StevenK: I'll take a look today at how much the two job types can be coalesced
[14:53] <james_w> I'm pretty sure we don't need two db tables at least
[14:53] <StevenK> james_w: That sounds great. We could probably get away with 2 job types
[14:54] <james_w> I'm not sure what's so different that they can't share some of the same code as well
[14:54] <wgrant> I think they can share an awful lot of code.
[14:54] <wgrant> Populating a copy archive is just a subset of i-f-p.
[14:55]  * bigjools high fives james_w, StevenK and wgrant
[15:11] <StevenK> wgrant: samarium is back
[17:03] <jelmer> sinzui, hi
[17:03] <sinzui> hi jelmer
[17:04] <jelmer> sinzui: The PPA appears to be lacking a copy of pocket-lint for hardy, is that intentional?
[17:05] <maxb> I mentioned this on the mailing list
[17:05]  * maxb finds thread
[17:07] <sinzui> jelmer. Sort of. I think all developers are on lucid or maverick, and pocket-lint is only used by developers
[17:07] <sinzui> Amu I wrong
[17:07] <sinzui> ?
[17:07] <sinzui> am I wrong?
[17:08] <jelmer> sinzui: The ec2 image is still hardy-based so it's impossible to update at the moment.
[17:08] <sinzui> bugger
[17:08] <maxb> sinzui: We should not preclude developing on the distro that production uses, nor should launchpad-developer-dependencies be uninstallable in any ppa series, IMO
[17:09] <sinzui> well I do not know if pocket-lint works on hardy. We could copy it and see if it builds
[17:09] <jelmer> sinzui: I'll try
[17:09] <sinzui> has 0.5 been built yet?
[17:10] <jelmer> no, the PPA has 0.4 at the moment
[17:12] <sinzui> jelmer, I think it will work since python 2.5 was backported for lp. pocket-lint includes its external deps in a contrib dir.
[17:43] <sinzui> has anyone put any thought about what for do about LaunchpadObjectFactory.makeDistributionSourcePackage returns an unproxied object
[17:44] <sinzui> It is simple class that differs to database classes. I cannot image how to get a proxied version of a DSP
[17:51] <bigjools> sinzui: construct it from proxied objects?
[17:51] <bigjools> s/from/inside/
[17:51] <sinzui> I am look for that actually
[17:52] <sinzui> I think distribution.getSourcePackage() is the only way to get a proxies object
[18:05] <rockstar> mars, so what's the deal with the lazr-js branches?
[18:12] <jml> deryck, hi
[18:12] <deryck> jml, hi.  on call right now.
[18:13] <jml> deryck, np. I'll use email to achieve my nefarious purpose
[18:16] <jml> sinzui, ProxyFactory
[18:17] <sinzui> jml: distribution.getSourcePackage() a nice one line change
[18:17] <jml> sinzui, cool.
[18:17] <jml> fwiw, my branch that turns the print outs into Python warnings has landed
[18:18] <jml> if it sucks, revert it & send me an email.
[18:41]  * rockstar lunches
[19:27] <james_w> so, we were asked to make sure that it is possible to delete all artefacts of copy archives from the librarian. Could anyone point me to any code that I could read about the cleanup process and how it is decided what to delete?
[19:32] <bigjools> james_w: it's not easy
[19:33] <bigjools> james_w: start at the publishing records, then cascade down through builds, librarian files and spr/bpr if they're not published elsewhere
[19:34] <bigjools> we added some ON DELETE CASCADEs to the model but some of it's dangerous
[19:36] <james_w> bigjools: so it's merely that the archive is deleted, and that cascades down to delete the librarian files at the end of the chain?
[19:36] <bigjools> james_w: in an ideal world yes, but remember that stuff was copied from other archives so a lot of the files may be shared
[19:37] <bigjools> your binaries won't in the case of copy archives of course, but if we apply this work to PPAs as well then it will
[19:37] <james_w> bigjools: right, I'm just trying to understand the process first
[19:37] <bigjools> james_w: the db cascade only goes so far, it stops at the stuff that might be shared
[19:39] <lifeless> moin
[19:40] <james_w> bigjools: so we need another process, as we can't rely on the database to do this for us
[19:40] <bigjools> james_w: yes - we've implemented some of it in the publisher, which is the right place to do this
[19:40] <bigjools> hello lifeless, working on the weekend
[19:41] <bigjools> james_w: there's an archive status of DELETING and DELETED
[19:41] <bigjools> james_w: the former is set by the webapp request and the publisher picks that up, deletes the repo, and sets status to DELETED
[19:42] <james_w> bigjools: the publisher deletes the published files and the librarian files too?
[19:42] <bigjools> james_w: no, just the repo area right now
[19:43] <bigjools> there's a separate process that deletes librarian files
[19:43] <bigjools> we need to extend it to pick up copy archive files
[19:43] <james_w> ok, and where is that process?
[19:44] <bigjools> cronscripts/expire-archive-files.py
[19:45] <bigjools> james_w: it picks up superseded and deleted publications
[19:45] <bigjools> james_w: you can just make a one line change to that script :)
[19:45] <james_w> and deleting a copy archive will delete the publications from that archive?
[19:45] <bigjools> yes
[19:46] <bigjools> well
[19:46] <bigjools> actually, if you delete the publishing records then the librarian files will be orphaned and the GC will get them
[19:46] <bigjools> so don't worry about that expiration script
[19:47] <james_w> so we want to make deletion of copy archives delete the binary publishing records for that archive?
[19:47] <james_w> (and the associated builds presumably)
[19:48] <bigjools> and source publications
[19:48] <bigjools> and any binarypackagereleasefile / sourcepackagereleasefile
[19:49] <bigjools> that is not published elsewhere
[19:51] <rockstar> mars, ping
[19:51] <james_w> bigjools: so it already deletes all sources, we should just make it do the same for the other objects?
[19:51] <james_w> well requestDeletion() of all published sources at least
[19:52] <bigjools> james_w: when I say delete, I mean remove the database row, not mark the publication deleted
[19:52] <james_w> ok
[19:52] <bigjools> we want to completely blow any trace of this archive away
[19:52] <james_w> but still in Archive.delete?
[19:52] <bigjools> no
[19:52] <bigjools> you have to do it in the publisher
[19:53] <james_w> why?
[19:54] <james_w> just so it's only done when it goes DELETING->DELETED?
[19:54] <bigjools> yes
[19:54] <bigjools> it would take too long to do in a webapp request
[19:55] <bigjools> we might even need to move that bit of code that marks all the source publications as deleted into the handler in the publisher, I suspect it'll take too long for copy archives
[19:55] <james_w> heh
[19:56] <james_w> you can't actually delete copy archives right now any way
[19:56] <james_w> so what is actually done right now?
[19:56] <bigjools> all the publications are marked as deleted and the repository is removed
[19:56] <james_w> I guess it's because they aren't published
[19:57] <james_w> the repository is not removed via the standard mechanism that PPAs are, so I don't want to change something that isn't actually used.
[19:57] <bigjools> I don't understand what you mean
[19:58] <james_w> if copy archives are set to DELETING then they are not set to DELETED by the publisher as it stands. So either there is some other mechanism used, or we just have a bunch of copy archives in the DELETING state.
[19:58] <bigjools> oh - I don't know if anyone set those as deleted yet
[19:59] <james_w> well, they go inaccessible from the web
[19:59] <bigjools> they get disabled
[19:59] <james_w> so maybe they are just disabled?
[19:59] <james_w> right
[19:59] <bigjools> jelmer is fixing that so we can still see disabled copy archives :)
[20:00] <james_w> so we want to change it such that an admin can go to +edit and delete them?
[20:00] <james_w> at which point the publisher will remove them from disk if they have been published and set them to DELETED.
[20:01] <bigjools> right, so if you see the bottom of lib/lp/soyuz/scripts/publishdistro.py
[20:01] <james_w> and in addition extend it such that if it is a copy archive all publications are deleted, and other things such as SPRs are deleted if they are only references by this archive?
[20:01] <bigjools> it only considers PPAs before calling publisher.deleteArchive
[20:01] <james_w> right, that's what I was saying a minute ago
[20:01] <bigjools> yes :)
[20:01] <bigjools> sorry it's late and I am slow :)
[20:01] <james_w> should that be the same for all archives, or just copy archives?
[20:01] <bigjools> should be the same for copy archives too
[20:02] <bigjools> so
[20:02] <bigjools> I would take a look at the foreign key chain off the publishing records and you'll see quite quickly what you need to delete :)
[20:02] <james_w> no, I mean, should the deletion of publications and SPRs etc. happen for all DELETING archives?
[20:02] <james_w> or just copy archives?
[20:02] <bigjools> yes, we need to blow them away entirely
[20:03] <bigjools> we do a half-assed job at the moment so that people can rename their accounts
[20:03] <sinzui> I have a test that does
[20:03] <sinzui> naked_productseries.datecreated = test_date
[20:03] <james_w> ok, so no ArchivePurpose check.
[20:03] <sinzui> to test a value that cannot be written via the interfaces
[20:03] <james_w> bigjools: thanks, I'll show you some code tomorrow so you can verify the direction
[20:03] <bigjools> not tomorrow you won't :)
[20:04] <bigjools> james_w: the only trick part is where packages are published in more than one archive
[20:04] <bigjools> tricky even
[20:04] <bigjools> once you get past that it's easy
[20:04] <james_w> bigjools: I'll show you tomorrow, but you won't look :-)
[20:04] <bigjools> heh
[20:04] <bigjools> I'm about to upgrade my hardy server to lucid, I might not be looking at anything
[20:51] <barry> sinzui: ping
[20:51] <sinzui> hi barry
[20:52] <barry> sinzui: hi!  say, i'm trying to set up another branch mirror but lp isn't happy.  could you double check this for me?  https://code.edge.launchpad.net/~python-dev/python/2.7
[20:52] <barry> sinzui: i can svn ls http://svn.python.org/projects/python/branches/release27-maint
[20:53] <james_w> barry: you want an import not a mirror. Mirror is for native bzr branches, import for foreign VCS.
[20:53] <barry> d'oh!
[20:54] <sinzui> ah! I was wonder why the page looks so strange
[20:56] <lifeless> we should eliminate that difference
[20:56] <lifeless> its implementation not intent
[20:56] <barry> james_w, sinzui: thanks.  i just did an approved import request
[20:56] <barry> lifeless: yes, or add import to the list of options in "register a branch" and explain the difference ;)
[20:57] <lifeless> barry: file a bug pleasE?
[20:57] <barry> lifeless: already started... :)
[20:57] <sinzui> I believe there is already several bug about "Register a branch" and a discussion to remove it
[21:00] <barry> lifeless, sinzui: you are the triagemasters, please do your magic: https://bugs.edge.launchpad.net/launchpad/+bug/611837
[21:00] <_mup_> Bug #611837: Confusions between import and mirror branches <Launchpad itself:New> <https://launchpad.net/bugs/611837>
[21:01] <barry> thanks guys!
[21:01] <sinzui> I am sure that is a dup I wonder if it would have shown up as a dup if the bug was reported against launchpad-code
[21:02] <james_w> bigjools: still around? How is the uploadpolicy context set for uploads from users. Apparently all the process-upload calls in lp-production-configs use the buildd policy.
[21:03] <bigjools> james_w: it uses the insecure policy for general uploads, it's set in the crontab entry
[21:03] <james_w> ah, crontabs, thanks
[21:03] <barry> sinzui: possibly!
[21:04] <sinzui> The +setbranch form shows a unified view of all the nonsense. It does a better job of explaining the difference
[21:05] <sinzui> That view is for registration *add* setting it to a series, so it is not always the right link to use
[21:41] <james_w> oh crap, a car crash of concerns
[21:54] <james_w> did jtv's GenericCollection ever land?
[21:54] <lifeless> yes
[21:58] <james_w> hum
[22:05] <wgrant> sinzui: ProxyFactory lets you proxy any proxiable object. You don't need to get it from anywhere special.
[22:05] <sinzui> wgrant, thanks. I have applied that to the objects I cared about
[22:09] <james_w> hi wgrant
[22:10] <wgrant> Hi james_w.
[22:10] <james_w> so, deleting an archive disables it, which means that the publisher tends to ignore it
[22:11] <wgrant> That's correct.
[22:11] <james_w> so we have to teach the publisher to consider disabled archives in the DELETING state
[22:11] <wgrant> I thought that was already the case.
[22:11] <wgrant> There is a special DELETING path in there...
[22:11] <james_w> however, the methods it uses for finding archives aren't very suitable for this
[22:11] <james_w> wgrant: I'm extending it beyond PPAs, it works fine for them
[22:11] <wgrant> Ah, right.
[22:12] <wgrant> Copy archives are going to be materialised soon?
[22:12] <james_w> yeah
[22:12] <james_w> well, it's more about librarian, but yes, that too
[22:12] <james_w> I've been asked to make the publisher delete artefacts in the db from deleted archives
[22:13] <wgrant> Ah...
[22:13] <wgrant> It would be nice if LP permissions didn't suck.
[22:14] <wgrant> Once you do that, anyone with upload rights can completely destroy the archive and all its history irretrievably.
[22:14] <james_w> that applies to PRIMARY too?
[22:14] <lifeless> that sounds undesirable
[22:14] <wgrant> No. It's special.
[22:15] <wgrant> But anyone in ~ubuntu-drivers could.
[22:15] <james_w> right
[22:15] <wgrant> Which is far too large a group of people, but that causes other more gravely concerning issues.
[22:15] <james_w> still not particularly desirable in general
[22:15] <wgrant> No.
[22:15] <james_w> we could limit this to COPY archives for now
[22:15] <wgrant> That sounds good.
[22:16] <james_w> I got the impression that this is wanted for PPA as well so that they can be properly deleted
[22:16] <james_w> is that right?
[22:16] <wgrant> I cannot support PPAs' inclusion in it until it's more restricted.
[22:16] <wgrant> It is, yes.
[22:17] <james_w> what would a good interface for the general case of this look like?
[22:17] <james_w> a way to query deleted archives and purge them?
[22:17] <wgrant> Possibly.
[22:18] <wgrant> It's unobvious, though, due to the various criteria that need to be used to select the archives.
[22:18] <james_w> DELETE just refers to the published state right now?
[22:18] <wgrant> Not just purpose, but privacy.
[22:18] <wgrant> Hm?
[22:18] <james_w> deleting an archive just removes the published files, the archive is still in the db, disabled?
[22:19] <james_w> I assumed that the purging of the archives would be an admin-controlled task.
[22:19] <lifeless> mmm
[22:20] <lifeless> really we want the $-distro admins, not the lp-instance admins
[22:20] <wgrant> Right. The publications are Deleted, then the archive status is set to DELETING, then the archive is purged from archive disk, then the status is set to DELETED.
[22:20] <wgrant> lifeless: Distro doesn't care about PPAs.
[22:21] <lifeless> wgrant: true
[22:22] <james_w> so with some surgery something in DELETED could be resurrected
[22:22] <lifeless> for ppas why not immediate delete? or time-based ?
[22:22] <wgrant> james_w: Exactly.
[22:22] <wgrant> Or its latest contents at least downloaded.
[22:22] <james_w> though the publications would all be deleted too, so it would be a convoluted process
[22:22] <wgrant> Right. The librarian files would disappear in a week, too.
[22:22] <james_w> right
[22:23] <james_w> so perhaps we have another state PURGED that has a delay of a week too, and removes the DB rows for the publications etc. as well?
[22:23] <wgrant> Possibly. But I don't really see the pressing need to delete that stuff.
[22:23] <lifeless> wgrant: dead data costs to keep around; its not free.
[22:24] <lifeless> wgrant: neither in a dollars sense, nor a performance sense.
[22:24] <wgrant> True.
[22:24] <lifeless> if the users does not want it
[22:24] <lifeless> and we don't have a legal obligation to keep it
[22:24] <lifeless> why would we incur that overhead?
[22:24] <james_w> COPY archives is what we have been asked to implement this for, Julian said that I should do it for everything
[22:25] <james_w> I'm fine with putting the infrastructure there and using it for COPY archives, as it will be easy to use it for other types later if desired
[22:27] <wgrant> james_w: It doesn't look like any filtering is done on copy archives.
[22:27] <james_w> wgrant: where?
[22:27] <wgrant> james_w: lib/lp/soyuz/scripts/publishdistro.py
[22:27] <james_w> no, it's getArchivesForDistribution that is the problem
[22:28] <wgrant> So you probably just have to change the archivepurpose guard around the deleteArchive call.
[22:28] <wgrant> Oh.
[22:28] <james_w> it only lets you see enabled archives unless you pass in an admin
[22:28] <wgrant> Ah.
[22:28] <wgrant> Or you say exclude_disabled=False...
[22:28] <james_w> nope
[22:28] <james_w> you have to say that *and* pass in an admin
[22:29] <wgrant> Oh.
[22:29] <wgrant> Indeed.
[22:29] <wgrant> How stupid.
[22:29] <james_w> indeed
[22:29] <james_w> I can't see an easy way to unthread it without checking all callers
[22:29] <james_w> hence my question about GenericCollection, I wondered if implementing an ArchiveCollection would make sense, but that's a bit large for me to take on right now
[22:30] <wgrant> I think that would be a good idea. But it's probably too big for a small change like this.
[22:36] <james_w> http://paste.ubuntu.com/471263/ is the horrible hack that I am using for now
[22:37] <wgrant> james_w: You could call it filter_visible or something like that.
[22:37] <james_w> yeah, that's a better name
[22:39] <wgrant> james_w: But the callsites for the method number only three, so it's not too bad if you have to change it in other ways.
[22:40] <james_w> good to know
[22:40] <james_w> not sure how I would change it other than this or going for a collection
[22:40] <james_w> anyway, I think that's enough for this week, I'll tackle the hard bit of this on Monday
[22:41] <james_w> and a nice illustration of the perils of purging deleted archives just now :-)
[22:41] <wgrant> Sounds good. I think the Collection pattern needs to be used more widely.
[22:41] <wgrant> In that case I think purging (or just renaming) would have fixed it.
[22:42] <wgrant> He doesn't want the content -- just to be able to upload to it again.
[22:42] <james_w> thanks for your help
[22:43] <wgrant> np
[23:36]  * jelmer laughs reading the summary for bug 235939
[23:36] <_mup_> Bug #235939: X-Launchpad-Message-Rationale header for code import emails too human friendly <code-import> <email> <Launchpad Bazaar Integration:Triaged> <https://launchpad.net/bugs/235939>


[01:01] <kylewilliams> nixternal, you around?
[06:55] <ubotu> New bug: #138288 in ubuntu-docs (main) "Eye Candy page not easily accessible" [Undecided,New]  https://launchpad.net/bugs/138288
[07:06] <ubotu> New bug: #138292 in ubuntu-docs (main) "Ubuntu Eye Candy needs to be updated" [Undecided,New]  https://launchpad.net/bugs/138292


[07:53] <cjwatson> tomwardill: lxc-attach seems to pass output straight through without modification, so I think you can just do lxc-attach -n "$container_name" -- env blah | subunit-2to1, much as you had above
[07:53] <tomwardill> ah, right :)
[07:53] <tomwardill> will give that a try once I've worked out why postgres is refusing to start
[07:54] <tomwardill> thanks :)
[07:54] <cjwatson> Though consider error handling
[07:54] <cjwatson> As in, what happens if lxc-attach exits non-zero
[07:54] <cjwatson> Pipes tend to lose that unless you take special care
[07:55] <cjwatson> You still want to stop the container, but should preserve the exit code
[07:56] <tomwardill> right
[08:51] <SpecialK|Canon> someone with more familiarity with traversal want to review https://code.launchpad.net/~cjwatson/launchpad/+git/launchpad/+merge/385489 ?
[08:51] <SpecialK|Canon> (because hi)
[09:32] <tomwardill> cjwatson: before I break out pdb agian, any idea what might be causing: https://pastebin.canonical.com/p/djCTpmdCwF/
[09:33] <cjwatson> tomwardill: bad working directory maybe?
[09:33] <tomwardill> `pwd` agrees with my current directory
[09:33] <cjwatson> or permissions?
[09:33] <cjwatson> open_for_writing swallows any IOError that isn't ENOENT!
[09:34] <cjwatson> quality
[09:34] <cjwatson> if you add an else: raise into open_for_writing (which really ought to be there anyway), you might get a better error message
[09:35] <tomwardill> hmm, I appear to have a bunch of files that are owned by root
[09:35] <tomwardill> I suspect that is not ideal
[09:35] <cjwatson> Oh, your lxc-attach arrangements don't seem to switch user
[09:36] <cjwatson> add '$PWD/utilities/run-as buildbot' just before 'env', maybe?
[09:36] <tomwardill> yeah, this is from pre-that step I think
[09:36] <tomwardill> trying to work out which step is doing it
[09:37] <cjwatson> Might be leftovers from a previous run?
[09:37] <tomwardill> yeah, think so
[09:37] <tomwardill> poking
[09:39] <cjwatson> And yeah, lxc-start-ephemeral -u ... meant "switch to this user", and part of the reason I added utilities/run-as was that at least at the time there was nothing else with quite exactly the right semantics
[09:42] <cjwatson> (lxc-attach -u and lxc exec --user both take uids rather than usernames; setpriv(1) didn't exist yet)
[09:46] <tomwardill> the good news is that I'm just about at the point where I can hack master.cfg and it will repeatedly get to the same state so I can debug it
[09:50] <tomwardill> ... I should pick a faster subsection of the test suite to test this
[09:51]  * tomwardill twiddles thumbs a bit more
[10:18] <tomwardill> run-as is giving me a permissions error on chdir to the build directory, but only when run via buildbot
[10:18] <tomwardill> wtf
[10:20] <cjwatson> User namespaces can cause much confusion sometimes, maybe ...
[10:47] <tomwardill> yeah, something weird going on
[10:48] <tomwardill> works fine run from a terminal
[10:48]  * tomwardill sighs at the amount of shell/environment/namespace learning I don't know
[10:57] <tomwardill> unsure how I'm getting permission denied changing to the directory that is cwd
[10:57] <StevenK> That is clearly perms
[10:57] <StevenK> You either aren't the owner, or in the group, or there's no +x
[10:59] <tomwardill> drwxr-xr-x 20 buildbot buildbot 4.0K Jun 11 10:55 build
[10:59] <StevenK> All the way up to / ?
[11:00] <tomwardill> hmm, no, buildbot ownership stops at /var/lib
[11:01] <StevenK> I'd expect that, but hopefully everything has +x
[11:02] <tomwardill> looks like it
[11:02] <tomwardill> I can be in that directory quite happily in a shell
[11:02] <tomwardill> oh, wait
[11:02] <tomwardill> maybe I can't in this situation
[11:02] <tomwardill> wtf
[11:02] <tomwardill> root@lptests-xenial_tfbWfo:/var/lib/buildbot/lp-devel-xenial/build# su buildbot
[11:02] <tomwardill> Cannot execute /bin/bash: Permission denied
[11:04] <cjwatson> buildbot outside and inside the container might not be the same thing
[11:05] <cjwatson> I would get the most minimal possible reproducer you can manage and strace it
[11:06] <cjwatson> and also make sure to be looking at permissions by id (ls -nl) inside the container
[11:08] <tomwardill> so, yeah
[11:08] <tomwardill> `/` was 0700
[11:08] <tomwardill> ... that's a thing
[11:10]  * tomwardill gets lunch, leaves it for future tom to worry about
[11:10] <ilasc> and in this context of twom dealing with complex issues, I come along and ask the rudimentary question: in LP how do we split a large MP in several smaller MPs ? Do I just create separate git branches and open MPs for each new branch or is there something I can do at the level of the large MP that I'm not yet aware of?
[11:11] <StevenK> Years and years ago one of my friends did 'chmod 644 .*' as root in a top-level directory and then wondered why no one could log in
[11:11] <ilasc> :)
[11:12] <cjwatson> ilasc: Separate branches and open MPs for each.  Are you familiar enough with the git-level operations here?
[11:15] <cjwatson> (Also, prerequisites in MPs may be useful, depending on how you lay out the branch structure)
[11:16] <ilasc> thanks cjwatson, hmmm good question :) just to make sure I start on the right path, I assume I start creating the smaller new git branches from master ?
[11:17] <ilasc> indeed figured prerequisites in MPs will be necessary
[11:17] <cjwatson> Normally from master, yes.
[11:17] <cjwatson> The "splitting commits" section of "man git rebase" may be useful.
[11:20] <cjwatson> If the bits you need to split up are separate enough in their respective files, you can often manage it with "git add -p" or whatever equivalent exists in your IDE.  Failing that I sometimes resort to just dumping out the overall patch and editing it down to the bits I want before applying it, but editing patches by hand certainly isn't for everyone
[11:24] <ilasc> great, ok, thanks Colin! it sounds like our approaches are similar in this case, I always go for editing patches by hand :)
[11:26] <cjwatson> Oh, I'm glad I'm not the only person who puts up with that
[11:26] <cjwatson> I do need it slightly less since I found tools to let me do line-by-line rather than hunk-by-hunk changes to the git index
[11:29] <ilasc>  :)
[11:33] <cjwatson> Also keep a git ref to the original thing around, then you can't lose it
[11:44] <ilasc> good idea :)
[11:49] <SpecialK|Canon> `git add --patch`'s editor option is <3
[11:54] <cjwatson> I prefer vimagit since I discovered it last year sometime, but same sort of idea
[13:28] <tomwardill> cjwatson: any idea wher eI need the umask change?
[13:31] <cjwatson> I'm not quite sure, it was just a hunch as to how you might end up with mysterious mode 700
[13:32] <cjwatson> Is the base container like this or just the ephemeral copy?
[13:33] <tomwardill> good question, sec
[13:33] <cjwatson> If the former, look in your build pipeline, if the latter, start from lp-setup-lxc-test and trace down
[13:33] <cjwatson> (probably)
[13:34] <tomwardill> yeah, it's the latter
[13:34] <cjwatson> Not actually what I expected
[13:34] <tomwardill> which makes sense, as lp-setup-lxc-test is the only bit I've actually changed
[13:34] <cjwatson> Though it probably should have been since you reported different behaviour when running from a terminal
[13:34] <tomwardill> yeah
[13:34] <tomwardill> a hack fix would be to just chmod / ;)
[13:35] <cjwatson> buildbot's buildslave runs with umask 077 by default unless you say --umask=022
[13:35] <cjwatson> Maybe relevant?
[13:35] <cjwatson> But you could also just umask 022 at the top of lp-setup-lxc-test ...
[13:36] <cjwatson> I suspect that'll do it
[13:37] <cjwatson> I could be wrong here, because I thought our buildbot worker config already did umask 022, but it's been some time since I looked at that and maybe it got lost somewhere along the way
[13:37] <tomwardill> I'll have a look and give that a try
[13:37] <cjwatson> puppet modules/launchpad/templates/buildbot.tac.erb has it
[13:38] <cjwatson> Hm.  Did you write buildbot.tac or whatever the modern equivalent is for the workers yourself?  Or where did you get it from?
[13:38] <tomwardill> I didn't write it
[13:38] <tomwardill> came from lpsetup I think
[13:38] <cjwatson> It might be a good idea to get sluagh:/srv/buildbot/lpbuildbot/buildbot.tac and compare
[13:39] <cjwatson> lpsetup's might be wrong
[13:39] <tomwardill> and it has an interesting thing:
[13:39] <tomwardill> `umask = None`
[13:39] <cjwatson> That might be from lpbuildbot demo/slave/buildbot.tac
[13:39] <cjwatson> Which I'm not certain is in sync
[13:39] <tomwardill> yeah, that makes sense
[13:39] <tomwardill> asked for the real one
[13:50] <tomwardill> well, it gets further, now to see if postgres works
[13:50] <tomwardill> it's running tests!
[13:50] <tomwardill> weeee
[13:51] <tomwardill> now just subunit to work out
[13:53] <ilasc> +!
[13:53] <ilasc> +1
[13:53] <ilasc> ... can't type :P
[13:56] <tomwardill> now, how do I make it stop
[13:56]  * tomwardill reboots the worker
[14:59] <tomwardill> okay, might need to teach the test step about subunit 2
[14:59] <cjwatson> --subunit-v2 | subunit-2to1 you mean?  or something else?
[15:00] <tomwardill> piping the lxc-attach output through subunit-2to1 just reproduces the same problem of testr not understanding the ouput
[15:00] <tomwardill> and trying to pipe the testr output through it still results in weird stdout in the logs and the step not understanding how many tests have run
[15:01] <cjwatson> Ah, hm
[15:01] <cjwatson> Maybe testr adds too much extra stuff
[15:01] <tomwardill> hmm, or maybe I've done something wrong somewhere
[15:02] <tomwardill> as `testr run --parallel --concurrency=2 --subunit --full-results '|' subunit-2to1` looks a bit weird, given the escaping around the pipe
[15:02] <cjwatson> Where did you put the subunit-2to1 in that case?
[15:03] <tomwardill> in the master.cfg
[15:03] <cjwatson> What's the diff?
[15:03] <tomwardill>             command=['testr', 'run', '--parallel', '--concurrency=2', '--subunit', '--full-results', '|', 'subunit-2to1']))
[15:03] <cjwatson> Oh
[15:03] <cjwatson> Well, yes
[15:04] <cjwatson> That's an argv
[15:04] <cjwatson> More or less
[15:04] <cjwatson> It's not passed to a shell, so doesn't understand |
[15:04] <tomwardill> which makes sense
[15:05]  * cjwatson looks at buildbot.steps.shell
[15:05] <cjwatson> So ... there's no fiddly quoting required for the arguments themselves there
[15:06] <cjwatson> You *could* just try:
[15:06] <cjwatson> command=['sh', '-c', 'testr run --parallel --concurrency=20 --subunit --full-results | subunit-2to1']
[15:06] <cjwatson> Definitely a workaround, but ought to help
[15:06] <tomwardill> the docs spec that you can give command as a single string
[15:06] <tomwardill> and it does basically that
[15:07] <tomwardill> (although that's in the latest docs)
[15:08]  * tomwardill tries
[15:08] <cjwatson> I am a bit suspicious 'cos I can't find what implements that, but maybe
[15:09] <tomwardill> running
[15:09] <cjwatson> But the sh -c trick should definitely work if that doesn't
[15:16] <tomwardill> https://usercontent.irccloud-cdn.com/file/7xneaob9/image.png
[15:16] <tomwardill> success!
[15:16] <cjwatson> Progress!
[15:17] <tomwardill> the stdout is good too
[15:17] <tomwardill> okay, so I think that's all the problems worked through
[15:18] <tomwardill> now I just need to document what they were, work out patches and file an RT to try this...
[15:21] <tomwardill> concurrency 5 is making my computer VERY LOUD
[15:24] <cjwatson> Nice
[15:25] <cjwatson> Out of interest, does this fix the "unknown worker (bug in our subunit output?)" thing that we currently get?  Looked like it might from your image ...
[15:25] <tomwardill> it seems to...
[15:25] <tomwardill> we have a list of workers too!
[15:25] <cjwatson> Ooh, does this let us download independent subunit streams from each worker?
[15:25] <tomwardill> ooh, which tells you which worker ran which tests
[15:26] <cjwatson> EXCELLENT
[15:26] <tomwardill> I think the only 'stream' we get is the list of tests
[15:26] <cjwatson> That will make debugging certain kinds of test isolation bugs so much easier
[15:26] <tomwardill> if we upgrade from precise to xenial, do we need to rebuild the xenial LXC that we already have?
[15:27] <cjwatson> Well, even separate lists of tests for each worker is a lot better than nothing
[15:27] <cjwatson> I have no idea
[15:27] <cjwatson> Hopefully not
[15:27] <tomwardill> indeed, as I don't really want to have to try and maintain this script :)
[15:27] <cjwatson> As long as you have something working locally, I think it's OK to debug it into existence a little bit on production if necessary
[15:28] <tomwardill> hmm, getting some 'App server startup timed out' failures, but that may well be due to the load on the VM/machine
[15:28] <cjwatson> Yeah, likely
[15:28] <tomwardill> it's at 350% cpu usage and has eaten all the ram allocated to it
[15:28] <cjwatson> om nom nom
[15:28] <tomwardill> they're not on the same tests as the ones I had in the last run, so points towards that at least
[15:30] <tomwardill> wish I'd left this machine in the basement now
[15:30] <cjwatson> Heh
[15:31] <cjwatson> This is great though, super-happy to see these improvements
[15:31] <tomwardill> getting this out and working, then transcribing over to LXD will be super nice
[15:31] <cjwatson> And hopefully LXD won't be too difficult after this
[15:31] <cjwatson> Yeah
[15:31] <tomwardill> and cleaning up/sorting lpsetup along the way
[16:32] <cjwatson> I think I've decided I don't have enough brain to review https://code.launchpad.net/~pappacena/turnip/+git/turnip/+merge/385158 today.  I've reviewed the Launchpad bits that need to precede that ...
[16:46] <tomwardill> fixed container cleanup and exit code return too
[16:48] <SpecialK|Canon> nice
[16:56] <tomwardill> okay, will work out a plan and extract / update the files required tomorrow morning
[16:56] <tomwardill> but it's looking good/feasible now
[20:21] <cjwatson> Non-lcy01 bionic image builders aren't working.  I've (belatedly) deployed staging equivalents to test this.  lgw01 is failing due to a glance API difference, bos02 is possibly something else but I haven't worked it out yet.
[20:36] <cjwatson> wgrant: ^- could I have a quick review of https://code.launchpad.net/~cjwatson/canonical-is-charms/gss-glance-v2-private/+merge/385608 ?
[20:46] <cjwatson> Looks like bos02 is probably the same thing after all.
[20:46]  * cjwatson cowboys on lgw01 bionic staging to test
[20:52] <cjwatson> Looks like that fixes it on lgw01, indeed
[21:41] <wgrant> cjwatson: Ah, fun


 I can't see you 'cos I'm taller than any human being has a right to be."
[10:34] <gmb> Thus was the message delivered unto his people.
[10:34]  * gmb may be about to have a psychotic break. Apologies.
[10:39] <allenap> gmb: I can’t think of anything to reply. I think I’m due a psychotic break now; you’ve induced one.
[10:39] <gmb> What the hell, it's nearly the weekend.
[13:46] <allenap> rvba: I think I might have found a bug in WithMACAddressesMixin.is_valid(). If there’s an error, it does not update the value of `valid` before returning it.
[14:07] <rvba> allenap: definitely looks like a bug
[14:07] <allenap> rvba: Okay, I’ll file it.
[14:07] <rvba> allenap: you might as well fix it, it's going to be quick
[14:07] <allenap> Or fix it. rvba: Does is_valid() just return a bool?
[14:07] <rvba> Yes
[18:03] <allenap> gmb: Got time for a short review? https://code.launchpad.net/~allenap/postgresfixture/trusty-compatibility/+merge/202151
[18:04] <allenap> gmb: No worries; I’ll selfie it for now.
[21:31] <stokachu> anyone around and could help me debug what is going wrong with http://paste.ubuntu.com/6770456/


[12:51] <atomic_> Mahlzeit
[03:50] <pnano> hello, jrib
[03:50] <jrib> hi
[03:50] <jrib> paste the error here exactly
[03:51] <pnano> I upgrade as ubuntu guide
[03:51] <jrib> yes
[03:51] <pnano> sudo apt-get upgrade & apt-get upgrade dis-upgrade
[03:51] <jrib> the upgrade seems to have skipped a few packages
[03:51] <pnano> cannot remember exact CL
[03:51] <pnano> but that's similar
[03:51] <jrib> that is *not* how to upgrade
[03:52] <pnano> The Problem is on old Version ubuntu, I have python 2.4 installed
[03:52] <jrib> the problem is that method often fails, it's not recommended
[03:52] <pnano> when upgrading, it first install 2.5, replace 2.4, then wreid thing happened: it install 2.4 again
[03:53] <jrib> pastebin what your /etc/apt/sources.list look like, the output of 'apt-cache policy ubuntu-desktop'
[03:54] <pnano>  the problem is that method often fails, it's not recommended what is recommened for upgrad?
[03:54] <pnano> e
[03:54] <jrib> !upgrade
[03:54] <ubotu> For upgrading, see the instructions at https://help.ubuntu.com/community/UpgradeNotes
[03:54] <jrib> but now it is too late
[03:55] <pnano> can you wait me a min
[03:55] <pnano> I will use that ubuntu  talking to you
[03:55] <pnano> quit a min
[04:19] <postgre> coming
[04:20] <postgre> jrib:
[04:20] <jrib> pastebin what your /etc/apt/sources.list look like, the output of 'apt-cache policy ubuntu-desktop'
[04:25] <postgre> posting error and http://pastebin.ca/737521
[04:25] <postgre> \/etc/apt/sources.list look like, the output of 'apt-cache policy ubuntu-desktop' is below the error message
[04:28] <jrib> what command gave you the first error?
[04:28] <postgre> jrib: any problem with my source.list?
[04:28] <jrib> no
[04:29] <gaurav_> aw his upgrade fucked up?
[04:29] <gaurav_> not a nice start
[04:29] <postgre> after I upgrade with : sudo apt-get update && sudo apt-get dist-upgrade && sudo apt-get dist-upgrade
[04:29] <postgre> yes, a few package are broken!
[04:29] <jrib> postgre: you use ubuntu with gnome?
[04:30] <postgre> with KDE
[04:30] <jrib> postgre: ok, what's the output of 'apt-cache policy kubuntu-desktop'?
[04:31] <postgre> jrib: I pasted above:  http://pastebin.ca/737521
[04:31] <jrib> no, that has "ubuntu-desktop"
[04:33] <postgre> http://pastebin.ca/737536
[04:33] <jrib> sudo apt-get install apache2.2-common
[04:34] <postgre> ok
[04:35] <postgre> jrib: http://pastebin.ca/737539
[04:35] <postgre> errors :(
[04:37] <postgre> apache2.2-common: Conflicts: libapache2-mod-php5 (<= 5.1.6-3) but 5.1.6-1ubuntu2.6 is to be installed
[04:37] <jrib> ugh, ok pastebin the 'apt-get -f install' again
[04:37] <postgre> jrib: you see, apache2 conflicts with php5
[04:37] <jrib> we may just remove apache and then install it again later
[04:37] <postgre> ok, pasting
[04:38] <postgre> it doesnt work, since I have tried N times before going to here for last help:(
[04:40] <postgre> jrib: here:http://pastebin.ca/737547
[04:40] <jrib> what happens when you try to remove apache?
[04:41] <postgre> jrib: you notice line 40: invoke-rc.d: initscript apache2, action "restart" failed.
[04:41] <postgre> failed too
[04:41] <postgre> did it 2 hours ago, failed
[04:41] <postgre> :(
[04:42] <jrib> but pastebin the output
[04:43] <postgre> jrib: here failed again: http://pastebin.ca/737550
[04:44] <postgre> gaurav_: <gaurav_> aw his upgrade fucked up? talking to me?
[04:44] <gaurav_> yes :P
[04:45] <gaurav_> well, talking to anyone, i had scrolled up and didn't see you rejoin ;)
[04:45] <jrib> postgre: remove apache2-mpm-prefork
[04:45] <postgre> gaurav_:  sudo apt-get -f remove apache2 cannot help either:(
[04:45] <postgre> yes. am 100% sure it IS broken
[04:47] <postgre> jrib: http://pastebin.ca/737557
[04:48] <postgre> force remove cannot do it
[04:48] <jrib> -f is not force
[04:49] <postgre> jrib: how to use <force> option instead?
[04:49] <jrib> is apache2-mpm-prefork still installed?
[04:49] <jrib> apt-cache policy apache2-mpm-prefork
[04:49] <postgre> Im not a .deber
[04:50] <postgre> jrib:  apache2-mpm-prefork is broken, check.. wait a bit
[04:50] <jrib> lets remove libapache2-mod-php5 libapache2-mod-python as well
[04:51] <postgre> jrib: yes,  apache2-mpm-prefork  is installed, but broken for sure
[04:51] <postgre> you mean lets remove them together?
[04:51] <jrib> what was the output?
[04:52] <postgre> remove all 3 pkg in one CL?>
[04:52] <jrib> sure
[04:52] <postgre> ok, issue
[04:55] <postgre> jrib: failed this is output: http://pastebin.ca/737568
[04:56] <jrib> output of:  apt-get -f install     now?
[04:56] <postgre> jrib: how can I?force?remove them?
[04:56] <jrib> last resort
[04:56] <postgre> jrib: output of:  apt-get -f install     now? RE: no
[04:57] <jrib> hmm?
[04:57] <postgre> its oupt of $ sudo apt-get remove apache2-mpm-prefork libapache2-mod-php5 libapache2-mod-python
[04:57] <jrib> I meant, try    apt-get -f install   now
[04:57] <postgre> ok
[05:01] <jrib> any output?
[05:02] <postgre_> internet is cut
[05:02] <postgre_> am coming back
[05:03] <jrib> k
[05:03] <postgre_> command log
[05:06] <postgre_> jrib: $ sudo apt-get -f install               failed too
[05:07] <postgre_> http://pastebin.ca/737585
[05:08] <jrib> is apache running at the moment?
[05:08] <postgre_> looking ... wait
[05:09] <postgre_> jrib: not running
[05:10] <jrib> ok
[05:11] <jrib> edit /var/lib/dpkg/info/php4-sqlite3.{postrm,prerm}
[05:11] <postgre_> ok
[05:11] <jrib> tell it not to mess with restarting apache...
[05:14] <postgre_> I vimming this file: /var/lib/dpkg/info/php4-sqlite.prerm
[05:15] <postgre_> which line I should modify?
[05:16] <jrib> pastebin it
[05:17] <postgre_> jrib: http://pastebin.ca/737596
[05:19] <postgre_> comment out Line 11-17
[05:19] <postgre_> is it?
[05:20] <jrib> postgre_: no, comment after 25 or just put "exit 0" after line 25
[05:24] <postgre_> jrib: ok, ` exit 0` added
 edit /var/lib/dpkg/info/php4-sqlite3.postrm   no such file
 one file here /var/lib/dpkg/info/php4-sqlite3.prerm
[05:26] <postgre_> jrib: do you mean /var/lib/dpkg/info/php4-sqlite.postinst ?
[05:27] <jrib> no, that's fine, try -f install again
[05:27] <postgre_> http://pastebin.ca/737607
[05:28] <jrib> ignore that file
[05:28] <postgre_> ok
[05:28] <postgre_> sudo apt-get -f install?
[05:28] <jrib> yes
[05:30] <postgre_> jrib: failed
[05:30] <postgre_> pasting:
[05:31] <postgre_> http://pastebin.ca/737610
[05:31] <jrib> erm
[05:32] <jrib> paste what the new prerm looks like
[05:32] <jrib> be back in a bit
[05:33] <postgre_> paste what the new prerm looks like is ? trying figure out what you mean
[05:34] <postgre_> jrib: let me paste this .sh ? /var/lib/dpkg/info/php4-sqlite.prerm
[05:36] <postgre_> jrib: should I run apt-get autoremove before the command : sudo apt-get -f install?
[05:48] <jrib> postgre_: /var/lib/dpkg/info/php4-sqlite3.prerm
[05:48] <postgre_> yes
[05:48] <postgre_> \/var/lib/dpkg/info/php4-sqlite.prerm
[05:48] <jrib> no
[05:49] <jrib> you do not have /var/lib/dpkg/info/php4-sqlite3.prerm ?
[05:49] <postgre_> I have
[05:50] <jrib> pastebin that
[05:50] <postgre_> http://pastebin.ca/737629
[05:51] <jrib> so....
[05:51] <jrib> what do you think is trying to restart apache?
[05:51] <jrib> wait
[05:51] <jrib> this is the wrong file
[05:51] <jrib> /var/lib/dpkg/info/php4-sqlite3.prerm
[05:52] <postgre_> wrong file?
[05:52] <jrib> with a 3
[05:52] <postgre_> yes, with a '3'
[05:52] <jrib> "$ cat /var/lib/dpkg/info/php4-sqlite.prerm"
[05:52] <jrib> without a 3
[05:52] <postgre_> oh
[05:56] <postgre_> jrib: http://pastebin.ca/737633
[05:56] <postgre_> how to edit it?
[05:56] <jrib> "exit 0"     on second line
[05:57] <postgre_> ok
[05:59] <postgre_> do I need change \/var/lib/dpkg/info/php4-sqlite.prerm back to original..?
[06:00] <jrib> sure
[06:01] <postgre_> ok, change back
[06:03] <postgre_> jrib: now it is installing some packages
[06:03] <postgre_> sreen message scrolling fast
[06:03] <jrib> cross your fingers
[06:04] <postgre_> greate thanks!
[06:05] <jrib> you should revert your changes to the prerm and dist-upgrade again
[06:08] <postgre_> jrib: revert your changes to the prerm  = edit var/lib/dpkg/info/php4-sqlite3.prerm to its old version?
[06:08] <postgre_> change back?
[06:09] <postgre_> and then
[06:09] <postgre_> sudo apt-get update && sudo apt-get dist-upgrade
[06:09] <postgre_>   sudo apt-get -f install
[06:09] <postgre_>   sudo dpkg --configure -a
[06:10] <postgre_> jrib:  revert your changes to the prerm , can you explain it a bit...
[06:12] <jrib> remove the "exit 0"
[06:13] <postgre_> remove 'exit ' for all files we have edit right?
[06:14] <postgre_> include /var/lib/dpkg/info/php4-sqlite3.prerm
[06:15] <jrib> that should be the only one you edited
[06:15] <postgre_> ok
[06:19] <postgre_> ls -al /var/lib/dpkg/info/php4-sqlite3.prerm
[06:19] <postgre_> ls: /var/lib/dpkg/info/php4-sqlite3.prerm: No such file or directory
[06:20] <postgre_> it dispear after replace by php5
[06:22] <postgre_> unpacking and replacement ... line srolling now
[06:22] <postgre_> looks like it works
[06:22] <postgre_> thanks jrib:)
[06:22] <jrib> cool, no problem
[06:24] <postgre_> great to get you help, have a nice day!
[06:24] <jrib> bye
[06:24] <postgre_> bye
[06:32] <gaurav_> awesome job with the help jrib
[06:32] <gaurav_> one satisfied customer