ruby: wrap script to disable gems if not installed
ruby, by default, try to load gems on start. If not present, it fails. As gems brings many deps, this make ruby unsuitable for routers limited resources. ruby can avoid to load gems with the option "--disable-gems". So, a wrap script in the place of /usr/bin/ruby adds this option if gems are not found. Also add vendor/site directories Signed-off-by: Luiz Angelo Daros de Luca <luizluca@gmail.com>
This commit is contained in:
parent
205becb6e8
commit
a0e65256e9
2 changed files with 13 additions and 2 deletions
|
@ -16,7 +16,7 @@ include $(TOPDIR)/rules.mk
|
|||
|
||||
PKG_NAME:=ruby
|
||||
PKG_VERSION:=2.1.2
|
||||
PKG_RELEASE:=3
|
||||
PKG_RELEASE:=4
|
||||
|
||||
PKG_LIBVER:=2.1
|
||||
|
||||
|
@ -223,7 +223,13 @@ MAKE_FLAGS += \
|
|||
|
||||
define Package/ruby/install
|
||||
$(INSTALL_DIR) $(1)/usr/bin
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ruby $(1)/usr/bin/
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ruby/$(PKG_LIBVER)
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ruby/vendor_ruby/$(PKG_LIBVER)
|
||||
$(INSTALL_DIR) $(1)/usr/lib/ruby/site_ruby/$(PKG_LIBVER)
|
||||
$(INSTALL_BIN) $(PKG_INSTALL_DIR)/usr/bin/ruby $(1)/usr/lib/ruby/ruby$(PKG_LIBVER)-bin
|
||||
$(INSTALL_BIN) ./files/ruby $(1)/usr/bin/ruby
|
||||
sed -i -e "s%@RUBY_LIBPATH@%/usr/lib/ruby/$(PKG_LIBVER)%" $(1)/usr/bin/ruby
|
||||
sed -i -e "s%@RUBY_BINPATH@%/usr/lib/ruby/ruby$(PKG_LIBVER)-bin%" $(1)/usr/bin/ruby
|
||||
endef
|
||||
|
||||
define Package/libruby/install
|
||||
|
|
5
lang/ruby/files/ruby
Normal file
5
lang/ruby/files/ruby
Normal file
|
@ -0,0 +1,5 @@
|
|||
#!/bin/sh
|
||||
if ! [ -r "@RUBY_LIBPATH@/rubygems.rb" ]; then
|
||||
exec @RUBY_BINPATH@ --disable-gems "$@"
|
||||
fi
|
||||
exec @RUBY_BINPATH@ "$@"
|
Loading…
Reference in a new issue