Skip to content
Snippets Groups Projects
user avatar
Ernie Miller authored
`require-relative` breaks Rubygems' ability to use the arch-specific
directory in `extensions`. When building grpc extensions from source,
we're left with a lot of intermediate object files and a duplicate
shared object file as well. This space can be reclaimed by finding these
object files inside the `gems` subdirectory of the installation
location, while leaving the shared object file in the `extensions`
subdirectory. See the comments at
https://github.com/rubygems/rubygems/issues/926 for more on this
behavior, which has been present in Rubygems for years.

By using `require` instead, those of us who build from source can
reclaim space consumed by duplicate and intermediate files, which
amounts to a savings of 46MB (in a build of 1.3.2 on Alpine
Linux). This is helpful when trying to minimize the size of a Docker
image.

I'm unclear on whether or not the reclaiming of this space can be
automated as part of the build process. If so, it may be worth
considering as a separate effort.
eef382c9
History
Name Last commit Last update