-
Notifications
You must be signed in to change notification settings - Fork 205
Description
the problem
Versions 1.5.0 and 1.5.1 of the vanilla "ruby" platform package contain ports/archives/sqlite-autoconf-3380500.tar.gz
instead of ports/archives/sqlite-autoconf-3390300.tar.gz
and ports/archives/sqlite-autoconf-3390400.tar.gz
, respectively.
The impact of this is that extconf.rb
, when run at installation time, will download the correct tarball from sqlite.org rather than use the (incorrect) tarball that is vendored in the gem package. For most users this is probably fine, but if networking is flaky or unavailable on the target system, this will cause the gem to fail to install
the diagnosis
This is happening because the rake tasks that package the gem use an imprecise glob pattern to grab the tarball from ports/archives
:
I happen have tarballs for the last few versions of sqlite on my development system where I package the gem, and the wrong file has been picked for these two versions.
I didn't catch this because the script bin/test-gem-file-contents
currently only asserts on the existence of a sqlite tarball, and not on the precise file name (which includes the version string).
actions
- This rake task should always use the same version that
extconf.rb
uses to build the precompiled native gem. Likely we should extract the mini_portile recipe info into an external config file that can be used by bothextconf.rb
andnative.rake
. - The script
bin/test-gem-file-contents
should be updated to verify that the expected tarball is present.