summaryrefslogtreecommitdiffhomepage
diff options
context:
space:
mode:
-rw-r--r--docs/Makefile3
-rw-r--r--docs/changes.xml13
-rw-r--r--pkg/deb/Makefile5
-rw-r--r--pkg/deb/Makefile.ruby47
-rw-r--r--pkg/deb/debian.module/unit.example-ruby-app7
-rw-r--r--pkg/deb/debian.module/unit.example-ruby-config16
-rw-r--r--pkg/docker/Makefile8
-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
11 files changed, 187 insertions, 3 deletions
diff --git a/docs/Makefile b/docs/Makefile
index 5bc503b9..189fd95c 100644
--- a/docs/Makefile
+++ b/docs/Makefile
@@ -10,7 +10,8 @@ PACKAGES= unit \
unit-python unit-python2.7 unit-python3.4 \
unit-python3.5 unit-python3.6 \
unit-go unit-go1.7 unit-go1.8 unit-go1.9 \
- unit-perl
+ unit-perl \
+ unit-ruby
all: changes changelogs
diff --git a/docs/changes.xml b/docs/changes.xml
index 8a2135e0..5381f446 100644
--- a/docs/changes.xml
+++ b/docs/changes.xml
@@ -23,6 +23,19 @@ NGINX Unit updated to 0.7.
</changes>
+<changes apply="unit-ruby" ver="0.7" rev="1"
+ date="2018-04-02" time="15:40:00 +0300"
+ packager="Andrei Belov &lt;defan@nginx.com&gt;">
+
+<change>
+<para>
+Initial release of Ruby module for NGINX Unit.
+</para>
+</change>
+
+</changes>
+
+
<changes apply="unit" ver="0.7" rev="1"
date="2018-03-22" time="18:00:00 +0300"
packager="Andrei Belov &lt;defan@nginx.com&gt;">
diff --git a/pkg/deb/Makefile b/pkg/deb/Makefile
index ad8e642c..73ff2b8d 100644
--- a/pkg/deb/Makefile
+++ b/pkg/deb/Makefile
@@ -25,6 +25,7 @@ include Makefile.python36
include Makefile.go18
include Makefile.go19
include Makefile.perl
+include Makefile.ruby
endif
# Ubuntu 17.04
@@ -35,6 +36,7 @@ include Makefile.python35
include Makefile.go17
include Makefile.go18
include Makefile.perl
+include Makefile.ruby
endif
# Ubuntu 16.04
@@ -44,6 +46,7 @@ include Makefile.python27
include Makefile.python35
include Makefile.go
include Makefile.perl
+include Makefile.ruby
endif
# Ubuntu 14.04
@@ -61,6 +64,7 @@ include Makefile.python35
include Makefile.go17
include Makefile.go18
include Makefile.perl
+include Makefile.ruby
endif
# Debian 8
@@ -69,6 +73,7 @@ include Makefile.php
include Makefile.python27
include Makefile.python34
include Makefile.perl
+include Makefile.ruby
endif
CONFIGURE_ARGS=\
diff --git a/pkg/deb/Makefile.ruby b/pkg/deb/Makefile.ruby
new file mode 100644
index 00000000..516c41c7
--- /dev/null
+++ b/pkg/deb/Makefile.ruby
@@ -0,0 +1,47 @@
+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
+
+BUILD_DEPENDS_ruby= ruby-dev ruby-rack
+BUILD_DEPENDS+= $(BUILD_DEPENDS_ruby)
+
+MODULE_BUILD_DEPENDS_ruby=,ruby-dev,ruby-rack
+
+MODULE_DEPENDS_ruby=,ruby-rack
+
+define MODULE_PREINSTALL_ruby
+ mkdir -p debian/unit-ruby/usr/share/doc/unit-ruby/examples
+ install -m 644 -p debian/unit.example-ruby-app debian/unit-ruby/usr/share/doc/unit-ruby/examples/ruby-app.ru
+ install -m 644 -p debian/unit.example-ruby-config debian/unit-ruby/usr/share/doc/unit-ruby/examples/unit.config
+endef
+export MODULE_PREINSTALL_ruby
+
+define MODULE_POST_ruby
+cat <<BANNER
+----------------------------------------------------------------------
+
+The $(MODULE_SUMMARY_ruby) has been installed.
+
+To check out the sample app, run these commands:
+
+ sudo service unit restart
+ 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/deb/debian.module/unit.example-ruby-app b/pkg/deb/debian.module/unit.example-ruby-app
new file mode 100644
index 00000000..69b015b7
--- /dev/null
+++ b/pkg/deb/debian.module/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/deb/debian.module/unit.example-ruby-config b/pkg/deb/debian.module/unit.example-ruby-config
new file mode 100644
index 00000000..53eee534
--- /dev/null
+++ b/pkg/deb/debian.module/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"
+ }
+ }
+}
diff --git a/pkg/docker/Makefile b/pkg/docker/Makefile
index 0c5a50ff..140ac5b3 100644
--- a/pkg/docker/Makefile
+++ b/pkg/docker/Makefile
@@ -10,7 +10,8 @@ CODENAME := stretch
UNIT_VERSION = $(VERSION)-$(RELEASE)~$(CODENAME)
-MODULES = python2.7 python3.5 php7.0 go1.7-dev go1.8-dev perl5.24 full minimal
+MODULES = python2.7 python3.5 php7.0 go1.7-dev go1.8-dev perl5.24 ruby2.3 \
+ full minimal
MODULE_php7.0="unit=$${UNIT_VERSION} unit-php=$${UNIT_VERSION}"
@@ -24,7 +25,9 @@ MODULE_go1.8-dev="unit=$${UNIT_VERSION} unit-go1.8=$${UNIT_VERSION} gcc"
MODULE_perl5.24="unit=$${UNIT_VERSION} unit-perl=$${UNIT_VERSION}"
-MODULE_full="unit=$${UNIT_VERSION} unit-php=$${UNIT_VERSION} unit-python2.7=$${UNIT_VERSION} unit-python3.5=$${UNIT_VERSION} unit-perl=$${UNIT_VERSION}"
+MODULE_ruby2.3="unit=$${UNIT_VERSION} unit-ruby=$${UNIT_VERSION}"
+
+MODULE_full="unit=$${UNIT_VERSION} unit-php=$${UNIT_VERSION} unit-python2.7=$${UNIT_VERSION} unit-python3.5=$${UNIT_VERSION} unit-perl=$${UNIT_VERSION} unit-ruby=$${UNIT_VERSION}"
MODULE_minimal="unit=$${UNIT_VERSION}"
@@ -35,6 +38,7 @@ export \
MODULE_go1.7-dev \
MODULE_go1.8-dev \
MODULE_perl5.24 \
+ MODULE_ruby2.3 \
MODULE_full \
MODULE_minimal
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"
+ }
+ }
+}