The fallback gemspec does not contain dependencies so it will only
work for packages without any runtime gem dependencies. It is easy to
use it by mistake when switching from a gem to a source-based archive,
because the source-based archive does not contain the generated
metadata, but RUBY_FAKEGEM_GEMSPEC has not been set yet. This warning
alerts developers to this situation and encourages them to set

Signed-off-by: Hans de Graaff <>
 eclass/ruby-fakegem.eclass | 9 +++++++++
 1 file changed, 9 insertions(+)

diff --git a/eclass/ruby-fakegem.eclass b/eclass/ruby-fakegem.eclass
index 33a9e453f564..a6a7654f9e6d 100644
--- a/eclass/ruby-fakegem.eclass
+++ b/eclass/ruby-fakegem.eclass
@@ -295,6 +295,15 @@ ruby_fakegem_metadata_gemspec() {
 # See RUBY_FAKEGEM_NAME and RUBY_FAKEGEM_VERSION for setting name and version.
 # See RUBY_FAKEGEM_REQUIRE_PATHS for setting extra require paths.
 ruby_fakegem_genspec() {
+       case ${EAPI} in
+               4|5|6) ;;
+               *)
+                       eqawarn "Generating generic fallback gemspec *without* 
+                       eqawarn "This will only work when there are no runtime 
+                       eqawarn "Set RUBY_FAKEGEM_GEMSPEC to generate a proper 
specifications file"
+                       ;;
+       esac
        local required_paths="'lib'"
        for path in ${RUBY_FAKEGEM_REQUIRE_PATHS}; do
                required_paths="${required_paths}, '${path}'"

Reply via email to