[02:18] <infinity> pitti: Hrm.  Check out the sbcl failure in utopic-proposed.  pkgstrip vomits with a "find : permission denied"... Bug in pkg* for not ignoring that, or bug in sbcl for producing non-readable/traversable files/directories during build, or both?
[02:32] <infinity> pitti: (Testing the obvious fix for sbcl and will submit that to Debian regardless, but wondering if we should also consider this a pkgbinarymangler failure and fix that)
[02:48] <pitti> camako: oh, sure, can do!
[02:48] <pitti> Good morning (or so)
[02:49] <pitti> infinity: yes, in general I think we should fix this stuff in pkgbinarymangler too, to avoid rather pointless package deltas
[02:52] <pitti> camako: I wasn't aware that you guys are waiting on this, so thanks for the ping
[04:10] <pitti> camako: released upstream 0.8.7 and uploaded to sid; I'll sync it in a few hours once it got imported into LP
[05:30] <happyaron> attente_: it's released yesterday, I'm working on it atm
[06:56] <KjetilK> I'm one of the upstream devs of librdf-trine-perl, and I've just committed some rather extensive performance enhancements in the package. These are the only changes since the last version, which is already in utopic
[06:56] <KjetilK> we would normally not be releasing a new version with just a single changeset, but if it could make it into Utopic, we might do it anyway
[06:57] <KjetilK> so, I was wondering if it is worth releasing and pestering the Debian dev about it, or if it is too late anyway?
[07:01] <infinity> KjetilK: We're (way) past feature freeze, so unless you can make a good case for why it's absolutely necessary for utopic, it probably wouldn't make it anyway.
[07:01] <KjetilK> infinity, yeah, I figured
[07:01] <infinity> KjetilK: But releasing and getting it into Debian for jessie (and we'll pull it into 15.04) still isn't a bad plan.
[07:02] <KjetilK> yeah, the DD usually packages our releases in a week or two
[07:03] <infinity> KjetilK: Right, well the jessie freeze is imminent, so if you needed motivation, go with that.  If you can be bothered to spend the time trying to convince people like me that it's a safe and sane update for Ubuntu to pull in, we can talk after it's in Debian.
[07:03] <KjetilK> basically, my argument wouldn't be that it is absolutely necessary, but rather "not a huge number of users, if we've screwed up, it is unlikely to negatively impact many, but the gains are likely large for the few who use it"
[07:05] <KjetilK> ok, we'll follow the normal cycle, then
[07:05] <KjetilK> infinity, BTW, how imminent is jessie freeze, last I read was early November?
[07:09] <infinity> KjetilK: "Not many users" is, to me, actually an argument against updating, not for.
[07:09] <infinity> KjetilK: On the one hand, not many users would benefit and, on the other, very few people will be testing it to find bugs in time to fix them before release.
[07:09] <KjetilK> yeah, I can see that, fewer eyeballs
[07:09]  * KjetilK nods
[07:10] <infinity> KjetilK: As for the imminence of jessie freeze, I keep forgetting the exact date, and have just been treating it as "very soon" to push myself to get the things in that I need to. :P
[07:10] <KjetilK> hehe, good :-)
[07:14] <KjetilK> infinity, BTW, since you're a DD, I just noticed https://packages.debian.org/sid/noip2
[07:15] <KjetilK> which doesn't have a maintainer, but I find no WNPP bug on it, and the package is uptodate with upstream and appears sane...
[07:16] <KjetilK> Perhaps someone has orphaned it without telling anybody?
[07:17] <infinity> KjetilK: That's cruft.  It's been removed from sid, note that it only exists on m68k on debports.
[07:17]  * KjetilK nods
[07:17] <infinity> KjetilK: https://packages.qa.debian.org/n/no-ip.html
[07:18] <infinity> KjetilK: Removed over 2 years ago.
[07:18] <KjetilK> infinity, yeah, but that's a different package, isn't it?
[07:18] <infinity> KjetilK: No, that was the source that produced the noip2 binary.
[07:19] <KjetilK> ah, ok
[07:19] <KjetilK> that's probably the reason why I didn't find it on on QA myself :-)
[07:24] <dholbach> good morning
[07:56] <tvoss> pitti`, guten Morgen :)
[07:59] <tvoss> dholbach, ping
[08:00] <dholbach> tvoss, pong
[08:47] <jibel> jodh, Hey, wrt. my 2 machines that hang on reboot/shutdown I enabled debug mode and filed bug 1371469
[08:47] <jibel> jodh, this is 100% reproducible but not immediately after boot
[08:50] <ypwong> cjwatson, isolinux/lang no longer works in utopic, bug 1330416, could you help to take a look?
[08:50] <jodh> jibel: thanks. can you attach a log showing the shutdown? I've got a few questions but will add those to the bug...
[08:51] <jibel> jodh, which log? I attached syslog, is there any other?
[08:52] <jodh> jibel: you didn't actually attach the file.
[08:52] <jibel> jodh, oops, sorry
[08:56] <jibel> jodh, done. interestingly I cannot attach it uncompressed
[09:36] <brendand> cjwatson, sorry to bug you again about software-properties - i keep getting told by different people that the issue around setting 14.09 as the series isn't resolvable or something like that
[09:36] <brendand> cjwatson, but obviously you told me differently, so i'm just checking on the truth of the matter
[09:36] <brendand> cjwatson, there's some proposed hacks to our tools that should be rejected if add-apt-repository is actually going to work in RTM
[10:39] <cjwatson> smoser: that's just a matter of making sure /boot/efi is mounted in advance and then running grub-install, I think
[10:39] <cjwatson> smoser: maybe you forgot the mount of the ESP?
[10:40] <cjwatson> Noskcaj: I do lots of ad-hoc seed maintenance but that sort of thing is a matter for the ubuntu-gnome team; I don't tend to get involved
[10:42] <cjwatson> ypwong: ok, added to this morning's amusingly long queue :-/
[10:42] <cjwatson> brendand: I said roughly "I'm working on it" and that's still true.  I intend to make add-apt-repository work
[10:43] <cjwatson> brendand: I think if you keep asking different people then you'll inevitably get people guessing :)
[10:43] <cjwatson> brendand: it certainly can be made to work without having to do the controversial base-files change
[10:43] <brendand> cjwatson, i'm not asking them for the fun of it :)
[10:44] <brendand> cjwatson, it just came up because robru is trying to land a change to phablet-tools that hacks around add-apt-repository completely
[10:44] <shadeslayer> does anyone know if schroot has space restrictions?
[10:44] <brendand> cjwatson, he's getting his information from cyphermox
[10:48] <cjwatson> brendand: well you have the answer now
[10:48] <ypwong> cjwatson, thanks for the help, tried to trace down the root cause as much as I can but does not know enough of gfxboot-theme to go further
[10:49] <cjwatson> ypwong: I may well not have time to look today; we'll see
[10:49] <ypwong> ok
[11:44] <caribou> When we do major modifications to code (scripts, programs, etc), is it required to update the copyright statements ?
[11:53] <cjwatson> recommended
[12:02] <caribou> cjwatson: I'm thinking of the makedumpfile script that you reviewed yesterday
[12:37] <smoser> cjwatson, i tried to show that in the paste.  the d-i installed system does not have a /boot/efi.
[12:38] <cjwatson> smoser: this is my best guess sorry
[12:38] <smoser> the contents of /dev/sda1 is /boot/grub/grub (or at least very similar)
[12:38] <smoser> its not a filesystem
[12:38] <cjwatson> hang on, you are confusing me by talking about an EFI System Partition
[12:38] <cjwatson> this is ppc64el right?
[12:38] <cjwatson> what has EFI got to do with anything?
[12:39] <smoser> did you look at those pastes ?
[12:39] <cjwatson> only briefly, I had like five people pinging me about urgent things this morning
[12:39] <smoser> understandable
[12:39] <smoser> http://paste.ubuntu.com/8375494/
[12:39] <smoser> that is information about what d-i set up.
[12:39] <cjwatson> you know if you stopped using sgdisk you would be less confused.
[12:39] <cjwatson> I'm not interested in sgdisk output - show me what parted says :)
[12:39] <smoser> you're confusing sgdisk with sfdisk.
[12:39] <cjwatson> ah you did, further down
[12:40] <smoser> i did show you what parted said
[12:40] <cjwatson> so ... why were you talking about an EFI system partition?
[12:41] <cjwatson> I'm very confused, there should be no such thing
[12:41] <smoser> because thats the gpt partition type of the /dev/sda
[12:41] <smoser> /dev/sda is gpt partitioned
[12:41] <smoser> and /dev/sda1 is of type C12A7328-F81F-11D2-BA4B-00A0C93EC93B
[12:41] <cjwatson> yeah, but that doesn't mean it has to have an ESP
[12:41] <cjwatson> hmm, that's thoroughly bizarre
[12:42] <smoser> agreed.
[12:42] <cjwatson> it should be a PReP partition
[12:42] <smoser> i thought it was just doing PReP too
[12:42] <smoser> so i just tried pretending as if it had
[12:42] <smoser> but telling grub to install to it says: not a PReP partition
[12:42] <smoser> if you do that.
[12:43] <smoser> for further confusion... i remembered that the thing that is doing the loading is petitboot
[12:43] <smoser> kexec based loader.
[12:43] <cjwatson> do you have a partman log from d-i?
[12:43] <smoser> so i suspect that it is actually mounting partitions and lookoing. because the menu you see in power-nv (no virt) is not a grub menu
[12:44] <smoser> i can probably manage to get you one. but i dont have one at the moment and the system is not being friendly to me.
[12:44] <cjwatson> while I understand that you're using d-i as the reference case that works here, this is not how I set up d-i to work
[12:45] <cjwatson> util/grub-install.c:          grub_util_error ("%s", _("the chosen partition is not a PReP partition"));
[12:45] <cjwatson> that message?
[12:45] <cjwatson> maybe compare the GUID in the source with the one on disk
[12:45] <cjwatson>           const grub_gpt_part_type_t template = {
[12:45] <cjwatson>             grub_cpu_to_le32_compile_time (0x9e1a2d38),
[12:45] <cjwatson>             grub_cpu_to_le16_compile_time (0xc612),
[12:45] <cjwatson>             grub_cpu_to_le16_compile_time (0x4316),
[12:45] <cjwatson>             { 0xaa, 0x26, 0x8b, 0x49, 0x52, 0x1e, 0x5a, 0x8b }
[12:45] <cjwatson>           };
[12:45] <cjwatson> and I guess there could be some bug in the comparison there
[12:46] <cjwatson> the d-i recipe for ppc64el in partman-auto is:
[12:46] <cjwatson> 8 1 1 prep
[12:46] <cjwatson>         $primary{ }
[12:46] <cjwatson>         $bootable{ }
[12:46] <cjwatson>         method{ prep } .
[12:47] <smoser> cjwatson, ok. i have no idea how its booting.
[12:47] <cjwatson> which should turn into SET_FLAGS prep for parted_server
[12:47] <smoser> but i do have an idea as to why it might be different then you expected.
[12:48] <smoser> maas is feeding some preseed and that could be doing it.
[12:48] <smoser> infinity, do you have any idea how boot works on power nv ?
[12:48] <smoser> i'm thikning grub isn't actually involved.
[12:48] <cjwatson> oh and more importantly the prep filesystem
[12:49] <smoser> what is "prep filesystem" ?
[12:49] <smoser> how does one create that
[12:49] <cjwatson> oh just a virtual thing that causes parted to slam in the right guid
[12:49] <cjwatson> not a real filesystem
[12:50] <cjwatson> more a partition type than a filesystem, sorry for confusing term
[12:50] <smoser> ok. you can go back to other more pressing things.
[12:50] <cjwatson> it would be helpful to see the maas preseeding
[12:50] <smoser> let me see if i can dig that up
[12:51] <cjwatson> since we should really get that right ...
[12:51] <smoser> http://paste.ubuntu.com/8379633/
[12:51] <smoser> but fwiw, it *is* right :)
[12:52] <smoser> it works.
[12:52] <cjwatson> having an EFI System Partition on a system that is not EFI is not right
[12:52] <cjwatson> it may work by virtue of being ignored
[12:52] <cjwatson> but it is a wart we should clean up
[12:52] <cjwatson> especially if it causes people to ask me really confusing questions :-)
[12:53] <cjwatson> ok, none of that preseeding should influence that, so I'd still like to see the partman log when you get a chance
[12:53] <smoser> where do i collect that ?
[12:53] <cjwatson> it's /var/log/installer/partman on an installed system
[12:53] <smoser> thanks.
[12:54] <cjwatson> when I was paying close attention to this, the partitioning was GPT { PReP; <rest of Ubuntu> }
[12:54] <cjwatson> now since then we have done a major parted upgrade
[12:54] <cjwatson> so it *could* be that something went crazy there
[12:55] <cjwatson> but I think you should be patterning things after how it's meant to work :)  (and while I appreciate wanting to pattern things after something that *does* work, this did work in the past)
[12:59] <cjwatson> smoser: right, just dug up the relevant bits of parted - it is actually a flag, "set <partition-number> prep on" in the parted CLI should do it for instance
[12:59] <cjwatson> or ped_partition_set_flag (part, PED_PARTITION_PREP, 1);
[13:01] <smoser> cjwatson, so you think it is getting set on the efi system partition ?
[13:01] <cjwatson> I think it's erroneously not getting set
[13:01] <cjwatson> and that the boot flag is getting set instead, which is mapped onto "please be an EFI System Partition"
[13:02] <cjwatson> these sorts of not-a-real-filesystem things are mostly done using flags in libparted
[13:02] <cjwatson> or real-filesystem-but-special-semantics
[13:02] <smoser> right. thats what i had thoguth
[13:02] <smoser> and i had other curtin that suc cessfully put a prep partition on
[13:02] <smoser> (at least something identified as prep)
[13:03] <smoser> but then system didnt boot
[13:03] <cjwatson> and it booted with that?
[13:03] <cjwatson> oh
[13:03] <cjwatson> um
[13:03] <cjwatson> well, let's get d-i in the right shape again and then model on that?
[13:04] <smoser> cjwatson, also remember that there are 2 cases here.
[13:04] <smoser> one power-nv and one powerkvm.
[13:04] <cjwatson> right, I'm not hugely familiar with the differences
[13:04] <smoser> that makes 2 of us
[13:04] <smoser> :)
[13:05] <cjwatson> powerkvm is roughly equivalent to running qemu-system-ppc64?
[13:05] <cjwatson> with slof
[13:05] <smoser> well, it *is* running qemu-system-ppc64
[13:05] <cjwatson> right, so that's what I tested with in the past
[13:05] <smoser> right. and that reads prep for sure.
[13:05] <cjwatson> power-nv I confess total ignorance of
[13:05] <caribou> -/5
[13:05] <smoser> right. that just means "bare metal" where ubuntu would be the hypervisor
[13:06] <cjwatson> but we ought to have the same partition/boot layout on both, right?
[13:06] <smoser> and the thing that loads that is 'petitboot'.
[13:06] <cjwatson> chaining to grub?
[13:06] <smoser> remember the conversation with anton about petitboot reading grub ?
[13:06] <cjwatson> no :)
[13:06] <smoser> oh no? you were on that... they talked abou it. i think that is what is happening.
[13:07] <cjwatson> unless you mean the one really really early on
[13:07] <smoser> i *think* petitboot (which is a linux kernel + busybox) somehow finds things to boot.
[13:07] <smoser> and shows you a menu
[13:07] <smoser> and it labels them suspiciously similar to the way grub would.
[13:07] <smoser> but you're most certainly not interacting with grub
[13:08] <cjwatson> so, for prep, the general idea is that the prep partition is basically just a zoned-off chunk of disk, and a GRUB core image is basically dded into it
[13:09] <cjwatson> any other boot loader that wants to chain to it should be looking up the prep partition by guid and then chaining it in the obvious naïve way
[13:09] <cjwatson> I'm assuming that it is expecting the chained loader to be 32-bit BE
[13:12] <smoser> that explaination of prep seems to fit with what i've seen. so i wasn't completely off.
[13:12] <cjwatson> if we're now creating an ESP by accident, then it's possible that powerkvm is now broken
[13:12] <cjwatson> or maybe slof handles that
[13:13] <cjwatson> I don't see anything in my copy of slof/fs/packages/disk-label.fs that would though
[13:15] <camako> pitti, thanks for the quick action... much appreciated!
[13:32] <infinity> smoser: Booting natively completely ignores that partition and just scans all mountable Linuxish partitions for grub and yaboot configs and mashes them together in petitboot.
[13:32] <infinity> smoser: So, the PReP thing only matters for VMs, but we use it everywhere for consistency, and portability of disk images, and to not drive us batty.
[13:33] <infinity> smoser: Oh, and the PReP thing also matter of booting natively as a PowerVM partition.
[13:33] <smoser> thats what i thought.
[13:33] <smoser> so i'm not sure why petitboot doesn't like my curtin based install
[13:34] <smoser> but the new firmware delivered a much nicer petitboot with 'rescan devices' which is crazy useful.
[13:34] <smoser> :)
[13:34] <infinity> Shiny.
[13:35] <cjwatson> smoser: oh so maybe you need to be diffing /boot/grub/grub.cfg and that kind of thing then?
[13:35] <smoser> cjwatson, yeah.
[13:35] <cjwatson> hadn't occurred to me that power-nv would do that!
[13:35] <smoser> well i told you!
[13:35] <smoser> what i suspected
[13:36] <smoser> but its still kind of yucky.
[13:36] <smoser> mostly confirmed that they're parsing grub config
[13:36] <smoser> which as seen here could be buggy. its also possible that now my curtin changes would work (solved by my firmware upgrade)
[13:36] <smoser> right now i'm doing a d-i based maas install
[13:36] <smoser> and will get cjwatson the requested parted log.
[13:37] <cjwatson> I guess I missed that, sorry
[13:38] <cjwatson> I think I thought you mean "mounting partitions and looking <for a grub core image to chainload>", not "mounting partitions and looking <for grub configuration to parse>"
[13:38] <smoser> ok. so i'll get that system installed into d-i
[13:38] <smoser> and then i'll get cjwatson and infinity access to it.
[13:39] <smoser> cjwatson can feel free to ignore that.
[13:39] <smoser> and infinity should dist-upgrade it to utopic
[13:39] <smoser> where in theory we have magic pixies and kvm support
[14:20] <smoser> cjwatson, d-i install of utopic
[14:20] <smoser> hardware-summary: http://paste.ubuntu.com/8380127/
[14:20] <smoser> lsb-release: http://paste.ubuntu.com/8380128/
[14:20] <smoser> partman: http://paste.ubuntu.com/8380129/
[14:20] <smoser> status: http://paste.ubuntu.com/8380130/
[14:20] <smoser> syslog: http://paste.ubuntu.com/8380131/
[14:23] <cjwatson> hmm, the boot flag is already in place
[14:24] <cjwatson> I wonder if that matters
[14:24] <cjwatson> and whether it would behave differently on a blank disk
[14:26] <Daryl_> Hello peeps
[14:28] <smoser> infinity, https://bugs.launchpad.net/ubuntu/+source/powerpc-ibm-utils/+bug/1371624
[14:29] <rbasak> pitti: is postgresql-server-dev-all expected to stay in main for >utopic?
[14:29] <rbasak> Wondering where to build-dep on that or a specific version (for bacula)
[14:29] <pitti> rbasak: I wouldn't see it, if anything needs it it's fine in main
[14:30] <pitti> rbasak: usually it's a build-dep of server-side extensions
[14:30] <pitti> but we have pretty much all of them in universe
[14:30] <pitti> rbasak: bacula? I thought this was a db client, not an extension
[14:30] <rbasak> No idea why it build depends on that, but it does.
[14:31] <rbasak> It FTBFS right now because it depends on postgresql-server-dev-9.3
[14:31] <rbasak> pitti: so I'm wondering whether to change it to postgresql-server-dev-all, or to -9.4.
[14:31] <pitti> rbasak: ideally it should work with libpq-dev only
[14:32] <pitti> rbasak: if it needs some extra server-side include file for poking in internals, then I think -dev-all should be ok
[14:32] <om26er_> jamespage, Hi! Can you please review/comment on https://code.launchpad.net/~om26er/ubuntu-test-cases/fix_minimal_image_size_test/+merge/235298 ?
[14:32] <pitti> rbasak: (I mean within the realm of already being deep in hack territory :) )
[14:39] <mapreri> pitti: what do you think about syncing scribus now? I uploaded 1.4.4 to sid (should go to testing at the next britney run) and I'd like utopic shipping it. I'm not sure if a FFE is needed, though...
[14:43] <pitti> mapreri: it's two microreleases; most projects only fix bugs in microreleases
[14:43] <pitti> mapreri: so a quick review of the changelog is in order (and testing a build on utopic, of course), but it's probably okay
[14:45] <mapreri> pitti: yes, the most of the changes are bugfixes and really little changes. http://sources.debian.net/src/scribus/1.4.4%2Bdfsg1-1/ChangeLog/
[14:46] <mapreri> pitti: do you prefer me upload it to a ppa before syncing?
[14:46] <mapreri> (I guess it builds fine, though :P)
[14:46] <pitti> mapreri: yes, indeed
[14:46] <pitti> mapreri: if you sbuild it locally, that's good enough
[14:46] <infinity> smoser: Yeah, I have a Debian bug for that, fixing in the next upload.
[14:47] <mapreri> pitti: to be honest, I never tried to build it in a utopic chroot, only in sid...
[14:47] <pitti> mapreri: I'll give it a spin here, and sync if it works
[14:47] <mapreri> pitti: great, thanks
[15:09] <quadrispro> have a nice we all
[15:09] <quadrispro> ciao!
[17:03] <mhall119> cjwatson: ok, I'm here now :-P
[17:04] <mhall119> cjwatson: so if we created a new click database, how could we install development packages to it without conflicting with installing regular packages from the store?
[17:04] <cjwatson> mhall119: so I'd say stacking a test database on top temporarily would be the best answer, except that that currently requires root
[17:04] <cjwatson> (just to create the test db)
[17:05] <cjwatson> actually let me just check that assumptio n
[17:05] <mhall119> cjwatson: could we create this when the user enabled developer mode and just leave it in place? or would that conflict with installing packages from the store?
[17:05] <cjwatson> mhall119: I'm thinking something more transient than that
[17:06] <mhall119> zbenjamin_: ^^ this is related to our discussion earlier
[17:06] <cjwatson> mhall119: as in something controlled by an environment variable, so it would be confined to just the process context of the SDK, and could be a temporary directory
[17:06] <mhall119> even better
[17:07] <cjwatson> mhall119: so right now this isn't exposed in the CLI, although the library interface allows it - look at click/commands/*.py and notice that there's a db_dir=None param passed to db.read()
[17:07] <cjwatson> oh actually
[17:07] <cjwatson> click install --root=<some directory>
[17:07] <cjwatson> that stacks a directory on top
[17:07] <mhall119> zbenjamin_: do we currently use click install of pkcon install-local?
[17:09] <mhall119> cjwatson: if we did that would it replace $HOME/.local/share/applications/<appid>.desktop?
[17:09] <cjwatson> I don't know, this is a few too many questions to fire at me all at once
[17:09] <cjwatson> probably
[17:09] <mhall119> I suppose I should put this all into a doc
[17:09] <cjwatson> this might not be perfect right now but I think it is the correct direction
[17:10] <cjwatson> I imagine you use pkcon install-local right now, which has the effect of running click install as root so that it can ensure that the app can't write to its own code
[17:10] <cjwatson> you probably do want to keep that part of it so that app authors can test in a properly confined environment
[17:11] <cjwatson> that said the packagekit-based interface is not long for this world; I'm writing a new native click d-bus interface
[17:11] <cjwatson> basically because packagekit upstream is killing plugins, see http://blog.tenstral.net/2014/09/listaller-back-to-the-future.html
[17:15] <mhall119> cjwatson: zbenjamin_: I'm adding these bits to the bottom of https://docs.google.com/a/canonical.com/document/d/1i5KRNoc-UXYxT3xFDl9YKETwaa0I2yIUG33Oi_pyeYc/edit
[17:18] <cjwatson> mhall119: it might work for the SDK to just set $HOME
[17:18] <cjwatson> to a temporary dir
[17:19] <mhall119> possibly, not sure what side-effects that might have on the app's runtime
[17:20] <cjwatson> mhall119: right; but I think in general the SDK should be giving developers a clean test environment?
[17:23] <mhall119> I can see arguments for both ways
[17:26] <cjwatson> I think if you go with the approach that they don't get a clean test environment, you will find it extremely difficult to satisfy the requirement of not conflicting with installing packages from the store
[17:27] <mhall119> yeah, I suppose the developer can come up with a way to pre-populate test data if they need it
[19:49] <zbenjamin> mhall119: cjwatson: right now we use pkcon to install the packages.
[19:50] <zbenjamin> mhall119: cjwatson: i would like to not need root privs for that, because the only way would be to somehow echo it into the commandline which kind of is ugly
[19:50] <ogra_> zbenjamin, not necessarily
[19:51] <zbenjamin> ogra_: that means?
[19:51] <zbenjamin> ogra_: using a dbus interface?
[19:51] <ogra_> adb shell "echo -e '#\x21/bin/sh\necho $PASSWORD' >/tmp/askpass.sh"
[19:51] <ogra_> adb shell chmod +x /tmp/askpass.sh
[19:51] <ogra_> adb shell SUDO_ASKPASS=/tmp/askpass.sh sudo -A <command>
[19:52] <zbenjamin> ogra_: this is not ugly? ;)
[19:52] <ogra_> i admit you still need to echo the PW once that way
[19:52] <ogra_> but better than adb shell "echo $PASSWORD|sudo -S <command>"
[19:52] <zbenjamin> ogra_: i would prefer to not echo the password around, for a real phone user its not just any password
[19:52] <ogra_> which yoou would need to do for every command
[19:53] <ogra_> will a real phone user use developer mode at all ?
[19:53] <ogra_> my mom wouldnt
[19:53] <zbenjamin> ogra_: of course
[19:53] <ogra_> (she wouldnt even know what it meaans)
[19:53] <zbenjamin> ogra_: of course not ;), but a developer using and developing for the phone would
[19:54] <ogra_> you could indeed dump a dbus interface in place
[19:54] <ogra_> but that means poking more security holes (even though they are small)
[19:54] <zbenjamin> yeah thats a problem :/
[19:55] <zbenjamin> ogra_: i want transaction support in click ;)
[19:55] <zbenjamin> ogra_: click rollback
[19:55] <ogra_> hah
[19:58] <zbenjamin> ogra_: its kind of sad that there is no API that can elevate a process to higher rights in linux when you know the password, then i could just open a communication channel that is encrypted to send the password
[19:58] <ogra_> zbenjamin, lets discuss that at the sprint
[19:58] <zbenjamin> ogra_: ok!
[19:59] <ogra_> dev mode as is is an awful hacked android dev mode, i think we can really do better
[20:00] <zbenjamin> ogra_: yeah :)
[20:00] <ogra_> (with the right amount of time and planning involved)
[20:01] <mhall119> zbenjamin: what would you need root for?
[20:02] <zbenjamin> mhall119: click install needs root, and cjwatson suggested to create a temporary click db what would need root as well
[20:03] <mhall119> zbenjamin: he also said he's adding a d-bus interface to click so as to replace packagekit
[20:03] <mhall119> which I assume means we can run something as the normal user and have click install it as root
[20:03] <mhall119> just as pkcon install-local does today
[20:04] <mhall119> because we're going to have to support that for store installed apps too
[20:04] <ogra_> you will still need a way to elevate privs, authenticate or some such
[20:04] <ogra_> (or a key as zbenjamin said above)
[20:04] <mhall119> why?
[20:04] <zbenjamin> mhall119: yep, that also means to make the upstart jobs aware of the temporary database
[20:05] <ogra_> mhall119, because you dont want everyone to be able to do stuff with root privs on your device ?
[20:05] <mhall119> zbenjamin: why couldn't that just be something passed over dbus?
[20:05] <mhall119> ogra_: we want them to install packages
[20:05] <ogra_> right
[20:05] <mhall119> which they can today
[20:05] <mhall119> without root privileges
[20:05] <ogra_> yes, but if the desire is to do that with higher privs in the future
[20:06] <ogra_> which is how i understand the above
[20:06] <mhall119> I don't think we'llneed higher privs
[20:06] <zbenjamin> mhall119: could be , but the app still should be started confined and i would like to use a stable API/service for that so we do not break on every change. We had that before and it burned us badly
[20:07] <mhall119> zbenjamin: that's the goal, the only difference from the SDK's perspective would be that it tells the install command to install to /tmp/sdk-dev/ or something like that
[20:07] <zbenjamin> mhall119: yeah and start it of course
[20:07] <mhall119> yes that too
[20:07] <zbenjamin> mhall119: plus we need signals that tell me about the state of the app (at least started/stopped and exit code )
[20:08] <mhall119> zbenjamin: do we already have that?
[20:08] <zbenjamin> mhall119: yes upstart does that
[20:08] <mhall119> then it should be the same with cjwatson's replacement
[20:08] <zbenjamin> mhall119: you want to look at libupstart i think
[20:09]  * mhall119 doubts that he really wants to :)
[20:09] <zbenjamin> ok probably not ;)
[20:10] <mhall119> zbenjamin: you call upstart-app-launch or something like that right?
[20:10] <mhall119> I assume it uses envvars liek $HOME or $XDG_* to find the app to start
[20:10] <zbenjamin> mhall119: its ubuntu-app-launch now, and i use the backend library directly, not the frontend
[20:11] <zbenjamin> mhall119: uh tedg would be the right guy to ask that, it should be upstart jobs
[20:11] <mhall119> zbenjamin: I still assume there's a way to tell it where to look for apps
[20:11] <mhall119> ok, we'll find out from ted
[20:12] <mhall119> lucking all of this is code that we're writing, so the only real obstacle is developer time
[20:12] <mhall119> unfortunately the only real obstacle is developer time :(
[20:13] <zbenjamin> :/
[20:13] <zbenjamin> mhall119: only thing i'm concerned about is that with a change like that we would break compatiblity to older phone images.
[20:14] <zbenjamin> mhall119: we have no way of asking the phone if it has features like that, so the script can adapt
[20:14] <zbenjamin> i hardly doubt we can use the same commands for both ways of installing a app, except only setting a env var would change the behaviour of all used commands
[20:30] <tedg> mhall119, I'm confused, what are you trying to do?
[21:05] <mhall119> tedg: we want to install a click package somewhere other than where the store installs and run the app from there
[21:05] <tedg> mhall119, Why?
[21:05] <mhall119> tedg: the case is app development, running an app project from the SDK currently installs it normally, which conflicts if you already have the app isntalled
[21:06] <mhall119> so I can't have the stable version of my app on my phone *and* test the development version on my phone
[21:06] <tedg> mhall119, Clicks are all per-user, so wouldn't it make more sense to just have it be another user account?
[21:06] <tedg> So I could have my stable account and my dev account.
[21:06] <tedg> Or I could install the dev in my stable account right before shipping.
[21:06] <mhall119> tedg: and could we run it on the stable account session in Unity?
[21:07] <tedg> I'm confused. You'd be two users. You log in as one, or the other, or switch between them.
[21:07] <tedg> Just like all Ubuntu systems.
[21:07] <mhall119> tedg: we don't have multi-user on the phone, but even if we did I don't think that's a very developer friendly solution
[21:08] <mhall119> tedg: click allows (or will allow) the SDK to install the dev click package in a separate space, we would just need to launch it under confinement from that place
[21:08] <tedg> mhall119, We do have multi user, we just don't have UI for switching users. That's a solvable problem.
[21:08] <mhall119> tedg: they're all solvable problems, it's just a matter of which one is easiest/most appropriate to solve for this
[21:09] <tedg> mhall119, I don't understand why a) you wouldn't change the name (i.e. so it'd show up with two icons in the apps scope) or b) you wouldn't change the version, so that you could detect which you're running.
[21:09] <tedg> Both of those options work today.
[21:09] <mhall119> tedg: the appid is used in multiple places, which makes it more complicated to change especially for scopes where it's in the source and binary filenames
[21:10] <mhall119> even if you change the version number you have to uninstall the currently installed one before you can run the dev one
[21:10] <tedg> mhall119, That's not true. It's all ref counted. Each user on the system can have different versions of the app.
[21:10] <mhall119> each user can, yes
[21:11] <tedg> So you don't have to remove the old one.
[21:11] <mhall119> but I currently can only use one user
[21:11] <tedg> You just have to say "this is the version I want"
[21:13] <mhall119> so here's my use case, I have uReadIt 1.0 installed on my phone. It works, I use it every day. But now I'm starting on 2.0, it won't be ready for months. I want to be able to test 2.0 on my phone while I develop it, but still be able to use 1.0 on the same phone until 2.0 is finished and in the store
[21:13] <tedg> So you want to have two apps installed. uReadIt 1.0 and uReadIt 2.0
[21:13] <mhall119> I really don't care if uReadIt 2.0 is installed, I just want to be able to run it on my phone from the SDK
[21:14] <mhall119> under proper confinement
[21:14] <tedg> To run under proper confinement it needs to be installed.
[21:14] <tedg> So you want to have two apps installed.
[21:15] <mhall119> yes, one permanently and one temporarily
[21:15] <tedg> And so why can't they have different appids?
[21:15] <tedg> com.ubuntu.developer.mhall119 and com.ubuntu.developer.mhall119.test
[21:15] <tedg> Or package names.
[21:15] <mhall119> with a QML app I have to change it in the manifest and in the MainView QML code
[21:16] <mhall119> for scopes I need to change it in the manifest, in the .ini file, and (somehow) in the resulting binary .so file
[21:16] <mhall119> for C++ apps or plugins I might need to change it other places
[21:16] <tedg> My argument would be that we should fix that. It should be set in one place, the manifest.
[21:16] <tedg> For instance Unity Actions gets it from teh APP_ID environment variable.
[21:17] <mhall119> it needs to be in the QML app to tell (I guess) Unity what app the window belongs to
[21:17] <mhall119> it also seems to be used by content-hub to identify the app
[21:17] <tedg> Sure when it creates the Mir connection.
[21:17] <tedg> Yup, but that's just for content hub to match to the manifest.
[21:17] <mhall119> I'd imagine Online Accounts also wants it from the QML
[21:17] <mhall119> or maybe it uses the manifest files only
[21:18] <tedg> No, I think it gets it from the apparmor profile it's running under.
[21:18] <tedg> Checks the dbus connection.
[21:18] <mhall119> at any rate, I'd rather not make the developer change their app name just to run it
[21:18] <mhall119> unless it can be done automatically and transparently
[21:18] <tedg> I think it should be done automatically and transparently. I'd rather make QtCreator complex and our phone simple.
[21:19] <tedg> It's easier to upgrade QtCreator :-)
[21:19] <tedg> Because complexity leads to bugs.
[21:19] <mhall119> tedg: but, if we can properly install it as a click package of the same name, just in a different location, why wouldn't that work with ubuntu-app-launch and confinement?
[21:19] <tedg> mhall119, If it has the same name, which do we run?
[21:19] <mhall119> tedg: how do you decide currently?
[21:19] <tedg> What happens if you run both at the same time?
[21:19] <mhall119> how would you?
[21:20] <tedg> The App IDs are guaranteed unique.
[21:20] <tedg> We assume that everywhere.
[21:20] <mhall119> tedg: unique per app, not unique per install
[21:20] <tedg> There is only one of each appid in the session.
[21:21] <mhall119> tedg: you can have pre-installed clicks in /usr/share/click/preinstalled and store-installed updates in /opt/click.ubuntu.com/ can't you?
[21:21] <tedg> We have hashtables and db tables that use it as a primary key.
[21:21] <tedg> Correct, but only one of those is the running one for the current user.
[21:21] <tedg> So there's one version of each package for the current user.
[21:21] <tedg> Whether the system has one or a thousand.
[21:22] <mhall119> tedg: so could we temporarily make the current user look in /tmp/click/ first, then /opt/click.ubuntu.com/ then /usr/share/click/preinstalled ?
[21:22] <tedg> Or you could just install the click, and then remove it when done.
[21:22] <tedg> It'd be the same effect.
[21:22] <mhall119> tedg: install current+1, then uninstall only that version and it will still have current?
[21:23] <tedg> There can be only one of that package name. So if you install uReadIt 2 with the same package name as uReadIt 1, the 1 doesn't exist.
[21:23] <tedg> Yes
[21:23] <mhall119> it'll exist in /usr/share/click/preinstalled still though won't it?
[21:23] <mhall119> or is that only because it's installed there as root?
[21:23] <tedg> Preinstalled, yes, always. For the ones in /opt it'd be refcounted.
[21:24] <mhall119> so if I have 1.0 installed as phablet from the store, and I install 2.0 as phablet from the SDK, it'll remove 1.0
[21:24] <tedg> So if there's only one user it could be dropped and uninstalled. But, we could make a dummy user to keep a ref.
[21:25] <mhall119> tedg: is there no way we can add another click database to /tmp/click/ and let the user session know about it?
[21:26] <tedg> There is not no way, it's software. There's no reason to do that.
[21:26] <mhall119> cjwatson, if I understand him correctly, says we can make click install to /tmp/click by passing it an additional argument
[21:27] <tedg> Besides the fact that cjwatson is always correct, he's correct in this case too. That doesn't make it a good idea.
[21:29] <mhall119> it sounds better than having to implement multi-user UI and making me switch accounts whenever I want to hack on my app
[21:29] <tedg> I'm not saying you have to do that, though I do like that from the developer experience perspective.
[21:29] <tedg> All you have to do is install the app you want to test, and uninstall it when you're done.
[21:30] <mhall119> and switch accounts
[21:30] <tedg> Nope, you'll have the new version as soon as you install the new version.
[21:30] <mhall119> so I can install 2.0 as phabletdev and run 2.0 as phablet?
[21:30] <tedg> No
[21:31] <tedg> Each user has different versions
[21:31] <mhall119> then I have to switch accounts, no?
[21:31] <tedg> You'll have to install 2.0 as phablet.
[21:31] <tedg> If you want different accounts with different versions, you'll have to run as the account that has the version you want.
[21:31] <mhall119> and install 1.0 as phabletdev?
[21:32] <tedg> If you want.
[21:32] <mhall119> if I don't 1.0 will be removed, no?
[21:32] <tedg> Sure, but you never need to log into that account. I think there are other ways to keep references, but I'm not as sure there.
[21:32] <tedg> We just need to keep a reference.
[21:33] <mhall119> and then if I install uReadIt 2.0 as phablet, and then uninstall 2.0 as phablet, I will revert back to having 1.0 as phablet, or will I know long have uReadIt as phablet?
[21:33] <mhall119> s/know/no/
[21:34] <tedg> Well, technically if you run "uninstall" you won't have version. But you can "install 1.0" and you'll switch to 1.0. 2.0 will loose refs, and then be removed.
[21:35] <mhall119> so the SDK would need to remember the previous installed version and re-install that
[21:35] <tedg> So the real answer is, yes you can go back to 1.0
[21:35] <tedg> Yes
[21:35] <tedg> It can discover it as well.
[21:35] <mhall119> how?
[21:35] <tedg> Anything that is not confined can get a list of versions on teh system.
[21:35] <tedg> I'll have to look up the command, but click provides it.
[21:36] <mhall119> but on actual multi-user systems it would need to know the last version that user had
[21:36] <tedg> Sure, if there was a chance of there being more than one installed.
[21:37] <tedg> I guess there could also be a preinstalled and an upgraded version as well.
[21:37] <mhall119> tedg: can you add your recommendation to the bottom of https://docs.google.com/a/canonical.com/document/d/1i5KRNoc-UXYxT3xFDl9YKETwaa0I2yIUG33Oi_pyeYc/edit so we don't lose it please?
[21:37] <mhall119> it seems we're going to need to go through different options in detail
[21:38] <tedg> mhall119, No rights :-)
[21:38] <mhall119> tedg: refresh and you should now
[21:42] <tedg> mhall119, Updated
[21:43] <mhall119> thanks tedg
[21:46] <dobey> infinity: around?
[21:56]  * dobey needs a debdiff sponsored
[21:58] <dobey> slangasek: or if you could sponsor. i've attached a debdiff to https://bugs.launchpad.net/ubuntu/+source/libjsoncpp/+bug/1368420 which i need to get into utopic. thanks.
[22:15] <Noskcaj> The package bowtie is currently FTBFS on !amd64. debian (and upstream) has dropped building on those arches. Should we sync the change that stops attempting builds on the failed arches?
[22:42] <cjwatson> zbenjamin: to be clear I'm not suggesting that you should need root privileges; I think you misunderstood me
[22:45] <cjwatson> tedg: yes, right now if you install a new version of an app the old one will immediately be vulnerable to GC; but we could indeed suppress that somehow
[22:46] <cjwatson> tedg: the other bit is that as soon as you install a new test version of an app it would be the thing that shows up in your desktop in general as the current version.  perhaps a good approach would be to have subusers
[22:46] <cjwatson> tedg: so you could have click package versions owned by cjwatson:sdk
[22:46] <cjwatson> with whatever separator
[22:47] <cjwatson> tedg: then those could have different semantics wrt hooks and such
[23:03] <slangasek> dobey: what's the upstream status of this libjsoncpp patch?
[23:55] <dobey> slangasek: not upstreamed yet (i'd just finished preparing it).