T42 | <edp_17> Good evening. | 00:12 |
---|---|---|
T42 | <edp_17> I have removed the watchdog so that is out of the way. As expected, this was not the real issue. | 00:23 |
T42 | <edp_17> However this message in the journal says that something is missing or corrupt, therefore lipstick cannot be started: 'Dec 17 02:06:04 Sailfish lipstick[2097]: library "libgui.so" wasn't loaded and RTLD_NOLOAD prevented it' | 00:23 |
T42 | <edp_17> Full journal: part 1: https://pastebin.com/Qx1L9ynn | 00:23 |
T42 | <edp_17> part 2: https://pastebin.com/pidu9kp1 | 00:23 |
T42 | <edp_17> (It was too big.) | 00:23 |
r0kk3rz | hwcomposer is running ok? | 00:31 |
T42 | <elros34> libgui.so doesn't have to be important, lipstic segfault so mask user: ln -s /dev/null /etc/systemd/system/user@100000.service, reboot and then test hwcomposer like explained in hadk-faq | 00:33 |
T42 | <edp_17> Thanks. 👍 | 00:33 |
T42 | <edp_17> [root@Sailfish nemo]# EGL_PLATFORM=hwcomposer test_hwcomposer | 00:35 |
T42 | <edp_17> width: 1440 height: 2560 | 00:35 |
T42 | <edp_17> library "libgui.so" wasn't loaded and RTLD_NOLOAD prevented it | 00:35 |
T42 | <edp_17> Segmentation fault | 00:35 |
T42 | <edp_17> It looks like is important. | 00:35 |
T42 | <edp_17> How can I connect the device to the internet? Without that I cannot install packages like strace | 00:36 |
T42 | <birdzhang> strace is under /system/bin/ or /system/xbin/ | 00:38 |
T42 | <elros34> HADK 9.3.3. You can also grab /usr/libexec/droid-hybris/system/bin/logcat | 00:38 |
T42 | <edp_17> When I followed hadk 9.3.3, on host when I did 'sudo echo 1 > /proc/sys/net/ipv4/ip_forward' I got error: 'bash: /proc/sys/net/ipv4/ip_forward: Permission denied' | 00:39 |
T42 | <elros34> use root power? | 00:39 |
T42 | <edp_17> I used sudo. | 00:40 |
T42 | <elros34> sudo su and then command | 00:40 |
T42 | <edp_17> It worked. What's the difference between sudo and su? (I thought they kind of the same.) | 00:42 |
T42 | <edp_17> How can I know the host usb0 ip address? Is it the one where the device is connected? | 00:43 |
T42 | <elros34> its because you redirect without sudo rights | 00:44 |
T42 | <elros34> ip should be in ifconfig | 00:44 |
T42 | <edp_17> Well, I am not sure but there is only one ip starting with 192.168.2 so I will use that. | 00:45 |
T42 | <edp_17> I have done 9.3.3. But the ping google.com says 'bad address' | 00:47 |
T42 | <edp_17> Do I need to reboot? | 00:47 |
T42 | <edp_17> the ifconfig on the device returns with lo and rndis0, nothing else. | 00:48 |
T42 | <elros34> no don't reboot, do you have enabled firewall? IIRC you have 64bit device so you have to use 64bit strace from /system partition | 00:49 |
T42 | <edp_17> [root@Sailfish nemo]# /system/xbin/strace EGL_PLATFORM=hwcomposer test_hwcomposer | 00:52 |
T42 | <edp_17> /system/xbin/strace: Can't stat 'EGL_PLATFORM=hwcomposer': No such file or directory | 00:52 |
T42 | <edp_17> The hadk-faq says strace is segfaults the 'EGL_PLATFORM=hwcomposer test_hwcomposer' | 00:52 |
T42 | <edp_17> That doesn't segfault for me, it just says cannot load libgui.so | 00:53 |
T42 | <elros34> EGL_PLATFORM is environment variable so define it at before strace | 00:53 |
T42 | <edp_17> because 'RTLD_NOLOAD prevented it' | 00:53 |
T42 | <elros34> don't focus on libgui.so, several devices had such a warning and they works | 00:54 |
mautzone | edp_17:export EGL_PLATFORM=hwcompose, then strace test_hwcomposer | 00:54 |
T42 | <edp_17> Thanks. | 00:54 |
mautzone | edp_17: Have you tried to ping an IP or checked your DNS settings? | 00:55 |
mautzone | edp_17: I meant hwcomposer not hwcompose | 00:57 |
T42 | <edp_17> Did I mention that I am rubbish with debugging? 😀 | 00:57 |
T42 | <edp_17> The strace worked this time: https://pastebin.com/FrKhqvKN | 00:57 |
mautzone | edp_17: This seems to be your problem: /usr/lib/libhybris//eglplatform_hwcompose.so: cannot open shared object file: No such file or directory | 00:58 |
T42 | <edp_17> Yes, but that .so file exists. | 00:58 |
T42 | <elros34> this is the correct command: EGL_PLATFORM=hwcomposer /system/xbin/strace test_hwcomposer | 00:59 |
T42 | <edp_17> And the output is different too: https://pastebin.com/XWVKL3jk | 01:01 |
T42 | <edp_17> Seemingly there is a problem with gralloc | 01:02 |
T42 | <elros34> there is nothing obvious in strace. Does /system/bin/surfaceflinger show something on display? what about logcat I asked? | 01:09 |
T42 | <edp_17> It looks like when I tried to connect the device to the internet, It went wrong. The last line in logcat is repeated continuously. | 01:15 |
T42 | <edp_17> Yeah, my attempt to follow the 9.3.3 from hadk was a bad idea. Now the samsung logo disappears because the device is busy with that IO error from the logcat. | 01:17 |
T42 | <edp_17> I think this is why the /system/bin/surfaceflinger doesn't do anything. | 01:17 |
T42 | <edp_17> ow can I revert the 9.3.3? | 01:18 |
T42 | <elros34> there is nothing to revert, it's harmless | 01:18 |
T42 | <elros34> does surfaceflinger crash? have you tried pressing power button to enable screen | 01:19 |
r0kk3rz | if the samsung logo dissapeared thats progress somewhat | 01:20 |
T42 | <edp_17> @Elros, no, the /system/bin/surfaceflinger doesn't crash. It just doesn't return with the prompt. | 01:21 |
T42 | <edp_17> @r0kk3rz, yeah it looks like but I don't think so as previously the logo got dimmed after a time and I was able to wake the device up with pressing the power button. Now the screen is black the led is continuously lit up and the power button doesn't bring back the samsung logo. | 01:23 |
T42 | <edp_17> It feels like the device is busy with something. That's why I thought that 'NetlinkListener: recvmsg failed (I/O error)' | 01:24 |
r0kk3rz | not quite | 01:24 |
r0kk3rz | something has written to the screen buffer | 01:25 |
T42 | <edp_17> I believe you as you have experience that I am just gaining. 😀 | 01:25 |
T42 | <edp_17> Yes, on the console the device is responsive. | 01:26 |
r0kk3rz | things like surfaceflinger and lipstick can cause the LED, its basically user feeedback saying 'hey ive crashed' | 01:26 |
T42 | <elros34> I hope you masked user@100000.service before tests | 01:27 |
T42 | <edp_17> I see, thanks. | 01:27 |
T42 | <edp_17> Yes, I used what you wrote: 'ln -s /dev/null /etc/systemd/system/user@100000.service' | 01:28 |
T42 | <edp_17> but since I rebooted more than once. | 01:29 |
T42 | <edp_17> Another question: I have commented out the watchdog stuff in $ANDROID_TARGET/device/samsung/herolte-common/ramdisk/init.samsungexynos8890.rc but when I flashed the image on the device, those lines were not commented out. What did I wrong? | 01:35 |
T42 | <edp_17> Should I too modify the .rc file in $ANDROID_TARGET/out/target/product/herolte/root or where else? | 01:35 |
r0kk3rz | you dont ever modify stuff in out | 01:36 |
T42 | <elros34> you should make hybris-hal and I am pretty sure I mentionet it | 01:36 |
r0kk3rz | it will be in the build tree somewhere | 01:36 |
T42 | <edp_17> Yesterday I re-ran the whole build (except the kernel) with: 'rpm/dhd/helpers/build_packages.sh' | 01:38 |
T42 | <edp_17> Isn't this making the hybris-hal? | 01:38 |
r0kk3rz | not exactly | 01:39 |
T42 | <elros34> no, "make hybris-hal" is command you run in habuild | 01:39 |
r0kk3rz | build_packages will package the built hal | 01:39 |
T42 | <edp_17> Ok, then I need to do that now. Maybe this is mentioned in the hadk I just missed. | 01:41 |
T42 | <edp_17> So, I do a make hybris-hal in ubuntu chroot, then build_packages, then the mic and flash the new image to the device. Is this right? | 01:42 |
mautzone | edp_17: I think rebuilding droid-hal-$device is enough after make hybris-hal. Maybe you need configs and droid-hal-version, but not the whole middle ware like libhybris and stuff. | 01:44 |
T42 | <edp_17> I went into ubuntu chroot and entered into $ANDROID_ROOT, then did a 'make hybris-hal' and got an error: https://pastebin.com/QQTkK9G8 | 01:46 |
T42 | <edp_17> @mautzone, thanks. | 01:47 |
T42 | <elros34> HADK 5.4. I wonder about /usr/libexec/droid-hybris/system/etc/init/servicemanager.rc in your log. Is that symlink or file, why do you eve created it? | 01:51 |
T42 | <edp_17> I ma pretty sure haven't created. | 01:52 |
T42 | <edp_17> am^ | 01:52 |
T42 | <elros34> line 561 in https://pastebin.com/pidu9kp1. You never update your droid repos so I can only guess | 01:53 |
T42 | <edp_17> This file is not in my sparse and I didn't add manually either. I am not sure where this is from. | 01:55 |
T42 | <elros34> so check on device maybe it's irrelevant | 01:56 |
T42 | <edp_17> It is on device: https://pastebin.com/hBn3Fa7r | 01:58 |
T42 | <elros34> ah right so it's not important | 01:59 |
T42 | <edp_17> The location of this file on my pc is: https://pastebin.com/ugHW9cQq | 02:00 |
T42 | <edp_17> Isn't? That sounds good. | 02:00 |
mautzone | When i make hybris-hal is it enough to buil droid-hal afterwards to use the newly built kernel? | 02:00 |
T42 | <elros34> yes | 02:00 |
T42 | <elros34> @edp_17 could you update your droid repos | 02:01 |
mautzone | elros34: Strange didn't work for me, built a new kernel, rebuilt hal and cgecked config.gz and my new configs were not saved. Manually flashed the zImage and they were there, am i missng something? | 02:04 |
T42 | <edp_17> droid repos? Do you mean droid-configs and droid-hal-version-herolte on my pc? | 02:04 |
mautzone | edp_17: Push your changes to github please. | 02:05 |
T42 | <edp_17> Oh, ok. | 02:05 |
T42 | <elros34> @mautzone: not sure what went wrong, maybe installing sailfish image in twrp failed? For sure it must works as droid-hal packages contains almost all built in habuild including kernel | 02:09 |
mautzone | elros34:Ok, i'll take a deeper look into this issue tommorow...too tired at the moment. Thank you. | 02:10 |
T42 | <edp_17> @Elros | 02:14 |
T42 | <elros34> thanks, I wonder if you should add droid_target_aarch64 to your droid-hal. You don't have arm64 in BoardConfig.mk but in arch.mk https://github.com/LineageOS/android_device_samsung_hero-common/blob/cm-14.1/board/arch.mk#L2. Not sure if that's correct, maybe somebody else would know. | 02:22 |
T42 | <edp_17> Yeah, that might help bu I am wondring how this worked before, without that droid_target_aarch64? | 02:26 |
T42 | <edp_17> I have just checked my arch.mk and it has the TARGET_ARCH := arm64 line at the beginning. | 02:28 |
T42 | <edp_17> Oh, I just got it what you said. | 02:28 |
r0kk3rz | it is an aarch64 device. so maybe give that a go | 02:29 |
T42 | <elros34> yeah, mali quirks are also missing in driim's repo but they might be usefull | 02:29 |
T42 | <edp_17> That mali quirks was in my first config but I was told there were too many things and recommended to remove all of that. So I removed. 😀 | 02:31 |
T42 | <edp_17> This still doesn't explain why the make hybris-hal had problem with the fstab. | 02:33 |
T42 | <elros34> read hadk 5.4 again if you don't know how tu build android side | 02:34 |
T42 | <edp_17> I remember that I have added the droid_target_aarch64 into droid-hal-herolte but didn't fix that current problem, so I removed. Then refreshing the dhd was fixing that issue, so I never re-introduced this droid_target_aarch64. | 02:35 |
T42 | <edp_17> @Elros, I see now. It was a misunderstanding. When you said ust use make hybris-hal, I literally just did that. Now I went back to my notes and did the envsetup, export and breakfast, then the make. It works. 😀 | 02:40 |
r0kk3rz | dont take instructions too literally :P engage the brain and figure out what we mean | 02:40 |
T42 | <edp_17> And the kernel successfully compiled. (I mean the hybris-hal built successfully.) | 02:41 |
T42 | <edp_17> @r0kk3rz, this is a good one. 😀 I need to decode when I need to take the advice as is and when I need to translate. I like this. 😄 | 02:42 |
T42 | <edp_17> Anyway, I am trying to get my head around it correctly. | 02:42 |
T42 | <edp_17> And I forgot why I did recreate the kernel. | 02:43 |
T42 | <edp_17> Hybris-hal ^ | 02:43 |
r0kk3rz | also, i often put some of those extra bits into a script because i get tired of copypasting them | 02:46 |
r0kk3rz | or forgetting them | 02:46 |
T42 | <edp_17> Another question: should I add the 'access android's virtual sd card' bit into my droid-hal-herolte? | 02:56 |
T42 | <edp_17> And another one: What is the difference between: | 03:06 |
T42 | <edp_17> 'rpm/dhd/helpers/build_packages.sh -i' | 03:06 |
T42 | <edp_17> and | 03:06 |
T42 | <edp_17> 'sudo mic create fs --arch=$PORT_ARCH --tokenmap=ARCH:$PORT_ARCH,RELEASE:$RELEASE,EXTRA_NAME:$EXTRA_NAME --record-pkgs=name,url --outdir=sfe-$DEVICE-$RELEASE$EXTRA_NAME --pack-to=sfe-$DEVICE-$RELEASE$EXTRA_NAME.tar.bz2 $ANDROID_ROOT/Jolla-@RELEASE@-$DEVICE-@ARCH@.ks' | 03:06 |
T42 | <elros34> check yourself, -i option was added recently to ease build process: https://github.com/mer-hybris/droid-hal-device/blob/master/helpers/build_packages.sh#L342 | 03:11 |
T42 | <edp_17> @Elros, Thank you! So basically if I export the RELEASE and EXTRA_NAME, I just need to use the much shorter command and that also creates the image. Neat. | 03:15 |
T42 | <edp_17> Good night everyone. | 03:26 |
T42 | <布淑淮 %lastname%> (Photo, 1201x688) https://irc.thaodan.de/.imgstore/WlOKJoFEUd.png "精准币圈菠菜棋牌粉" "非小号/mytoken关注惊爆价"1、币圈电报群/微信群炸群推广 2、twitter、facebook关注 3.KYC身份材料出售 4、电报群/微信群/potato拉币圈活人 5、国内外交易所APP实名注册认证 6、电报群客服活聊天 7、批量注册国内外交易所实名账户,,出twitter、facebook、微信带粉账 | 04:02 |
Thaodan_ | do we have shieldy on the telegram side of this group? | 07:02 |
Mister_Magister | Thaodan_: we don't | 07:11 |
ghosalmartin | lbt, morning, is http://images.devaamo.fi/ working at all? | 08:25 |
Mister_Magister | ghosalmartin: it's not working since ages | 08:25 |
deathmist | ghosalmartin: I think it's been down for a while, tried to look at some KS file when getting OBS setup a while back and it just never loaded | 08:26 |
ghosalmartin | ah damn people have been asking about the zips :P but my machine got nuked a couple of weeks back so don't got any copies | 08:26 |
deathmist | maybe take a look at & request access to join https://gitlab.com/sailfishos-porters-ci from r0kk3rz, that's where I build my cheeseburger/dumpling images now :) | 08:27 |
ghosalmartin | deathmist, i have access but the repos have all moved on to attempt to use hybris-16.0 i think so i cant rebuild them :P | 08:28 |
ghosalmartin | these are older ones based on hybris-14.1 | 08:29 |
T42 | <Bradley %lastname%> (Photo, 920x1028) https://irc.thaodan.de/.imgstore/o0m0TAPEys.png "非小号关注 电报 微信 推特 土豆 " 推广·拉人 ·投票 联系方式 @lmllmh | 08:39 |
birdzhang | we are #sailfishos-spammers :( | 08:41 |
deathmist | ghosalmartin: you can try setting it up on porters-ci, I don't think the base should matter as you'll have the droid-hal RPMs etc on OBS anyway and they'll just get pulled and installed during image creation | 08:42 |
ghosalmartin | deathmist, yah but the hal on OBS is now too new and won't work | 08:44 |
deathmist | even on :testing/:release? | 08:45 |
ghosalmartin | deathmist, yeah i didn't setup it up amazingly at the time :P | 08:45 |
deathmist | ah rip, I'd suggest you put 14.1 stuff on :testing / :release after building locally again so you can get new working image on CI if you want and keep 16.0 stuff on :devel (just my 2 cents from my limited experience on this whole process :) ) | 08:48 |
ghosalmartin | yeah bit too late now :P | 08:48 |
*** mp107_ is now known as mp107 | 09:11 | |
Thaodan_ | ghosalmartin: do you use the community ci? | 09:38 |
Thaodan_ | ghosalmartin: do you use the porters ci? | 09:39 |
Thaodan_ | it allows upload to my server | 09:39 |
ghosalmartin | Thaodan_, yeah I do but the repos are now out of date | 09:39 |
Thaodan_ | https://thaodan.de/public/sailfishos/community/images/ | 09:40 |
ghosalmartin | hmm the test repos might be good | 09:44 |
ghosalmartin | deathmist, got a link to the porters-ci please/ | 09:45 |
deathmist | ghosalmartin: https://gitlab.com/sailfishos-porters-ci ? | 09:50 |
ghosalmartin | deathmist, thats the one thanks | 09:50 |
bakulinm | Hello everyone. I need to run SailfishOS for x86 in QEMU. I tried to use the image for virtualbox that ships with SailfishOS SDK, but the best I can manage is working console and network, but no GUI, it seems that there are no drivers for GPU. I guess, I have to build Sailfish image from scratch, can please someone give me some hints how to do that for x86/what to read? | 13:02 |
vknecht | trying to add telnet as a systemd service with https://pastebin.com/ZGJyEBZ3 and /usr/bin/telnetd symlink pointing to either /usr/bin/busybox or /usr/bin/busybox-static, I keep getting "telnetd: applet not found"... any idea ? | 19:18 |
vknecht | (adding it because atm I have to mask user@100000.service to prevent reboot, so no ssh yet) | 19:20 |
vknecht | basic search hints that maybe telnetd may not be included in busybox binary, but it really is in sfos' busybox, isn't it ? | 19:23 |
T42 | <elros34> it's /bin/busybox-static telentd | 19:26 |
rinigus | does media tracker have any knobs to tune and let it look for media on /dev/mmcblk0p1 as sdcard? any possible reasons it doesn't scan for files over there? | 19:26 |
mautzone | Hi everyone, trying to get my cm14.1 base started. Fixed some issues, but at the moment my /system directory is empty, maybe something isn't mounted properly? | 19:32 |
vknecht | @elros34: thanks ! changing service file to use "/bin/busybox-static telnetd" worked... not sure why since it's a symlink to ../usr/bin/busybox-static, path maybe ? | 19:37 |
T42 | <elros34> I didn't even notice this funny symlink, just your script contains: /usr/bin/telnetd telnetd | 19:43 |
mautzone | Oh, system.mount wasn't enabled, lipstick started :) | 19:44 |
vknecht | yep, I had a /usr/bin/telnetd symlink to busybox (or busybox-static) in same dir | 19:44 |
vknecht | made one as /bin/telnetd to ../usr/bin/busybox-static, just in case | 19:45 |
vknecht | should be able to test hwcomposer now | 19:46 |
T42 | <edp_17> @mautzone: Good stuff, I am so envy now. 😀 | 22:53 |
mautzone | edp_17: Why? | 22:54 |
T42 | <edp_17> Because lipstick has started for you. I have been struggling with that for a while. | 22:55 |
T42 | <edp_17> My latest S7 image now is rebooting after a few minutes. 😭 I am about to push the changes to github, then double check the hadk-faq as I remember something about the reboot stuff. | 22:57 |
mautzone | edp_17: Seems like your having the same problem as i had, no /system, droid-hal-init did not start etc. | 22:57 |
T42 | <edp_17> Yes I had that was solved. Now I have all partitions mounted but lipstick crashes because of 'library "libgui.so" wasn't loaded and RTLD_NOLOAD prevented it' | 22:59 |
r0kk3rz | well, hwcomposer is segfaulting | 22:59 |
T42 | <edp_17> Yes, because of the same reason. | 23:00 |
r0kk3rz | probably not | 23:02 |
mautzone | edp_17: Forget libgui.so, i got the same error and lipstick is running. | 23:03 |
r0kk3rz | got the strace? | 23:03 |
T42 | <edp_17> This time the reason of the reboot is that I added the android-links.sh and the android-links.service. I'll go an remove it. | 23:03 |
T42 | <edp_17> Give me a minute and I'll go back to that build on the device. | 23:04 |
T42 | <edp_17> I found the strace in my pastebin: https://pastebin.com/XWVKL3jk | 23:05 |
mautzone | edp_17: Do you have all the gralloc files? | 23:06 |
T42 | <edp_17> I don't know. Probably not. How can I check? | 23:07 |
mautzone | edp_17: find / -name '*gralloc* | 23:08 |
T42 | <edp_17> I have some, but I am not sure that I have all: https://pastebin.com/5tTufwGw | 23:11 |
T42 | <edp_17> I mentioned yesterday that probably the problem is with the gralloc. Whatever it is. 😀 | 23:12 |
T42 | <elros34> gralloc is found: access("/system/lib/hw/gralloc.exynos5.so", R_OK) = 0. Have you tried minimer, and other ideas from yesterday? | 23:21 |
T42 | <edp_17> What is minimer? 😳 I probably didn't try as I have no idea what this was. | 23:23 |
T42 | <elros34> it's in faq | 23:23 |
T42 | <elros34> just minimal qml application | 23:24 |
T42 | <edp_17> 'do a grep and disable clang', Err. What should I do? and where? On the device? | 23:25 |
T42 | <edp_17> Ok, found it! Sorry. | 23:26 |
T42 | <edp_17> But the problem is that I do not have internet on the device. Therefore cannot install anything with zypper or download. | 23:26 |
T42 | <elros34> do you have firewall enabled? | 23:27 |
T42 | <edp_17> On PC? I didn't do that. If it is enabled than it was in the default ubuntu 18.04lts installation. How can I check? | 23:28 |
mautzone | edp_17: Couldn't you just add the qt5-qtdeclarative-qmlscene to patterns and build a new image? | 23:29 |
T42 | <edp_17> The ' | 23:29 |
T42 | <edp_17> sudo ufw status | 23:29 |
T42 | <edp_17> ' says Inative | 23:29 |
T42 | <edp_17> @mautzone: I can try, yes. | 23:30 |
mautzone | edp_17: And add the files of minimer3.tar.gz to sparse? Or copy everything via ssh? | 23:30 |
r0kk3rz | @edp_17 which vendor repo are you using? | 23:34 |
T42 | <edp_17> Ok, I copied and extracted the minimer3 into sparse. I added the qt5-qtdeclarative-qmlscene into yolla-configuration-herolte.yaml. Now I need to do a 'rpm/dhd/helpers/build_packages.sh -d' or I can directly do the 'rpm/dhd/helpers/build_packages.sh -i'? | 23:35 |
T42 | <edp_17> @r0kk3rz: Vendor repo? It is Samsung Galaxy S7. I use this: https://github.com/edp17/android_device_samsung_herolte | 23:37 |
T42 | <edp_17> forked from lineageos. | 23:37 |
T42 | <elros34> if you are changing something in droid-config then obviously you need to rebuild droid-config not droid hal | 23:37 |
r0kk3rz | @edp_17: thats the device repo, not the vendor repo | 23:38 |
T42 | <edp_17> @Elros: Ok, thanks. and after I can do the mic. | 23:38 |
mautzone | edp_17: build_packages.sh -c | 23:38 |
T42 | <edp_17> @mautzone: Yes, thanks. | 23:40 |
T42 | <edp_17> Runing the mic. (First time I try to run the rpm/dhd/helpers/build_packages.sh -i) | 23:41 |
Generated by irclog2html.py 2.17.1 by Marius Gedminas - find it at https://mg.pov.lt/irclog2html/!