/srv/irclogs.ubuntu.com/2018/06/07/#launchpad.txt

tintou_I've filled an issue in Launchpad itself a few weeks ago, but would it be possible to reassign all the signon-* and libaccounts* projects from https://launchpad.net/online-accounts to https://launchpad.net/~accounts-sso-devs which contains the team from https://gitlab.com/accounts-sso09:18
cjwatsontintou_: Could you point me to the issue you filed?10:07
tintou_cjwatson: arf, sorry for the noise, I've probably used the "contact this team admins" here instead https://launchpad.net/~pspmteam10:20
cjwatsonThat is ... probably not very useful10:22
rbasakLaunchpad is building git-ubuntu snaps broken currently (we embed tests and they fail). I haven't been able to reproduce locally - my snap builds from the same source tree seem to reliably work.10:23
cjwatsontintou_: Could you file a ticket on https://answers.launchpad.net/launchpad/+addquestion ?  We may need to consult a bit.10:23
rbasakDo you have any details on how I could reproduce Launchpad's builds exactly please?10:23
rbasakSeparately I'm trying to follow up by investigating exactly how the Launchpad built snap is broken.10:23
cjwatsonrbasak: I guess it would be necessary to set up launchpad-buildd in a VM.  It's a bit of a long tail to get to "exactly".10:24
rbasakI'm using "snapcraft cleanbuild" locally10:25
wgrantrbasak: Have you tried building it in a buildd chroot?10:25
wgrantcleanbuild does not currently use a properly clean chroot AFAIK10:25
rbasakwgrant: no. That sounds like a good idea.10:25
wgrantIt probably uses something big based on a cloud-image.10:26
rbasakI'm seeing this, which I suppose is expected:10:26
rbasak-prefix=/root/build_git-ubuntu/stage/usr10:26
rbasak+prefix=/build/git-ubuntu/stage/usr10:26
rbasakBut also this, which I'm more surprised to see10:26
rbasak-CPPFLAGS=      -I. -IInclude -I$(srcdir)/Include  -I/root/build_git-ubuntu/stage/usr/include -I/root/build_git-ubuntu/stage/usr/include/x86_64-linux-gnu10:26
rbasak+CPPFLAGS=      -I. -IInclude -I$(srcdir)/Include  -I/build/git-ubuntu/stage/usr/include10:26
rbasakLDFLAGS not affected though10:27
tintou_cjwatson: question opened https://answers.launchpad.net/launchpad/+question/670044 thanks :)10:28
wgrantrbasak: I'd suggest building in a chroot that contains a sane set of packages (eg. chroot_url from https://api.launchpad.net/devel/ubuntu/xenial/amd64)10:28
wgrantIt will probably tell you which dep you're missing10:28
rbasakwgrant: so put that in schroot or a container or similiar, apt install snapcraft and run that inside it?10:29
cjwatsonLP converts it to a container, but that's probably only necessary if you build-depend on snaps.10:30
wgrantIndeed.10:31
rbasakOK I'll try that thanks10:31
rbasak(using schroot)10:31
wgranttintou_: Can you explain the justification and history in the ticket?10:31
wgrantIt's very exceptional for us to reassign ownership of projects like this.10:32
wgrantWe'll need to do some research.10:32
rbasakIs it the buildd user I should run snapcraft against?10:39
tintou_I just added more information, but yeah I understand that it might require to ask people for the feasibility :)10:39
rbasakHmm. snapcraft seems to want sudo.10:56
cjwatsonrbasak: We currently run snapcraft as root.10:56
cjwatsonhttps://bugs.launchpad.net/launchpad-buildd/+bug/170265610:57
ubot5Ubuntu bug 1702656 in launchpad-buildd "Run snapcraft as non-root (with passwordless sudo)" [High,Triaged]10:57
rbasakAh OK. Easier for me to replicate then, thanks :)10:57
rbasakRunning snapcraft now. I did it in a plain chroot as I realised I'm doing this all in a test VM anyway10:58
cjwatsonYeah, that's basically what Launchpad did until we switched to a container.11:00
rizzitelloHi all im working on a project and we are in current discussion to add submodules to our project. How is this going to affect ubuntu builds? last I tried launchpad didn't work right with git repos with submodules . Is there a workaround or has this been fixed ?13:22
cjwatsonrizzitello: What sort of builds?  Source package recipes, snaps, ...?13:25
rizzitellopackages13:25
cjwatsonSounds like https://bugs.launchpad.net/git-build-recipe/+bug/1733603, which we haven't got round to fixing yet13:26
ubot5Ubuntu bug 1733603 in git-build-recipe "recipe builds for git projects don't work with submodules" [Undecided,New]13:26
cjwatsongit-build-recipe is open source, like the rest of Launchpad; I'd be happy to review a tested patch to it13:26
rizzitellosource repo?13:27
rizzitelloand how best for me to test my patch?13:27
cjwatsonhttps://git.launchpad.net/git-build-recipe13:27
cjwatson"python3 setup.py test" should work13:28
rizzitelloany pointers on where to squash this bug?13:29
cjwatsonThat's most of the work; if I had an immediate answer to that I'd already have fixed the bug :)13:30
rizzitellolol ok just trying to save anytime on the search :P13:30
cjwatsonBut it's quite a small project, only a couple of thousand lines of code outside tests13:31
cjwatsonMaybe pull_or_clone, or somewhere near there13:32
rizzitellook thanks cjwatson ill see what i can do ..13:32
cjwatsonCheers13:32
rbasakI've not been successful at reproducing the problem.13:52
rbasakNow that I've got things close, I'll see if a diff against the Launchpad build log gives me anything.13:52
rbasakCould there be some different in network environment perhaps? Eg. pip falling back to something if it can't fetch from pypi?14:03
rbasakThat kind of thing anyway - LP's build log shows pip working normally AFAICT14:05
cjwatsonrbasak: There is certainly such a difference - LP builders run with very constrained network access and have an authenticated outbound proxy15:01
cjwatsonrbasak: This is regrettably quite hard to reproduce exactly locally15:02
rbasakThanks. I'm trying to pin it down from the other direction.15:13
rbasakImportError: /snap/git-ubuntu/x8/lib/python3.6/site-packages/../../../usr/lib/x86_64-linux-gnu/../libgcrypt.so.20: symbol gpgrt_get_syscall_clamp, version GPG_ERROR_1.0 not defined in file libgpg-error.so.0 with link time reference15:13
rbasakThat's the actual specific problem.15:13
rbasakI'm building both libgcrypt.so.20 and libgpg-error.so.0 as part of the snap build, from upstream source15:13
rbasakI don't see that it has appeared in my local chroot via snapcraft installing deps before it begins15:13
rbasakAny chance it could arrive in the chroot on Launchpad in some other way?15:14
rbasakAnother difference is that on Launchpad snapcraft is using make -j415:14
* rbasak looks up objdump syntax15:15
cjwatsonrbasak: launchpad-buildd also installs   snapd fuse squashfuse udev (you may have difficulty installing these ones in a chroot, but check their deps) python3 socat snapcraft, and either bzr or git depending on what sort of source for the snap you gave it15:28
cjwatsonreasonably believable that something there could pull in gpg-error15:29
rbasakHmm.15:32
rbasakOn the Launchpad build, that symbol is missing. On my working build, the symbol is presne.t15:32
rbasakThat narrows it down at least.15:32
cjwatsonYou should be able to see what packages are being installed in the build log on each side15:33
rbasakack15:33
cjwatsonAlso make sure sources.list is the same (you can see that near the top of the LP build log, in one of its initialisation commands)15:34
cjwatsonoverride-sources-list15:34
cjwatsonYou'll have to replace "ftpmaster.internal" with "archive.ubuntu.com" but otherwise should be able to use it intact15:34
cjwatson(It is just about technically possible to set this all up locally, aside maybe from the strange DNS view hacks that I've never seen directly.  But having been beating my head against it for the last two days I can't yet say I'd recommend trying it.)15:43
rbasakI'm starting to suspect that libgpg-error has a bug related to concurrent builds15:44
rbasakThe configure output is identical15:44
naccrbasak: but the issue we're seeing is unrelated to the symbol being present or not, it's the rpath thing snapcraft does16:00
naccrbasak: that is, check if the libgpg-error.so has the symbol in the snap (not the one used by _pygit2). if it does, the build of libgpg-error isn't the problem.16:01
naccrbasak: if it does, check the `ldd` output for _pygit2, you'll see in the working cases it uses our snap's build. In the failing cases it uses the core snap's. I pinged kyrofa on this, and he said they are working on making the build/stage order determinate16:02
naccnot sure if that will just break us everywhere or fix us everywhere, tbh16:02
rbasaknacc: inside snap run, if I run python3, then "import pygit2" fails16:03
rbasakWith ImportError: /snap/git-ubuntu/x8/lib/python3.6/site-packages/../../../usr/lib/x86_64-linux-gnu/../libgcrypt.so.20: symbol gpgrt_get_syscall_clamp, version GPG_ERROR_1.0 not defined in file libgpg-error.so.0 with link time reference16:03
rbasak/snap/git-ubuntu/x8/lib/python3.6/site-packages/../../../usr/lib/x86_64-linux-gnu/../libgcrypt.so.20 is inside the snap16:04
rbasakldd gives me ldd /snap/git-ubuntu/x8/lib/python3.6/site-packages/../../../usr/lib/x86_64-linux-gnu/../libgcrypt.so.2016:04
rbasaklibgpg-error.so.0 => /snap/core/current/lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f348d9e3000)16:04
naccright the last bit is the bug16:05
rbasakAnd libgpg-error.so.0 doesn't have that symbol in a broken snap16:05
rbasakBut in my local build, it does16:05
naccit's the *wrong* libgpg-error16:05
rbasakOh.16:05
rbasakStaging order?16:05
naccnot libgcrypt, libgpg-error16:05
naccyeah, i *think* so, but that's what my commit was supposed to fix16:05
naccso it's somethign else, but heck if i know wht16:05
nacci did see this from the launchpad build logs:16:06
naccCopying needed target link from the system16:06
nacc             /lib/x86_64-linux-gnu/libgpg-error.so.0.17.016:06
nacci think "system" here is the core snap, but i'm not sure16:06
naccsnapcraft does some weird stuff about library resolution, and that was something we had to fix when we reverted snapcraft before16:07
naccbecause it did it "wrong" :)16:07
naccrbasak: can you confirm in the broken snap, the libgpg-error.so *in* the git-ubuntu snap does have the symbol?16:08
rbasakSo in the "good" build tree, I don't see the missing symbol in ./parts/git-ubuntu/install/lib/x86_64-linux-gnu/libgpg-error.so.0, but I do see it in ./parts/libgpg-error/install/usr/lib/libgpg-error.so.0.22.016:08
rbasakAnd it's also in ./prime/usr/lib/libgpg-error.so.0.22.0 in the good snap16:09
nacchrm, yeah, the 'lib/x86_64-linux-gnu bit should get pruned by our yaml16:09
rbasakIn the bad snap, the final thing doesn't have the symbol, which is presumably equivalent to what was in prime in the build tree16:09
rbasakSo that's the difference I think. Same snapcraft.yaml, same version of snapcraft.16:10
naccrbasak: line 395 of the yaml, iirc16:10
rbasakOK. So if I can get that line working, the problem should be solved16:12
rbasaklib/x86_64-linux-gnu/libgpg-error.so.0 vs. usr/lib/*/*gpg-error*16:12
rbasakPerhaps the globbing doesn't catch the multiarch directory16:12
naccline 395 should be          - -lib/*/*gpg-error*16:14
nacci think it does, because we don't end up with two libgpg-error in the snap16:15
naccthe problem is that possibly the timing is off as to when snapcraft does it's rpath search16:15
nacci think we'd need kyrofa to help with that, he figured this out last time :)16:15
rbasakIf it is ignoring it, then how is it that the "bad" libgpg-error.so.0* ends up in the snap?16:17
rbasakOr are you saying that it ignores the ignore for the purposes of this rpath search?16:18
naccrbasak: afaik, the bad libgpg-error never ends up in the snap16:18
naccit's the linktime reference that is bad16:19
naccwhich i believe snapcraft influences by editing the rpath in the library itself, but i'm not sure (they do soe patchelf voodoo)16:19
rbasakI can tell whether a snap is good or bad by examining the symbols in libgpg-error.so.*. Would you expect that?16:19
naccrbasak: *which* libgpg-error.so ?16:19
rbasakThe one in usr/lib in the snap squashfs16:20
rbasakPerhaps we should move to #snappy16:21
naccyeah we can16:21
=== beisner-sick is now known as beisner

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