[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Minios-devel] [UNIKRAFT/RUBY PATCH 6/8] Makefile.uk: Add rule for creating root filesystem
Reviewed-by: Stefan Teodorescu <stefanl.teodorescu@xxxxxxxxx> On Thu, Dec 12, 2019 at 7:42 PM Costin Lupu <costin.lupu@xxxxxxxxx> wrote: > > The Ruby interpreter needs a filesystem where to keep its libraries. This > patch > creates a root filesystem and installs the Ruby libraries in > `/lib/ruby/2.6.0/` > directory. For creating the filesystem the following command has to be run: > > $ make ruby-rootfs path=<directory> > > Signed-off-by: Costin Lupu <costin.lupu@xxxxxxxxx> > --- > Makefile.uk | 29 +++++++++++++++++++++++++++++ > gems-examples/Gemfile-irb | 8 ++++++++ > 2 files changed, 37 insertions(+) > create mode 100644 gems-examples/Gemfile-irb > > diff --git a/Makefile.uk b/Makefile.uk > index 9ea83a3..c832518 100644 > --- a/Makefile.uk > +++ b/Makefile.uk > @@ -50,6 +50,7 @@ LIBRUBY_MAJOR=2 > LIBRUBY_MINOR=6 > LIBRUBY_REVISION=0 > LIBRUBY_VERSION=$(LIBRUBY_MAJOR)_$(LIBRUBY_MINOR) > +LIBRUBY_VERSION_LONG=$(LIBRUBY_MAJOR).$(LIBRUBY_MINOR).$(LIBRUBY_REVISION) > LIBRUBY_ARCHIVE=ruby_$(LIBRUBY_VERSION).zip > LIBRUBY_URL=https://github.com/ruby/ruby/archive/$(LIBRUBY_ARCHIVE) > LIBRUBY_DIR=ruby-ruby_$(LIBRUBY_VERSION) > @@ -606,3 +607,31 @@ $(LIBRUBY_TEST_BUILD)/.prepared: > $(LIBRUBY_TEST_PREPARED_DEPS) > UK_PREPARE += $(LIBRUBY_TEST_BUILD)/.prepared > endif > > +################################################################################ > +# Root filesystem > +################################################################################ > +# Root filesystem path > +RUBY_ROOTFS = $(APP_BASE)/$(path) > + > +# Configure origin > +$(RUBY_ROOTFS)/.configured: $(LIBRUBY_BUILD)/.origin > + mkdir -p $(RUBY_ROOTFS) &>/dev/null > + cd $(LIBRUBY_SRC) && \ > + autoconf && \ > + ./configure --prefix=$(shell realpath $(APP_BASE)/$(path)) > $(LIBRUBY_CONFIGURE_COMMON_PARAMS) && \ > + touch $@ && touch $(LIBRUBY_BUILD)/.configured > + > +# Build Ruby > +$(RUBY_ROOTFS)/.build: $(RUBY_ROOTFS)/.configured > + cd $(LIBRUBY_SRC) && make -j$(JOBS) && touch $@ && touch > $(LIBRUBY_BUILD)/.build > + > +# Install Ruby > +$(RUBY_ROOTFS)/.done: $(RUBY_ROOTFS)/.build > + cd $(LIBRUBY_SRC) && make install > + cp -r $(LIBRUBY_SRC)/.ext > $(RUBY_ROOTFS)/lib/ruby/$(LIBRUBY_VERSION_LONG)/ > + cp -r $(LIBRUBY_SRC)/test > $(RUBY_ROOTFS)/lib/ruby/$(LIBRUBY_VERSION_LONG)/ > + cp $(LIBRUBY_BASE)/gems-examples/Gemfile-irb > $(RUBY_ROOTFS)/lib/ruby/$(LIBRUBY_VERSION_LONG)/Gemfile > + touch $@ > + > +.PHONY: ruby-rootfs > +ruby-rootfs: $(RUBY_ROOTFS)/.done > diff --git a/gems-examples/Gemfile-irb b/gems-examples/Gemfile-irb > new file mode 100644 > index 0000000..1ac39d0 > --- /dev/null > +++ b/gems-examples/Gemfile-irb > @@ -0,0 +1,8 @@ > +# frozen_string_literal: true > + > +source "https://rubygems.org" > + > +git_source(:github) {|repo_name| "https://github.com/#{repo_name}" } > + > +# gem "rails" > +gem 'irb', require: false > -- > 2.20.1 > _______________________________________________ Minios-devel mailing list Minios-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/minios-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |