Added Ruby packaging support.

This commit is contained in:
Andrei Belov
2018-04-02 15:48:33 +03:00
parent 2028f3a04b
commit aa8f2c3295
11 changed files with 187 additions and 3 deletions

View File

@@ -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

View File

@@ -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;">

View File

@@ -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=\

47
pkg/deb/Makefile.ruby Normal file
View File

@@ -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

View File

@@ -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

View File

@@ -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"
}
}
}

View File

@@ -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

View File

@@ -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=\

65
pkg/rpm/Makefile.ruby Normal file
View File

@@ -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

View File

@@ -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

View File

@@ -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"
}
}
}