aboutsummaryrefslogtreecommitdiffstats
path: root/meta-ruby/classes
AgeCommit message (Collapse)Author
2016-06-13ruby.bbclass: Fix usage with python3Martin Jansa
* otherwise every recipe inheriting ruby fails with: WARNING: Exception during build_dependencies for GEM_HOME WARNING: Error during finalise of /home/jenkins/oe/world/shr-core/meta-openembedded/meta-ruby/recipes-devtools/ruby/bundler_git.bb ERROR: Failure expanding variable RUBY_GEM_VERSION, expression was ${@get_rubygemsversion("/home/jenkins/oe/world/shr-core/tmp-glibc/sysroots/x86_64-linux/usr/bin")} which triggered exception TypeError: can't use a string pattern on a bytes-like object ERROR: Task 22219 (/home/jenkins/oe/world/shr-core/meta-openembedded/meta-ruby/recipes-devtools/ruby/bundler_git.bb, do_fetch) failed with exit code '1' Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2015-08-31ruby.bbclass: handle new installation directoriesMark Asselstine
It appears that newer versions of ruby produce additional directories which were not previously handled by the ruby bbclass, specifically 'build_info' and 'extensions'. This is currently resulting in QA errors/warnings such as: ERROR: QA Issue: puppet: Files/directories were installed but not shipped in any package: /usr/lib64/ruby/gems/2.2.0/build_info /usr/lib64/ruby/gems/2.2.0/extensions Please set FILES such that these items are packaged. Alternatively if they are unneeded, avoid installing them or delete them within do_install. [installed-vs-shipped] Add these to our FILES in the bbclass such that they will packaged. NOTE: several files may exist in the extensions directory such as gem.build_complete and mkmf.log that we can most likely remove during do_install. Since ruby installs these by default they have been left in case their existence is used as some type of stampfile or similar. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
2014-09-26ruby.bbclass: introduce a class to assist in building gemsMark Asselstine
In order to allow the building of gems we have created a ruby.bbclass. The building of gems is much like the building of python packages in that we rely on building up -native gems in order to facilitate the cross compiling of the gems that will be built for the target. When dependencies exist between gems they must be satisfied by the -native gems installed in the host sysroot. This approach is feasible since the build process is able to query installed gems without being affected by the ARCH they were built for. At this point I have yet to come across a situation where the assumption associated with this approach have failed but so far focus has only been on x86 and x86-64 builds. The recipes which inherit the ruby.bbclass can optionally define a BPV in the case where the gemspec version doesn't always map 1:1 to the PV. This situation has only been encountered on a few occasions so the class has been made to default BPV to PV. To demonstrate the ruby.bbclass in use we have included a recipe to build the bundler gem. Bundler can be used on a running target to install gems from rubygems.org, which can be useful in itself when you don't have recipes available for gems but want to try installing and running pre-built gems. Signed-off-by: Mark Asselstine <mark.asselstine@windriver.com> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>