/srv/irclogs.ubuntu.com/2019/07/30/#snappy.txt

mborzeckimorning05:22
mupPR snapd#7193 opened: [WIP] cgroupsv2 spread run <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/7193>05:30
mupPR snapd#7194 opened: packaging: use %systemd_user_* macros to enable session agent socket according to presets <Created by jhenstridge> <https://github.com/snapcore/snapd/pull/7194>06:08
mborzeckiquick errand, back in 3006:19
mborzeckire06:38
mborzeckihmm fmt.Printf("aligninfo: %+v\n", aligninfo)06:38
mborzecki    ...open /home/maciek/work/canonical/workspace/src/github.com/snapcore/snapd/cmd/snap/cmd_services_test.go: too many open files06:38
mborzeckihmm some http.Response structs with no calls to rsp.Body.Close()06:56
mupPR snapd#7184 closed: daemon: do not modify test data in user suite <Simple πŸ˜ƒ> <Created by bboozzoo> <Merged by bboozzoo> <https://github.com/snapcore/snapd/pull/7184>06:59
mborzeckiand there's different --help output when running unit tests via go test or via a prebuilt test binary :/07:02
=== pstolowski|afk is now known as pstolowski
pstolowskimorning07:15
mborzeckipstolowski: hey07:16
mborzeckipstolowski: we're leaking fds in unit tests07:17
mborzeckipstolowski: and a lot07:18
mborzeckipstolowski: ./snap.test -check.f TestSession -test.count=99999 is leaking ~50fds/s on my machine07:18
mborzeckipstolowski: as in go test github.com/snapcore/snapd/cmd/snap07:18
pstolowskimborzecki: oh /o\, nice discovery.. TestSession appears to be a new thing?07:26
mborzeckipstolowski: fwiw, we were leaking fds before that too, just that now there appears to be more07:27
TalzzzHi all, I'm new to Snap and have some questions and will be very happy if you could help me to answer them.07:28
TalzzzI'v also posted my question in Snapcraft community: https://forum.snapcraft.io/t/azul-jre-bundled-with-my-snap/1252407:30
TalzzzBasically, as I understood it. Snap works similar to AppImage, it should come with all the dependencies bundled in the snap.07:35
TalzzzSo, when I create a snap package for a Java app I want the jre bundled in the snap and use java from there and not the one installed(if installed) in the system.07:37
TalzzzAm I right?07:37
pstolowskiTalzzz: yes. this is relevant to your question: https://snapcraft.io/docs/java-applications07:42
pstolowskiTalzzz: i'm not familiar with building java-based snaps at all, but it seems to me that the gradle plugin does the magic07:43
mborzeckipstolowski: ok, so http.Server.Shutdown() when passed a context.WithTimeout() does not work the way we think it works07:44
pstolowskimborzecki: ah07:44
mborzeckipstolowski: in SessionAgent.Stop() when passing a nil or background context, there's no fd leak07:45
pstolowskimborzecki: so, we're leaking fds for real, not just in tests?07:47
mborzeckipstolowski: in real world, shutdown is in the exit path, so the process will be wrapped up anyway07:53
pstolowskimborzecki: good07:53
mborzeckiquick errand, back in 2008:02
mupPR snapd#7195 opened: cmd/snap, usersession/agent: close http.Response body in tests <Simple πŸ˜ƒ> <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/7195>08:23
mborzeckipstolowski: ^^08:23
pstolowskimborzecki: ty! +108:24
mborzeckihaha, and need to fix it :P08:26
mborzeckipstolowski: force pushed08:28
pstolowskimborzecki: hmm. i didn't spot the difference, perhaps i was looking at the new code already?08:34
mborzeckipstolowski: https://github.com/snapcore/snapd/compare/88aba0a637d35b96a419f1f1f1018d411b8d9b9e..e6e95530470b25a7dc6fa3a336f541aa8901f0f808:35
pstolowskimborzecki: ah, this, very subtle ;)08:35
mborzeckipstolowski: and the unit test job stalled08:47
mborzeckimore fixes clearly needed08:47
pstolowskimborzecki: uhm... this is annoying. i'll look at reproducing this too08:50
mborzeckipstolowski: try passing -timeout 5m to go test08:50
mborzeckipstolowski: wondering wehether we should even use a graceful shutdown in user session08:59
Chipacamborzecki: is -timeout for one test, or for all of them?09:04
Chipaca'if a test binary runs for more than <timeout>'09:04
Chipacait isn't clear if 'go test ./...' counts as one binary or multiple09:05
Chipaca:)09:05
Chipacai can test09:05
mborzeckiChipaca: yeah, i think it's per package09:05
mborzeckiChipaca: go test builds a *.test binary for each package09:05
Chipacayeah, if your change works, i guess it is :)09:05
Chipacaalso we can drop the silly 'go list | grep -v vendor' i think?09:05
mborzeckiChipaca: well, it did get stuck on travis :/ so09:05
* Chipaca checks with 1.909:05
Chipacaactually that's >= 1.10 so it should just work with ./... directly09:06
Chipacahmm09:06
Chipacamborzecki: interestingly, why didn't you set -timeout for the 'short' run?09:07
Chipacasurely that'd be the interesting one, to catch things fast09:07
mborzeckiChipaca: missed that, force pushed now09:09
mborzeckiomg, and we actually run --unit-short on travis /o/09:09
Chipaca:)09:09
Chipacayeah the 'go list | grep' trick is no longer needed with 1.9 either09:11
Chipacajust tested :)09:11
Chipacabut that's for another time probably09:14
mborzeckihttps://paste.ubuntu.com/p/T5w4r43FSt/ locally with -timeout09:30
Chipacamborzecki: do you have the arch with 5.2 to hand?09:32
Chipacamborzecki: need to know the version of util-linux09:32
mborzeckiChipaca: 2.3409:33
Chipacamborzecki: and systemd?09:33
mborzeckiChipaca: 24209:33
Chipacaok09:33
Chipacathanks09:33
Chipacathings move forward on the 'zany loop zaniness' front09:38
mborzeckiheh, so travis unit tests job is passing each time i restart it now09:49
Chipacasounds terrible09:49
mupPR snapd#7196 opened: packaging: use passthrough for type:snapd <Created by stolowski> <https://github.com/snapcore/snapd/pull/7196>09:57
mborzeckiChipaca: something fishy, osutil.RunWithContext() spawns a goroutine to call Process.Kill() when the context times out, just got a failure where there several terminal pages of runnable goroutines in that code09:59
Chipacamborzecki: is this with an insane -count ?10:00
Chipacamaybe it's leaking goroutines?10:00
Chipacaanyway RunWithContext should go10:00
Chipaca(we've got contexts now)10:00
mborzeckiChipaca: runnig in this way: waitDone := make(chan struct{})10:01
mborzeckiduh, wrong paste10:01
mborzeckihile true; do echo "---------------------- $(date)"; GOMAXPROCS=1 GOTRACEBACK=all go test -count=1 -timeout 5m $(go list ./... |grep -v vendor |grep -v snap-seccomp) || break ; done10:01
mborzeckiat top of the tree10:01
mborzeckiChipaca: just running to go test -count=insane inside osutil doesn't trigger it10:01
Chipacamborzecki: phew10:01
Chipacamborzecki: IIRC the goroutine sticks around until timeout10:02
Chipacamborzecki: which should be fine normally10:02
mborzeckiChipaca: hm, but waitDone is closed earlier than that10:02
Chipacabut, anyway, seriously stdlib now has exec.COmmandContext which replaces this10:02
Chipacaanyway let me see10:02
mborzeckiChipaca: is that in 1.9 too?10:02
Chipacamborzecki: 1.7+10:03
Chipacamborzecki: look at the right of https://golang.org/pkg/os/exec/#CommandContext10:03
Chipacamborzecki: with enough contention (e.g. in tests?) i could see some piling up here while it sorts things out10:04
Chipacamborzecki: ctx.Done() has a synchronizing mechanism which will be slow enough to appear10:04
Chipacamborzecki: unless you're telling me it died _because_ of the number of goroutines i wouldn't be alarmed10:04
mborzeckiChipaca: heh, couldn't scroll back that far10:06
Chipacamborzecki: the unit tests for osutil alone fire off 76 of those fwiw10:06
Chipacano, 41, sorry10:07
* Chipaca is very good at counting10:07
mborzeckiChipaca: omg https://travis-ci.org/snapcore/snapd/jobs/565388637 no backtrace in the log /o\10:07
Chipacaand now i count 7410:07
Chipacamborzecki: ?10:08
Chipacamborzecki: line 1213?10:08
mborzeckiChipaca: w8, there's one, maybe i opend the log page too early10:08
* Chipaca w8s, m810:08
diddledan2l810:08
* Chipaca hugs diddledan 10:09
diddledan\o/10:09
mborzeckigoroutine 2440 [IO wait, 4 minutes]: heh, stuck in godbus read?10:09
diddledangodbus!10:09
diddledanpublic transport for heaven?10:09
mborzeckigo go dbus :)10:10
Chipaca<sproing>10:11
cjwatsonvia "go dbus go" I now have a "doo-doo-doo-doo-doo inspector dbus" earworm.  hope you're all happy10:12
Chipacacjwatson: snapd snap, doo doo doo doo doo doo10:13
mborzeckiChipaca: fwiw, i don't see the goroutine that's supposed to send SIGUSR1 to the process, so it probably happened and it exited, but signal was not received?10:13
Chipacacjwatson: snapd snap, doo doo doo doo doo doo10:13
Chipacacjwatson: snapd snap!10:14
Chipacahopefully that got rid of the ear bug10:14
diddledancjwatson: https://youtu.be/zuq55zgXxHU10:15
Chipacadiddledan: https://www.youtube.com/watch?v=XqZsoesa55w10:15
Chipacamborzecki: maybe it went to the wrong process?10:16
mborzeckiraising the bar: https://www.youtube.com/watch?v=wcibw-m8tRk10:16
mborzeckiChipaca: golang, process signals & goroutines sounds like a bad mix10:17
Chipacahttps://lore.kernel.org/linux-block/f7e6717f-be46-1dfe-80ed-f85a18065c85@i-love.sakura.ne.jp/T/#m7b86e0c0f368ad6523c80b02bcd758d387a93a7710:18
Chipacafwiw10:18
Chipacabug understood, fix … who knows10:19
Chipacamborzecki: why would you raise the bar, this was a fight to the bottom10:19
mborzeckihahaha10:19
Chipacabut, ok, let's raise the bar: https://www.youtube.com/watch?v=UMVjToYOjbM10:20
diddledanthis loop device racing is interesting. maybe ioctl(LOOP_CTL_GET_FREE) could lock the device it returns for the PID (and child PIDs?) calling the ioctl for a short period so that the next ioctl(LOOP_CTL_GET_FREE) gets a different device because the first one is locked10:25
Chipacacontinuing raising the bar, https://www.youtube.com/watch?v=6SFNW5F8K9Y10:28
diddledanor maybe we need a different ioctl entirely that returns the loop number AND does what we're currently requiring a second ioctl for10:28
Chipacapsh, locks, who needs those10:28
* diddledan throws away the key10:29
* Chipaca proposes https://www.youtube.com/watch?v=11GYvfYjyV0 not as a bar-raising but as a bar-mellowing thing10:36
* Chipaca just puts things on shuffle now10:36
mborzeckipstolowski: Chipaca: can you take another look at https://github.com/snapcore/snapd/pull/7195 i've pushed a couple fixes10:42
mupPR #7195: many: fix unit tests getting stuck <Simple πŸ˜ƒ> <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/7195>10:42
Chipacamborzecki: extra +1 for good fortune10:54
mborzeckiChipaca: haha well https://paste.ubuntu.com/p/FnBhJbYYv7/10:57
mupPR snapd#7197 opened: usersession: track connections to session agent for exit on idle and peer credential checks <Created by jhenstridge> <https://github.com/snapcore/snapd/pull/7197>11:05
cachiomborzecki, hey11:08
cachionice forum post11:09
cachiojust a clarification11:09
cachiothe image is not fedora 3011:09
cachiois fedora rawhide11:09
cachiomborzecki, I created that based on our current fedora rawhide image (not useing the previous one)11:10
mborzeckicachio: thanks for catching this, can you build one on fedora 30 too? just under a different name11:10
cachiomborzecki, yes11:11
mborzeckicachio: great, thanks!11:11
cachiorunning process11:13
cachiomborzecki, it should be ready in less than 30 minutes11:13
mupPR snapd#7198 opened: tests: reboot the node when restoring after a test involving lxd <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/7198>11:15
mborzeckizyga: ^^11:16
Chipacacachio: good job on spread#8211:24
mupPR spread#82: Introducing tags for the test which allows to filter executions <Created by sergiocazzolato> <https://github.com/snapcore/spread/pull/82>11:25
cachioChipaca, thanks!!11:25
Chipacanot a +1 yet, but, yeah, good job11:25
cachioChipaca, :)11:25
cachioChipaca, I did it as simple as posible11:25
Chipacacachio: I can't stress enough how nice it is to see a new, useful feature be minimal so we can be sure it's useful before going crazy11:25
Chipacachange that first useful to 'seemingly useful' for that sentence to make sense 100%11:26
cachioChipaca, nice!!11:26
cachioChipaca, and it has spread tests too :)11:27
Chipacayes :-)11:27
Chipacacachio: as noted the implementation can be made even simpler, at the code level (conceptually it's the same)11:27
cachioChipaca, thanks for the review, cheking it...11:31
Eighth_Doctorzyga, preset request for new snapd user socket service: https://bugzilla.redhat.com/show_bug.cgi?id=173437111:39
Eighth_Doctormborzecki: ^11:39
mborzeckiEighth_Doctor: nice11:40
zygao/11:51
zygaEighth_Doctor: thank you11:51
=== morphis9 is now known as morphis
mupPR snapcraft#2648 opened: remote-build: include project name in build-id <Created by cjp256> <https://github.com/snapcore/snapcraft/pull/2648>12:46
Chipacaijohnson: hiya13:02
ijohnsonpstolowski: what was the issue with snapcraft 3.x and lxd/travis?13:28
pstolowskiijohnson: i forgot the exact error message, but it was something about not being able to install core from /var/tmp/core.snap13:36
ijohnsonis there anyway for that test to remove the hacked core and just use the normal core snap when running snapcraft?13:37
ijohnsonah I think I found the PR, it's 7092 right?13:38
ijohnsonerr #709213:38
mupPR #7092: packaging: use snapd type and snapcraft 3.x (2/4) <β›” Blocked> <Created by stolowski> <https://github.com/snapcore/snapd/pull/7092>13:38
pstolowskiijohnson: 7092, correct13:41
pstolowskiijohnson: the test it's not hacking the core, it's just trying to install snapcraft 3.x and build snapd snap (using lxd container as multipass doesn't work due to kvm extensions)13:42
ijohnsonright I understand why you can't use multipass, but I'm wondering why there aren't assertions for that core snap when it runs13:43
ijohnsonis it perhaps because a test that ran before this one installed an unasserted core snap?13:43
pstolowskiijohnson: hmm, interesting idea13:45
ijohnsonthe error here: error: cannot find signatures with metadata for snap "/var/tmp/core.snap" is not coming from snapcraft, it's coming from snapd inside the lxd container13:46
ijohnsonsnapcraft is trying to be smart and re-use the core snap from the host (which in this case is a test VM), but there aren't assertions for that core snap for some reason13:47
alan_gjdstrand_, I'm using review-tools.snap-review and getting "uncompressed snap is too large for available space (1160M > 1212M)". Is there a work-around?13:47
alan_gnm, was just disc space and a weird "1160M > 1212M" claim13:51
pstolowskiijohnson: ahhh, i see, sounds plausible13:52
pstolowskiijohnson: i'll see if refreshing to proper core will help13:53
ijohnsonack13:53
pstolowskiijohnson: thanks for the insight!13:53
ijohnsonpstolowski: it looks like snapcraft will install the snap in the LXD machine with --dangerous only if the revision number starts with "x", otherwise it assumes it's able to download the .assert file as well as the .snap file from the snaps/${snap}/file snapd endpoint13:59
pstolowskiijohnson: also, i've just noticed the comment/suggestion from jamesh (thanks!)14:03
ijohnsonright, yeah I think there might be a silently ignored error from snapcraft when it tries to copy the assertion file (which doesn't exist in this case) between the host and the container14:04
pstolowskii'm trying destructive-mode first, that would be much faster thank lxd for our tests, if it works14:10
zygaHey14:20
zygaHow arΔ™ tyings?14:20
* cachio afk14:24
zygaChipaca, mborzecki, pstolowski anything interesting to report?14:27
Chipacazyga: unit tests hate us14:27
Chipacazyga: but, nah14:28
Chipacanothing on particular fire14:28
zygaChipaca: is that random hang understood better now?14:28
Chipacazyga: we think so14:35
Chipacazyga: not entirely solved yet though14:35
Chipacazyga: signals and threads are fun14:35
zygaChipaca: because of more coding required or because review/landing?14:35
zygaChipaca: indeed :)14:35
Chipacai'm not quite sure where it's at, mborzecki is on it14:36
zygaChipaca: any thread in the process can receive async signals, unless signalling a specific thread and unless sync signal is sent14:36
zygamborzecki: are you around?14:36
mborzeckizyga: feel free to take a look at https://github.com/snapcore/snapd/pull/719514:36
zygathank, you14:36
mupPR #7195: many: fix unit tests getting stuck <Simple πŸ˜ƒ> <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/7195>14:36
Chipacazyga: the 5.2 mount issue is understood, and there's a patch14:36
Chipacazyga: that's also nice news14:37
mborzeckizyga: both userd and session-agent use signals to know when to stop, and both tests (run one after another, but inside the same process) send signals to self to stop userd/session-agent14:37
zygaChipaca: excellent, that is indeed good news14:37
zygaChipaca: on the kernel side or on systemd side?14:37
Chipacazyga: kernel14:38
zygaupstream or other?14:38
Chipacazyga: the 5.3 mount issue (affecting snapped lxd launching things) is https://lkml.org/lkml/2019/7/26/38814:38
Chipacazyga: upstream14:38
Chipacazyga: the 5.3 has a proposed patch fro al viro, which is probably as good as it gets, at https://lkml.org/lkml/2019/7/26/144114:39
Chipacai havn't checked to see if that's in yet,14:39
Chipaca.14:39
zygaChipaca: thanks, that's really good news14:40
zygamborzecki: I managed to get lucky and https://github.com/snapcore/snapd/pull/7190 is green14:42
mupPR #7190: tests: set GOTRACEBACK=1 when running tests <Created by zyga> <https://github.com/snapcore/snapd/pull/7190>14:42
zygamborzecki: it switched the timeout to 5 minutes14:42
zygaI think you did that in your branches as well14:42
zygamborzecki: so with the signal fix, do we know why unit tests failed in that PR?14:42
mborzeckizyga: no, the test likely sends the signal to stop the agent, but the agent code continues as if there was no signal14:43
zygamborzecki: which signal is that?14:44
zygamborzecki: perhaps the test should fork and run in a separate process14:44
zygamborzecki: (and bridge the gap to the parent for reporting)14:44
zygamborzecki: or perhaps we should entirely mock that away for testing14:44
mborzeckizyga: i changed  userd test to use SIGUSR1 and session-agent to use SIGUSR2, but same thing happens14:45
zygamborzecki: are those signals used by the go runtime or by the unit testing stack?14:46
mborzeckizyga: go test has no functionality to run test as a process14:46
zygamborzecki: and do you know how exactly is go setting up the signal handling logic?14:46
mborzeckizyga: options are, move session-agent and userd into separate pacakges (then they're run as separate processes), or mock away the signal bits14:46
zygamborzecki: I'm happy with both, please use your best judgment14:48
zygaChipaca: do you have preferences on how that should be done ^14:48
* zyga needs a trivial + 1 on https://github.com/snapcore/snapd/pull/7191/files14:48
mupPR #7191: tests: remove installed snap on restore <Created by zyga> <https://github.com/snapcore/snapd/pull/7191>14:48
Chipacamborzecki: zyga: I'm OK with mocking the signal setup for tests14:49
zygaChipaca: +!14:49
zyga+1 :)14:49
Chipacamborzecki: zyga: as long as we're sure that bit works :)14:49
zygain case this is not working today let's please revert the code for now or disable the test14:50
zygaso that rest of master is not stuck14:50
mborzeckizyga: left a note under https://github.com/snapcore/snapd/pull/719814:57
mupPR #7198: tests: reboot the node when restoring after a test involving lxd <Created by bboozzoo> <https://github.com/snapcore/snapd/pull/7198>14:58
zygamborzecki: ah, that's cool14:58
zygaif that's the case +114:58
ChipacaI need to hear back from samuele before doing more work on the refactor, so I'm going to step out now, and come back for a couple of hours after dinner15:00
zygamborzecki: commented in the lxd branch15:01
Chipacatelegram me if you need me to come in before that :-)15:01
zygaChipaca: if you ask me a question I can relay15:01
Chipacazyga: i'm in communication with him15:01
zyga+115:01
Chipacazyga: but thank you15:01
zygagreat, thanks15:01
mborzeckizyga: hmm, it failed on 16.04 only???15:02
zygaI think it failed on other systems as well15:03
mborzeckizyga: nope, 2019-07-30 12:02:48 Rebooting on jul301153-640125 (google:ubuntu-18.04-64:tests/main/lxd) as requested...15:03
pstolowskiijohnson, jamesh: it worked in destructive mode!15:07
ijohnsonpstolowski: cool!15:07
ijohnsonhey Chipaca any chance you could comment on my model PR with what direction I should go? from SU I recall that device-key is wrong and it should be at the bottom and use "device-key: |\nblahblahblah", but I'm not sure what you would like me to do about the others15:29
diddledandegville: I've just amended the docker and docker-support interface docs slightly. Can you check the wording is appropriate, for me, please? I edited the top-most line in each doc (https://forum.snapcraft.io/t/the-docker-support-interface/7810 and https://forum.snapcraft.io/t/the-docker-interface/7787)15:57
degvillediddledan: will do - thanks for making the updates.15:58
diddledancheers :-)15:58
ogradiddledan, your indendation of the plugs is wrong16:04
ogra(in your last forum post)16:04
diddledannuh uh16:04
diddledanfor lists you can do without the indentation16:05
ograoh ?16:05
ograi never tried ... heh16:05
diddledanhttps://www.irccloud.com/pastebin/iIgMWTmF/16:06
diddledanof course it gets confusing when you do: https://www.irccloud.com/pastebin/4h38icL2/16:08
diddledanthat's why I like to not indent the list so that an object is clearly delineated as being either incorrectly nested or a child of a list-item16:09
diddledans/object/hash/16:10
diddledanhash/map16:10
diddledanI good words do16:10
diddledanwhat happened to the nice syntax highlighting/colouring on the forums?!16:11
ijohnsonit went away a while ago and nobody has added it back16:16
mupPR snapd#7196 closed: packaging: use passthrough for type:snapd <Created by stolowski> <Closed by stolowski> <https://github.com/snapcore/snapd/pull/7196>16:16
ijohnsondiddledan: https://forum.snapcraft.io/t/code-block-syntax-highlighting-no-longer-works/11004/316:17
diddledanyeah, I don't get why it went away though16:18
=== pstolowski is now known as pstolowski|afk
mupPR snapd#7191 closed: tests: remove installed snap on restore <Created by zyga> <Merged by zyga> <https://github.com/snapcore/snapd/pull/7191>17:27
mupPR core-build#49 opened: initramfs: check keypress in run mode <Created by cmatsuoka> <https://github.com/snapcore/core-build/pull/49>17:57
mupPR snapcraft#2647 closed: build providers: catch LXD socket error <Created by sergiusens> <Merged by sergiusens> <https://github.com/snapcore/snapcraft/pull/2647>17:59
mupPR snapcraft#2649 opened: Release changelog for 3.7.1 <Created by sergiusens> <https://github.com/snapcore/snapcraft/pull/2649>18:02
jcrbenhi, coming here from suggestion at https://forum.snapcraft.io/t/network-manager-broken-for-desktop-ubuntu/12512/26?u=jcrben - does anyone know how to make a PR to update text in a store description, such as https://snapcraft.io/network-manager?18:20
mupPR snapcraft#2649 closed: Release changelog for 3.7.1 <Created by sergiusens> <Merged by sergiusens> <https://github.com/snapcore/snapcraft/pull/2649>19:29
diddledanis it snapped yet? https://www.collabora.com/news-and-blog/news-and-events/moving-the-linux-desktop-to-another-reality.html20:30
ograjcrben, https://git.launchpad.net/~snappy-hwe-team/snappy-hwe-snaps/+git/network-manager/tree/ the text comes from the snapcraft.yaml ... but since you already talk to alfonso (who is the maintainer) you can probably just go on discussing changes to the text in the forum thread with him22:02

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