Ship the deduplicated package store, not both forms of it
The first complete build produced a 4.3 GB tarball. Modules/ alone was 7 GB
staged, because it contained the same packages twice:
Modules/binary_pkgs 4.5 GB content-addressed, deduplicated, placed
there by ninja install
Modules/*.JASPModule 2.5 GB the same packages again, as per-module
compressed archives, copied by this script
binary_pkgs is the installed form and holds 677 package directories, with
Rcpp, ggplot2 and the rest of the shared base appearing once rather than
once per module. The .JASPModule files are the distribution form used for
on-demand downloads and are redundant next to it.
Dropping them, and the build toolchain removed in the previous commit, takes
the tarball from 4.3 GB to 1.86 GB - the same order as the Flatpak's 1.4 GB
rather than three times over.
Still unverified: that JASP runs from binary_pkgs alone. It is upstream's own
install output, so it should, but nothing has been executed yet.
This commit is contained in:
+7
-2
@@ -386,8 +386,13 @@ cp -a "$R_HOME_DIR" "$STAGE_DIR$PREFIX/"
|
||||
# checkouts that would bloat the tarball without being usable at runtime.
|
||||
install -d "$STAGE_DIR$PREFIX/Modules"
|
||||
|
||||
log "staging module bundles from ${MODULE_BUNDLES}"
|
||||
cp -a "$MODULE_BUNDLES/." "$STAGE_DIR$PREFIX/Modules/"
|
||||
# Deliberately do NOT copy Modules/local/*.JASPModule here. `ninja install`
|
||||
# has already placed the same packages in Modules/binary_pkgs as a
|
||||
# deduplicated, content-addressed store — 677 package directories, in which
|
||||
# Rcpp, ggplot2 and the rest of the shared base appear once rather than once
|
||||
# per module. The .JASPModule files are the *distribution* form used for
|
||||
# on-demand downloads; shipping them alongside the installed form sends the
|
||||
# same content twice and took the tarball from 1.86 GB to 4.3 GB.
|
||||
|
||||
|
||||
install -Dm644 /work/packaging/org.jaspstats.JASP.desktop \
|
||||
|
||||
Reference in New Issue
Block a user