diff options
author | Andrei Belov <defan@nginx.com> | 2018-04-02 15:48:33 +0300 |
---|---|---|
committer | Andrei Belov <defan@nginx.com> | 2018-04-02 15:48:33 +0300 |
commit | aa8f2c3295cbf7e1b8e134e70b135e07c35f88e9 (patch) | |
tree | 73a2802ee4a7758f225a5ebe3fdde96565e814c4 /pkg/rpm | |
parent | 2028f3a04be9836ff0f904a487f05bcff75d528d (diff) | |
download | unit-aa8f2c3295cbf7e1b8e134e70b135e07c35f88e9.tar.gz unit-aa8f2c3295cbf7e1b8e134e70b135e07c35f88e9.tar.bz2 |
Added Ruby packaging support.
Diffstat (limited to 'pkg/rpm')
-rw-r--r-- | pkg/rpm/Makefile | 3 | ||||
-rw-r--r-- | pkg/rpm/Makefile.ruby | 65 | ||||
-rw-r--r-- | pkg/rpm/rpmbuild/SOURCES/unit.example-ruby-app | 7 | ||||
-rw-r--r-- | pkg/rpm/rpmbuild/SOURCES/unit.example-ruby-config | 16 |
4 files changed, 91 insertions, 0 deletions
diff --git a/pkg/rpm/Makefile b/pkg/rpm/Makefile index 718b475d..656eea0b 100644 --- a/pkg/rpm/Makefile +++ b/pkg/rpm/Makefile @@ -68,6 +68,7 @@ include Makefile.python27 include Makefile.python34 include Makefile.go include Makefile.perl +include Makefile.ruby endif ifeq ($(OSVER), opensuse-tumbleweed) @@ -76,6 +77,7 @@ include Makefile.python27 include Makefile.python36 include Makefile.go include Makefile.perl +include Makefile.ruby endif ifeq ($(OSVER), sles) @@ -90,6 +92,7 @@ include Makefile.python27 include Makefile.python36 include Makefile.go include Makefile.perl +include Makefile.ruby endif CONFIGURE_ARGS=\ diff --git a/pkg/rpm/Makefile.ruby b/pkg/rpm/Makefile.ruby new file mode 100644 index 00000000..4c7af084 --- /dev/null +++ b/pkg/rpm/Makefile.ruby @@ -0,0 +1,65 @@ +MODULES+= ruby +MODULE_SUFFIX_ruby= ruby + +MODULE_SUMMARY_ruby= Ruby module for NGINX Unit + +MODULE_VERSION_ruby= $(VERSION) +MODULE_RELEASE_ruby= 1 + +MODULE_CONFARGS_ruby= ruby +MODULE_MAKEARGS_ruby= ruby +MODULE_INSTARGS_ruby= ruby-install + +MODULE_SOURCES_ruby= unit.example-ruby-app \ + unit.example-ruby-config + +ifeq ($(OSVER), opensuse-leap) +RACK_PACKAGE= ruby2.1-rubygem-rack +else ifeq ($(OSVER), opensuse-tumbleweed) +RACK_PACKAGE= ruby2.5-rubygem-rack +else +RACK_PACKAGE= rubygem-rack +endif + +BUILD_DEPENDS_ruby= ruby-devel $(RACK_PACKAGE) +BUILD_DEPENDS+= $(BUILD_DEPENDS_ruby) + +define MODULE_DEFINITIONS_ruby +BuildRequires: $(BUILD_DEPENDS_ruby) +Requires: $(RACK_PACKAGE) +endef +export MODULE_DEFINITIONS_ruby + +define MODULE_PREINSTALL_ruby +%{__mkdir} -p %{buildroot}%{_datadir}/doc/unit-ruby/examples +%{__install} -m 644 -p %{SOURCE100} \ + %{buildroot}%{_datadir}/doc/unit-ruby/examples/ruby-app.ru +%{__install} -m 644 -p %{SOURCE101} \ + %{buildroot}%{_datadir}/doc/unit-ruby/examples/unit.config +endef +export MODULE_PREINSTALL_ruby + +define MODULE_FILES_ruby +%{_libdir}/unit/modules/* +%{_libdir}/unit/debug-modules/* +endef +export MODULE_FILES_ruby + +define MODULE_POST_ruby +cat <<BANNER +---------------------------------------------------------------------- + +The $(MODULE_SUMMARY_ruby) has been installed. + +To check the sample app, run these commands: + + sudo service unit start + sudo service unit loadconfig /usr/share/doc/unit-ruby/examples/unit.config + curl http://localhost:8700/ + +Online documentation is available at https://unit.nginx.org + +---------------------------------------------------------------------- +BANNER +endef +export MODULE_POST_ruby diff --git a/pkg/rpm/rpmbuild/SOURCES/unit.example-ruby-app b/pkg/rpm/rpmbuild/SOURCES/unit.example-ruby-app new file mode 100644 index 00000000..69b015b7 --- /dev/null +++ b/pkg/rpm/rpmbuild/SOURCES/unit.example-ruby-app @@ -0,0 +1,7 @@ +app = Proc.new do |env| + ['200', { + 'Content-Type' => 'text/plain', + }, ["Hello from Unit running with Ruby #{RUBY_VERSION}!\n\n"]] +end + +run app diff --git a/pkg/rpm/rpmbuild/SOURCES/unit.example-ruby-config b/pkg/rpm/rpmbuild/SOURCES/unit.example-ruby-config new file mode 100644 index 00000000..53eee534 --- /dev/null +++ b/pkg/rpm/rpmbuild/SOURCES/unit.example-ruby-config @@ -0,0 +1,16 @@ +{ + "applications": { + "example_ruby": { + "type": "ruby", + "user": "nobody", + "processes": 2, + "script": "/usr/share/doc/unit-ruby/examples/ruby-app.ru" + } + }, + + "listeners": { + "*:8700": { + "application": "example_ruby" + } + } +} |