15:00:57 #startmeeting Tor Browser Weekly Meeting 2024-08-19 15:00:57 Meeting started Mon Aug 19 15:00:57 2024 UTC. The chair is morganava. Information about MeetBot at http://wiki.debian.org/MeetBot. 15:00:57 Useful Commands: #action #agreed #help #info #idea #link #topic. 15:01:07 o/ 15:01:31 o/ 15:01:36 the pad as usual: https://pad.riseup.net/p/tor-tbb-keep 15:01:50 last week dan_b and I built Tor Browser 14.0a2 \o/ 15:01:52 o/ 15:02:06 and Android signed scucessfully \o/ 15:02:08 But it doesn't match on Android /o\ 15:02:10 \o/ 15:02:10 but Android's not reproducible :( 15:02:21 and also x86 and x86_64 are too big for the google play store 15:03:01 oh damn 15:03:16 i also didn't get a chance to try to install the aarch64 builds so who knows if it runs vOv 15:03:37 How do we feel about upx for a temporary workaround on the sizes? 15:03:46 upx? 15:04:00 A compressor for binaries 15:04:04 I can work on trying to get them smaller today. There are unused firefox assets for instance 15:04:27 so I looked briefly at where our size budget is going over the weekend 15:04:39 I managed to find a way to save 6.6MB 15:04:40 and probably unsurprisingly it's ours libs :p 15:04:48 We still need 2.7MB 15:04:49 in which case upx sounds like a good start 15:05:12 by my estimates we need at most ~12MB i think 15:05:17 If we don't want UPX we can use LZMA or something else and then extract before calling the PTs on the first launch 15:05:21 based on the sizes from 13.5a9 15:05:27 Nah, it's less than 19MB 15:05:29 10MB 15:05:37 ~9338754 bytes 15:06:00 i also don't think this is a blocker for 14.0a2 since it's (currently) only affecting the two skus we don't *really* care about 15:06:11 Was aarch64 (110788003 bytes) accepted? 15:06:16 sorry to our 5 x86_64 and x86 users 15:06:21 yeah both arms are fine 15:06:39 Then I confirm that it's 9.3MB 15:06:48 \o/ 15:07:11 Also, I discovered we don't pass optimization flags to tor 15:07:16 so what are the implications of this UPX thing? 15:07:18 o/ late aaaaand now here 15:07:22 I don't know if autoconf/automake/whatever does it for us 15:07:47 But we can try to pass -Os as a CC flag (and -O2 to all other platforms if it isn't automatic!) 15:08:10 UPX compress the binaries and adds its own thin decompressor to them 15:08:17 sounds smart 15:08:21 I don't suppose a similar flag exists for go 15:08:33 Yes, but we already use it 15:09:11 We don't pass the flag to remove the debug symbols, but they're removed with strip. We can try to pass also -w to see if it's better than stripping then 15:09:53 libSnowflake.so, libConjure.so, and libObfs4proxy.so (why isn't this lyrebird?) are the big ones at 37mb, and of course libxul.so at 139mb 15:10:06 morganava: are you using IEC units? 15:10:10 You should use SI :P 15:10:26 who knows, whatever my linux uses 15:10:44 i prefer the power of 2-based ones whichever that is :p 15:10:59 :( 15:11:28 agreed. isnt base 10 ones just a marketing scheme to say things are bigger than they are? 15:11:34 how feasible would it be to prioritise the application-services removal for the 14.0 release 15:11:35 Nope 15:11:39 Base 10 is whatever everything else uses 15:11:45 Nothing is enough special to get exceptions 15:12:00 intersting 15:12:24 Anyway, we should check if Android somehow has an xz decompressor so that we can avoid providing one 15:12:33 I'm sure Firefox has it more or less on desktop 15:12:51 As it's used for updates 15:14:21 Otherwise xz itself is less than 100kB... zstd would be 1.4MB D: 15:16:06 is this going to require some manual decompression patch in TBA or is this some built-in packaging solution you're suggesting? 15:16:21 Decompression patch alas 15:16:28 whereas UPX would be automatic 15:16:38 😬 15:16:38 But it'll include it in all the binaries 15:17:00 And it'd decompress the payload at each run 15:17:21 Also, upx has a bad reputation for some antimalware because it's used also by many malware 15:17:26 Like NSIS, in a certain sense 15:17:35 probably less of an issue for android tho 15:17:44 unless the google play store gets pissy with us 15:19:09 * morganava reading 15:19:14 alright it's worht a shot 15:19:31 UPX itself saves almost 4MB 15:20:00 in total? per so? 15:20:02 Another trick is that we can remove the geoip files since we don't have the circuit display 15:20:23 morganava: in total, compared to deflating our binaries 15:20:40 There's a nice command that is called zipinfo 15:21:15 It's a sort of `ls -l`, which also outputs the compressed size with the appropriate options (`zipinfo -lh`) 15:21:32 So, I compared the binaries compressed with UPX with the already compressed size in the APK 15:21:33 alright, if you come up with any more ideas please create issues and link to tor-browser#42669 15:21:51 Assuming UPX binaries will be stored without additional compression 15:23:27 er I meant tor-browser#42607 15:23:31 :D 15:23:33 :) 15:24:24 in any event, do we have any leads on the reproducibility issue? 15:24:36 I have a patch, and I'm building 15:25:46 ok, is there any objection to releasing 14.0a2 (Desktop) now and 14.0a2 (Android) in a subsequent -build2? 15:25:59 We're very close to it 15:26:16 wfm 15:26:21 Like, if the problem is solved we can start building already 15:27:27 🤞 15:27:44 alright, i'll hold off on pushing the button 15:27:49 blog post will take a bit to write regardless 15:28:37 ok, any other fun things to go over? 15:28:50 I do 15:29:17 So, we've merged the Android patchset 15:29:45 yes! 15:29:53 There are some low hanging fruit for improving the health patchset, but we decided to merge not to delay the builds even more 15:30:18 Low hanging fruit = some files/additions that are added in some legacy commits and removed in the latest developments 15:30:41 So, there are two possible strategies 15:31:15 1. we fix a few issues like this, to reduce the cognitive load of the actual patchset refactor 15:31:37 2. we do everything in a single step (but probably not enough time for 14.0, which is scheduled in a month?) 15:32:08 so i vote 1. there is so much patchset health work i think it really makes sense to break it into bits we do along the way 15:32:10 What do people think about this? 15:32:19 otherwise its a biiiig project and we'll prolly never have time for it 15:32:24 i think i'm inclined to agree 15:32:25 Yeah, I tend to agree 15:32:52 +1 15:35:41 I'm happy sneaking in a bit of refactor each week through the 14.0 release cycle 15:35:56 and hopefully that will get us to a happy(ier) place in October 15:36:06 I think this one will need a -2 rebase sooner or later 15:36:56 yeah for sure 15:37:12 We might add some desktop shuffling as well 15:37:27 I'm not sure on how to do it, but we can somehow arrange 15:38:59 I think we should start with re-arranging within the android block 15:39:26 Yeah, but IIRC Henry had some requests for the desktop block as well 15:39:54 and then once we're satisfied w/ the base-browser/tor-browser split, only then migrate/distribute the commits to the 'right' place 15:42:04 ok, any other discussion points? 15:42:12 otherwise we can adjourn :) 15:43:44 Nothing from me 15:44:02 have we got any sense of how long we will support esr115 after 14 is released? (re: Windows legacy) 15:44:23 We should ask tjr now that he's back at work 15:44:44 I looked for official news last week 15:44:49 But Moz didn't say anything officially 15:45:03 he responded in the meeting pad actually 15:45:04 (I don't know how official can that Reddit answer be considered) 15:45:11 "[tjr] Ryan says "We're working on finalizing the decision brief for running 115 6 more months ASAP, technically still not decided"" 15:45:35 FWIW, I think beginning of January would be the maximum we should support 15:45:43 It'll be 5 years after Windows 7 EOL 15:46:11 and Windows only, if that's the case, right? The sooner we drop Android the better :P 15:46:17 Yes 15:46:22 oh yeah Android would be dropped :3 15:46:23 Maybe macOS 15:46:32 But I'd be in favor of supporting Windows only 15:46:32 and yes on that^ 15:46:46 morganava: macOS also aarch64? 15:46:58 I think all aarch64 can update to 10.15 or later 15:47:23 i hadn't actually thought about macOS 15:47:35 beyond 'yeah it's a possibility' 15:47:48 given that i don't think i've seen anyone asking for it 15:48:13 i'm inclined to ignore macOS for a legacy 13.5 channel 15:48:51 Now that I think of it, I think for aarch64 we already had 10.15 as a minimum version in the SDK, but I should check 15:49:31 hmm 15:50:04 well in any event, we should plan on developing w/e patch we need to split off legacy windows if the upgrade to 14.0 isn't possible 15:50:29 and hopefully mozilla gives us some guidance in a timely fashion 15:51:34 alright in the meantime 15:51:37 have a good week o/ 15:51:47 #endmeeting