summaryrefslogtreecommitdiffhomepage
path: root/pkg
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
parent2028f3a04be9836ff0f904a487f05bcff75d528d (diff)
downloadunit-aa8f2c3295cbf7e1b8e134e70b135e07c35f88e9.tar.gz
unit-aa8f2c3295cbf7e1b8e134e70b135e07c35f88e9.tar.bz2
Added Ruby packaging support.
Diffstat (limited to 'pkg')
-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
9 files changed, 172 insertions, 2 deletions
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"
+ }
+ }
+}