FS#65379 - [riot-desktop] 1.5.8 upgrade ballooned in size due to packaging rust build directory

Attached to Project: Community Packages
Opened by Eli Schwartz (eschwartz) - Tuesday, 04 February 2020, 21:46 GMT
Last edited by Bruno Pagani (ArchangeGabriel) - Monday, 10 February 2020, 18:43 GMT
Task Type Bug Report
Category Packages
Status Closed
Assigned To Bruno Pagani (ArchangeGabriel)
Architecture All
Severity Medium
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

I just upgraded this package and noticed the following change from the old version to the new version:

-Installed Size : 8.22 MiB
+Installed Size : 315.29 MiB

community/riot-desktop 1.5.6-1 1.5.8-1 307.07 MiB 61.60 MiB

This is a shocking increase. The notable difference in https://git.archlinux.org/svntogit/community.git/commit/trunk?h=packages/riot&id=b784c3e2523110a48825909789904590b4d86caf is adding matrix-seshat and rust makedepends.

Investigating the installed package with du -sh:

303M /usr/lib/riot/app.asar.unpacked/node_modules/matrix-seshat/native/

297M /usr/lib/riot/app.asar.unpacked/node_modules/matrix-seshat/native/target
5.8M /usr/lib/riot/app.asar.unpacked/node_modules/matrix-seshat/native/index.node
92K /usr/lib/riot/app.asar.unpacked/node_modules/matrix-seshat/native/Cargo.lock
44K /usr/lib/riot/app.asar.unpacked/node_modules/matrix-seshat/native/src
4.0K /usr/lib/riot/app.asar.unpacked/node_modules/matrix-seshat/native/Cargo.toml
4.0K /usr/lib/riot/app.asar.unpacked/node_modules/matrix-seshat/native/build.rs
4.0K /usr/lib/riot/app.asar.unpacked/node_modules/matrix-seshat/native/artifacts.json

I'm pretty sure the only file in native/ which is needed is the index.node compiled extension itself. Minus the pointless cruft (Cargo.toml, source *.rs files) we also have this taking up huge amounts of room:

270M /usr/lib/riot/app.asar.unpacked/node_modules/matrix-seshat/native/target/release/deps
19M /usr/lib/riot/app.asar.unpacked/node_modules/matrix-seshat/native/target/release/build
5.8M /usr/lib/riot/app.asar.unpacked/node_modules/matrix-seshat/native/target/release/libseshat_node.so
4.0K /usr/lib/riot/app.asar.unpacked/node_modules/matrix-seshat/native/target/release/libseshat_node.d


deps/ contains tons of .rlib and .rmeta files, build/ is obviously temporary build state, and libseshat_node.so is an extra copy of ../../index.node (the files are byte-identical).
This task depends upon

Closed by  Bruno Pagani (ArchangeGabriel)
Monday, 10 February 2020, 18:43 GMT
Reason for closing:  Fixed
Additional comments about closing:  riot-desktop 1.5.8-2.
Comment by Bruno Pagani (ArchangeGabriel) - Monday, 10 February 2020, 18:43 GMT
You’re right indeed, electron-builder just moved all of that into linux-unpacked for no reasons. Upstream confirmed the only required file in native/ is index.node, so I’m removing everything else. The installed size still grows to 23.23 MiB in the end, but that’s expected and way better. Thanks for noticing. ;)

Loading...