summaryrefslogtreecommitdiffhomepage
path: root/pkg/rpm
diff options
context:
space:
mode:
authorAndrei Belov <defan@nginx.com>2018-04-02 15:48:33 +0300
committerAndrei Belov <defan@nginx.com>2018-04-02 15:48:33 +0300
commitaa8f2c3295cbf7e1b8e134e70b135e07c35f88e9 (patch)
tree73a2802ee4a7758f225a5ebe3fdde96565e814c4 /pkg/rpm
parent2028f3a04be9836ff0f904a487f05bcff75d528d (diff)
downloadunit-aa8f2c3295cbf7e1b8e134e70b135e07c35f88e9.tar.gz
unit-aa8f2c3295cbf7e1b8e134e70b135e07c35f88e9.tar.bz2
Added Ruby packaging support.
Diffstat (limited to 'pkg/rpm')
-rw-r--r--pkg/rpm/Makefile3
-rw-r--r--pkg/rpm/Makefile.ruby65
-rw-r--r--pkg/rpm/rpmbuild/SOURCES/unit.example-ruby-app7
-rw-r--r--pkg/rpm/rpmbuild/SOURCES/unit.example-ruby-config16
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"
+ }
+ }
+}