summaryrefslogtreecommitdiffhomepage
path: root/pkg
diff options
context:
space:
mode:
Diffstat (limited to 'pkg')
-rw-r--r--pkg/deb/Makefile103
-rw-r--r--pkg/deb/Makefile.jsc-common6
-rw-r--r--pkg/deb/Makefile.jsc1871
-rw-r--r--pkg/deb/Makefile.python31046
-rw-r--r--pkg/deb/debian.module/unit.example-jsc18-config15
-rw-r--r--pkg/deb/debian.module/unit.example-python3.10-config16
-rw-r--r--pkg/deb/debian/rules.in4
-rw-r--r--pkg/docker/Dockerfile.go1.17 (renamed from pkg/docker/Dockerfile.go1.15)6
-rw-r--r--pkg/docker/Dockerfile.jsc112
-rw-r--r--pkg/docker/Dockerfile.minimal6
-rw-r--r--pkg/docker/Dockerfile.node16 (renamed from pkg/docker/Dockerfile.node15)6
-rw-r--r--pkg/docker/Dockerfile.perl5.34 (renamed from pkg/docker/Dockerfile.perl5.32)6
-rw-r--r--pkg/docker/Dockerfile.php8.02
-rw-r--r--pkg/docker/Dockerfile.python3.92
-rw-r--r--pkg/docker/Dockerfile.ruby3.0 (renamed from pkg/docker/Dockerfile.ruby2.7)6
-rw-r--r--pkg/docker/Makefile10
-rw-r--r--pkg/rpm/Makefile4
-rw-r--r--pkg/rpm/Makefile.python31057
-rw-r--r--pkg/rpm/rpmbuild/SOURCES/unit.example-python310-config16
-rw-r--r--pkg/rpm/unit.module.spec.in4
20 files changed, 264 insertions, 124 deletions
diff --git a/pkg/deb/Makefile b/pkg/deb/Makefile
index 85d5545e..66a5f33a 100644
--- a/pkg/deb/Makefile
+++ b/pkg/deb/Makefile
@@ -19,34 +19,35 @@ BUILD_DEPENDS = $(BUILD_DEPENDS_unit)
MODULES=
-# Ubuntu 21.04
-ifeq ($(CODENAME),hirsute)
+# Ubuntu 21.10
+ifeq ($(CODENAME),impish)
include Makefile.php
include Makefile.python27
include Makefile.python39
+include Makefile.python310
include Makefile.go
include Makefile.perl
include Makefile.ruby
include Makefile.jsc-common
include Makefile.jsc11
-include Makefile.jsc15
include Makefile.jsc16
include Makefile.jsc17
+include Makefile.jsc18
endif
-# Ubuntu 20.10
-ifeq ($(CODENAME),groovy)
+# Ubuntu 21.04
+ifeq ($(CODENAME),hirsute)
include Makefile.php
include Makefile.python27
-include Makefile.python38
+include Makefile.python39
include Makefile.go
include Makefile.perl
include Makefile.ruby
include Makefile.jsc-common
include Makefile.jsc11
-include Makefile.jsc13
-include Makefile.jsc14
include Makefile.jsc15
+include Makefile.jsc16
+include Makefile.jsc17
endif
# Ubuntu 20.04
@@ -61,46 +62,6 @@ include Makefile.jsc-common
include Makefile.jsc11
endif
-# Ubuntu 19.10
-ifeq ($(CODENAME),eoan)
-include Makefile.php
-include Makefile.python27
-include Makefile.python37
-include Makefile.python38
-include Makefile.go
-include Makefile.perl
-include Makefile.ruby
-include Makefile.jsc-common
-include Makefile.jsc11
-endif
-
-# Ubuntu 19.04
-ifeq ($(CODENAME),disco)
-include Makefile.php
-include Makefile.python27
-include Makefile.python37
-include Makefile.python38
-include Makefile.go
-include Makefile.perl
-include Makefile.ruby
-include Makefile.jsc-common
-include Makefile.jsc11
-endif
-
-# Ubuntu 18.10
-ifeq ($(CODENAME),cosmic)
-include Makefile.php
-include Makefile.python27
-include Makefile.python36
-include Makefile.python37
-include Makefile.go
-include Makefile.perl
-include Makefile.ruby
-include Makefile.jsc-common
-include Makefile.jsc8
-include Makefile.jsc11
-endif
-
# Ubuntu 18.04
ifeq ($(CODENAME),bionic)
include Makefile.php
@@ -116,25 +77,6 @@ include Makefile.jsc8
include Makefile.jsc11
endif
-# Ubuntu 16.04
-ifeq ($(CODENAME),xenial)
-include Makefile.php
-include Makefile.python27
-include Makefile.python35
-include Makefile.go
-include Makefile.perl
-include Makefile.ruby
-include Makefile.jsc-common
-include Makefile.jsc8
-endif
-
-# Ubuntu 14.04
-ifeq ($(CODENAME),trusty)
-include Makefile.php
-include Makefile.python
-include Makefile.perl
-endif
-
# Debian 11
ifeq ($(CODENAME),bullseye)
include Makefile.php
@@ -159,27 +101,6 @@ include Makefile.jsc-common
include Makefile.jsc11
endif
-# Debian 9
-ifeq ($(CODENAME),stretch)
-include Makefile.php
-include Makefile.python27
-include Makefile.python35
-include Makefile.go
-include Makefile.perl
-include Makefile.ruby
-include Makefile.jsc-common
-include Makefile.jsc8
-endif
-
-# Debian 8
-ifeq ($(CODENAME),jessie)
-include Makefile.php
-include Makefile.python27
-include Makefile.python34
-include Makefile.perl
-include Makefile.ruby
-endif
-
CONFIGURE_ARGS=\
--prefix=/usr \
--state=/var/lib/unit \
@@ -210,7 +131,7 @@ check-build-depends-%:
esac ; \
not_installed= ; \
for pkg in $${pkgs}; do \
- dpkg -s $${pkg} >/dev/null 2>&1 ; \
+ dpkg-query -W $${pkg} >/dev/null 2>&1 ; \
if [ $$? -ne 0 ]; then \
not_installed="$${not_installed} $${pkg}" ; \
fi ; \
@@ -231,7 +152,7 @@ debuild/$(SRCDIR)/debian:
set -e ; \
mkdir -p debuild/$(SRCDIR) ; \
cp -pr debian debuild/$(SRCDIR) ; \
- echo '9' > debuild/$(SRCDIR)/debian/compat ; \
+ echo '11' > debuild/$(SRCDIR)/debian/compat ; \
mkdir -p debuild/$(SRCDIR)/debian/source ; \
echo '3.0 (quilt)' > debuild/$(SRCDIR)/debian/source/format ; \
cat debian/control.in | sed \
@@ -275,7 +196,7 @@ debuild-%: debuild/unit_$(VERSION).orig.tar.gz ../../docs/changes.xml
cp debuild/unit_$(VERSION).orig.tar.gz debuild-$*/unit-$(MODULE_SUFFIX_$*)_$(VERSION).orig.tar.gz
cd $@ && tar zxf unit-$(MODULE_SUFFIX_$*)_$(VERSION).orig.tar.gz
mkdir $@/$(SRCDIR)/debian
- echo '9' > $@/$(SRCDIR)/debian/compat
+ echo '11' > $@/$(SRCDIR)/debian/compat
mkdir $@/$(SRCDIR)/debian/source
echo '3.0 (quilt)' > $@/$(SRCDIR)/debian/source/format
cd ../../docs && make ../build/unit-$(MODULE_SUFFIX_$*).deb-changelog
diff --git a/pkg/deb/Makefile.jsc-common b/pkg/deb/Makefile.jsc-common
index 5f727124..2b098025 100644
--- a/pkg/deb/Makefile.jsc-common
+++ b/pkg/deb/Makefile.jsc-common
@@ -6,10 +6,10 @@ MODULE_SUMMARY_jsc_common= Java shared packages for NGINX Unit
MODULE_VERSION_jsc_common= $(VERSION)
MODULE_RELEASE_jsc_common= 1
-ifneq (,$(findstring $(CODENAME),hirsute groovy focal eoan disco buster bullseye))
-JAVA_MINVERSION= 11
-else
+ifneq (,$(findstring $(CODENAME),bionic))
JAVA_MINVERSION= 8
+else
+JAVA_MINVERSION= 11
endif
MODULE_CONFARGS_jsc_common= java --home=/usr/lib/jvm/java-$(JAVA_MINVERSION)-openjdk-$$\(DEB_HOST_ARCH\) --jars=/usr/share/unit-jsc-common/
diff --git a/pkg/deb/Makefile.jsc18 b/pkg/deb/Makefile.jsc18
new file mode 100644
index 00000000..806aa320
--- /dev/null
+++ b/pkg/deb/Makefile.jsc18
@@ -0,0 +1,71 @@
+MODULES+= jsc18
+MODULE_SUFFIX_jsc18= jsc18
+
+MODULE_SUMMARY_jsc18= Java 18 module for NGINX Unit
+
+MODULE_VERSION_jsc18= $(VERSION)
+MODULE_RELEASE_jsc18= 1
+
+MODULE_CONFARGS_jsc18= java --module=java18 --home=/usr/lib/jvm/java-18-openjdk-$$\(DEB_HOST_ARCH\) --jars=/usr/share/unit-jsc-common/
+MODULE_MAKEARGS_jsc18= java18
+MODULE_INSTARGS_jsc18= java18-install
+
+MODULE_SOURCES_jsc18= unit.example-jsc-app \
+ unit.example-jsc18-config
+
+BUILD_DEPENDS_jsc18= openjdk-18-jdk-headless openjdk-18-jre-headless
+BUILD_DEPENDS+= $(BUILD_DEPENDS_jsc18)
+
+MODULE_BUILD_DEPENDS_jsc18=,openjdk-18-jdk-headless
+MODULE_DEPENDS_jsc18=,openjdk-18-jre-headless,unit-jsc-common (= $(MODULE_VERSION_jsc_common)-$(MODULE_RELEASE_jsc_common)~$(CODENAME))
+
+define MODULE_PREINSTALL_jsc18
+ mkdir -p debian/unit-jsc18/usr/share/doc/unit-jsc18/examples/jsc-app
+ install -m 644 -p debian/unit.example-jsc-app debian/unit-jsc18/usr/share/doc/unit-jsc18/examples/jsc-app/index.jsp
+ install -m 644 -p debian/unit.example-jsc18-config debian/unit-jsc18/usr/share/doc/unit-jsc18/examples/unit.config
+ install -m 644 -p src/java/README.JSR-340 debian/unit-jsc18/usr/share/doc/unit-jsc18/
+endef
+export MODULE_PREINSTALL_jsc18
+
+define MODULE_POSTINSTALL_jsc18
+ cd $$\(BUILDDIR_unit\) \&\& \
+ DESTDIR=$$\(INSTALLDIR\) make java-shared-uninstall
+endef
+export MODULE_POSTINSTALL_jsc18
+
+define MODULE_POST_jsc18
+cat <<BANNER
+----------------------------------------------------------------------
+
+The $(MODULE_SUMMARY_jsc18) has been installed.
+
+To check out the sample app, run these commands:
+
+ sudo service unit restart
+ cd /usr/share/doc/unit-$(MODULE_SUFFIX_jsc18)/examples
+ sudo curl -X PUT --data-binary @unit.config --unix-socket /var/run/control.unit.sock http://localhost/config
+ curl http://localhost:8800/
+
+Online documentation is available at https://unit.nginx.org
+
+NOTICE:
+
+This version of Unit code is made available in support of the open source
+development process. This is an intermediate build made available for
+testing purposes only. This Unit code is untested and presumed incompatible
+with the JSR 340 Java Servlet 3.1 specification. You should not deploy or
+write to this code. You should instead deploy and write production
+applications on pre-built binaries that have been tested and certified
+to meet the JSR-340 compatibility requirements such as certified binaries
+published for the JSR-340 reference implementation available at
+https://javaee.github.io/glassfish/.
+
+Redistribution of any Intermediate Build must retain this notice.
+
+Oracle and Java are registered trademarks of Oracle and/or its affiliates.
+Other names may be trademarks of their respective owners.
+
+----------------------------------------------------------------------
+BANNER
+endef
+export MODULE_POST_jsc18
diff --git a/pkg/deb/Makefile.python310 b/pkg/deb/Makefile.python310
new file mode 100644
index 00000000..960510a3
--- /dev/null
+++ b/pkg/deb/Makefile.python310
@@ -0,0 +1,46 @@
+MODULES+= python310
+MODULE_SUFFIX_python310= python3.10
+
+MODULE_SUMMARY_python310= Python 3.10 module for NGINX Unit
+
+MODULE_VERSION_python310= $(VERSION)
+MODULE_RELEASE_python310= 1
+
+MODULE_CONFARGS_python310= python --config=python3.10-config
+MODULE_MAKEARGS_python310= python3.10
+MODULE_INSTARGS_python310= python3.10-install
+
+MODULE_SOURCES_python310= unit.example-python-app \
+ unit.example-python3.10-config
+
+BUILD_DEPENDS_python310= python3.10-dev
+BUILD_DEPENDS+= $(BUILD_DEPENDS_python310)
+
+MODULE_BUILD_DEPENDS_python310=,python3.10-dev
+
+define MODULE_PREINSTALL_python310
+ mkdir -p debian/unit-python3.10/usr/share/doc/unit-python3.10/examples/python-app
+ install -m 644 -p debian/unit.example-python-app debian/unit-python3.10/usr/share/doc/unit-python3.10/examples/python-app/wsgi.py
+ install -m 644 -p debian/unit.example-python3.10-config debian/unit-python3.10/usr/share/doc/unit-python3.10/examples/unit.config
+endef
+export MODULE_PREINSTALL_python310
+
+define MODULE_POST_python310
+cat <<BANNER
+----------------------------------------------------------------------
+
+The $(MODULE_SUMMARY_python310) has been installed.
+
+To check out the sample app, run these commands:
+
+ sudo service unit restart
+ cd /usr/share/doc/unit-$(MODULE_SUFFIX_python310)/examples
+ sudo curl -X PUT --data-binary @unit.config --unix-socket /var/run/control.unit.sock http://localhost/config
+ curl http://localhost:8400/
+
+Online documentation is available at https://unit.nginx.org
+
+----------------------------------------------------------------------
+BANNER
+endef
+export MODULE_POST_python310
diff --git a/pkg/deb/debian.module/unit.example-jsc18-config b/pkg/deb/debian.module/unit.example-jsc18-config
new file mode 100644
index 00000000..08f9f596
--- /dev/null
+++ b/pkg/deb/debian.module/unit.example-jsc18-config
@@ -0,0 +1,15 @@
+{
+ "applications": {
+ "example_java18": {
+ "processes": 1,
+ "type": "java 18",
+ "webapp": "/usr/share/doc/unit-jsc18/examples/jsc-app"
+ }
+ },
+
+ "listeners": {
+ "*:8800": {
+ "pass": "applications/example_java18"
+ }
+ }
+}
diff --git a/pkg/deb/debian.module/unit.example-python3.10-config b/pkg/deb/debian.module/unit.example-python3.10-config
new file mode 100644
index 00000000..eaeb6103
--- /dev/null
+++ b/pkg/deb/debian.module/unit.example-python3.10-config
@@ -0,0 +1,16 @@
+{
+ "applications": {
+ "example_python": {
+ "type": "python 3.10",
+ "processes": 2,
+ "path": "/usr/share/doc/unit-python3.10/examples/python-app",
+ "module": "wsgi"
+ }
+ },
+
+ "listeners": {
+ "*:8400": {
+ "pass": "applications/example_python"
+ }
+ }
+}
diff --git a/pkg/deb/debian/rules.in b/pkg/deb/debian/rules.in
index c7a56b6b..3f1f9db8 100644
--- a/pkg/deb/debian/rules.in
+++ b/pkg/deb/debian/rules.in
@@ -99,11 +99,7 @@ install: build do.tests
dh_testroot
dh_prep
dh_installdirs
-ifeq ($(CODENAME), xenial)
- dh_installinit
-else
dh_installsystemd
-endif
dh_installlogrotate
cd $(BUILDDIR_unit) && DESTDIR=$(INSTALLDIR) make install
cd $(BUILDDIR_unit) && DESTDIR=$(INSTALLDIR_dev) make libunit-install
diff --git a/pkg/docker/Dockerfile.go1.15 b/pkg/docker/Dockerfile.go1.17
index 0c88ff64..2555cb23 100644
--- a/pkg/docker/Dockerfile.go1.15
+++ b/pkg/docker/Dockerfile.go1.17
@@ -1,4 +1,4 @@
-FROM golang:1.15 as BUILDER
+FROM golang:1.17 as BUILDER
LABEL maintainer="NGINX Docker Maintainers <docker-maint@nginx.com>"
@@ -8,7 +8,7 @@ RUN set -ex \
&& mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
&& hg clone https://hg.nginx.org/unit \
&& cd unit \
- && hg up 1.25.0 \
+ && hg up 1.26.0 \
&& NCPU="$(getconf _NPROCESSORS_ONLN)" \
&& DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
&& CC_OPT="$(DEB_BUILD_MAINT_OPTIONS="hardening=+all,-pie" DEB_CFLAGS_MAINT_APPEND="-Wp,-D_FORTIFY_SOURCE=2 -fPIC" dpkg-buildflags --get CFLAGS)" \
@@ -40,7 +40,7 @@ RUN set -ex \
&& make -j $NCPU go-install-src libunit-install \
&& ldd /usr/sbin/unitd | awk '/=>/{print $(NF-1)}' | while read n; do dpkg-query -S $n; done | sed 's/^\([^:]\+\):.*$/\1/' | sort | uniq > /requirements.apt
-FROM golang:1.15
+FROM golang:1.17
COPY docker-entrypoint.sh /usr/local/bin/
COPY --from=BUILDER /usr/sbin/unitd /usr/sbin/unitd
COPY --from=BUILDER /usr/sbin/unitd-debug /usr/sbin/unitd-debug
diff --git a/pkg/docker/Dockerfile.jsc11 b/pkg/docker/Dockerfile.jsc11
index 8f62ad3e..091ddf01 100644
--- a/pkg/docker/Dockerfile.jsc11
+++ b/pkg/docker/Dockerfile.jsc11
@@ -8,7 +8,7 @@ RUN set -ex \
&& mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
&& hg clone https://hg.nginx.org/unit \
&& cd unit \
- && hg up 1.25.0 \
+ && hg up 1.26.0 \
&& NCPU="$(getconf _NPROCESSORS_ONLN)" \
&& DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
&& CC_OPT="$(DEB_BUILD_MAINT_OPTIONS="hardening=+all,-pie" DEB_CFLAGS_MAINT_APPEND="-Wp,-D_FORTIFY_SOURCE=2 -fPIC" dpkg-buildflags --get CFLAGS)" \
diff --git a/pkg/docker/Dockerfile.minimal b/pkg/docker/Dockerfile.minimal
index 00875732..18c02898 100644
--- a/pkg/docker/Dockerfile.minimal
+++ b/pkg/docker/Dockerfile.minimal
@@ -1,4 +1,4 @@
-FROM debian:buster-slim as BUILDER
+FROM debian:bullseye-slim as BUILDER
LABEL maintainer="NGINX Docker Maintainers <docker-maint@nginx.com>"
@@ -8,7 +8,7 @@ RUN set -ex \
&& mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
&& hg clone https://hg.nginx.org/unit \
&& cd unit \
- && hg up 1.25.0 \
+ && hg up 1.26.0 \
&& NCPU="$(getconf _NPROCESSORS_ONLN)" \
&& DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
&& CC_OPT="$(DEB_BUILD_MAINT_OPTIONS="hardening=+all,-pie" DEB_CFLAGS_MAINT_APPEND="-Wp,-D_FORTIFY_SOURCE=2 -fPIC" dpkg-buildflags --get CFLAGS)" \
@@ -40,7 +40,7 @@ RUN set -ex \
&& make -j $NCPU version \
&& ldd /usr/sbin/unitd | awk '/=>/{print $(NF-1)}' | while read n; do dpkg-query -S $n; done | sed 's/^\([^:]\+\):.*$/\1/' | sort | uniq > /requirements.apt
-FROM debian:buster-slim
+FROM debian:bullseye-slim
COPY docker-entrypoint.sh /usr/local/bin/
COPY --from=BUILDER /usr/sbin/unitd /usr/sbin/unitd
COPY --from=BUILDER /usr/sbin/unitd-debug /usr/sbin/unitd-debug
diff --git a/pkg/docker/Dockerfile.node15 b/pkg/docker/Dockerfile.node16
index f98d0ef3..386d0c24 100644
--- a/pkg/docker/Dockerfile.node15
+++ b/pkg/docker/Dockerfile.node16
@@ -1,4 +1,4 @@
-FROM node:15 as BUILDER
+FROM node:16 as BUILDER
LABEL maintainer="NGINX Docker Maintainers <docker-maint@nginx.com>"
@@ -8,7 +8,7 @@ RUN set -ex \
&& mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
&& hg clone https://hg.nginx.org/unit \
&& cd unit \
- && hg up 1.25.0 \
+ && hg up 1.26.0 \
&& NCPU="$(getconf _NPROCESSORS_ONLN)" \
&& DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
&& CC_OPT="$(DEB_BUILD_MAINT_OPTIONS="hardening=+all,-pie" DEB_CFLAGS_MAINT_APPEND="-Wp,-D_FORTIFY_SOURCE=2 -fPIC" dpkg-buildflags --get CFLAGS)" \
@@ -40,7 +40,7 @@ RUN set -ex \
&& make -j $NCPU node node-install libunit-install \
&& ldd /usr/sbin/unitd | awk '/=>/{print $(NF-1)}' | while read n; do dpkg-query -S $n; done | sed 's/^\([^:]\+\):.*$/\1/' | sort | uniq > /requirements.apt
-FROM node:15
+FROM node:16
COPY docker-entrypoint.sh /usr/local/bin/
COPY --from=BUILDER /usr/sbin/unitd /usr/sbin/unitd
COPY --from=BUILDER /usr/sbin/unitd-debug /usr/sbin/unitd-debug
diff --git a/pkg/docker/Dockerfile.perl5.32 b/pkg/docker/Dockerfile.perl5.34
index 244eb076..624a059c 100644
--- a/pkg/docker/Dockerfile.perl5.32
+++ b/pkg/docker/Dockerfile.perl5.34
@@ -1,4 +1,4 @@
-FROM perl:5.32 as BUILDER
+FROM perl:5.34 as BUILDER
LABEL maintainer="NGINX Docker Maintainers <docker-maint@nginx.com>"
@@ -8,7 +8,7 @@ RUN set -ex \
&& mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
&& hg clone https://hg.nginx.org/unit \
&& cd unit \
- && hg up 1.25.0 \
+ && hg up 1.26.0 \
&& NCPU="$(getconf _NPROCESSORS_ONLN)" \
&& DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
&& CC_OPT="$(DEB_BUILD_MAINT_OPTIONS="hardening=+all,-pie" DEB_CFLAGS_MAINT_APPEND="-Wp,-D_FORTIFY_SOURCE=2 -fPIC" dpkg-buildflags --get CFLAGS)" \
@@ -40,7 +40,7 @@ RUN set -ex \
&& make -j $NCPU perl-install \
&& ldd /usr/sbin/unitd | awk '/=>/{print $(NF-1)}' | while read n; do dpkg-query -S $n; done | sed 's/^\([^:]\+\):.*$/\1/' | sort | uniq > /requirements.apt
-FROM perl:5.32
+FROM perl:5.34
COPY docker-entrypoint.sh /usr/local/bin/
COPY --from=BUILDER /usr/sbin/unitd /usr/sbin/unitd
COPY --from=BUILDER /usr/sbin/unitd-debug /usr/sbin/unitd-debug
diff --git a/pkg/docker/Dockerfile.php8.0 b/pkg/docker/Dockerfile.php8.0
index ba85ce0e..f3a1e10b 100644
--- a/pkg/docker/Dockerfile.php8.0
+++ b/pkg/docker/Dockerfile.php8.0
@@ -8,7 +8,7 @@ RUN set -ex \
&& mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
&& hg clone https://hg.nginx.org/unit \
&& cd unit \
- && hg up 1.25.0 \
+ && hg up 1.26.0 \
&& NCPU="$(getconf _NPROCESSORS_ONLN)" \
&& DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
&& CC_OPT="$(DEB_BUILD_MAINT_OPTIONS="hardening=+all,-pie" DEB_CFLAGS_MAINT_APPEND="-Wp,-D_FORTIFY_SOURCE=2 -fPIC" dpkg-buildflags --get CFLAGS)" \
diff --git a/pkg/docker/Dockerfile.python3.9 b/pkg/docker/Dockerfile.python3.9
index a3ca8d4a..87e807cc 100644
--- a/pkg/docker/Dockerfile.python3.9
+++ b/pkg/docker/Dockerfile.python3.9
@@ -8,7 +8,7 @@ RUN set -ex \
&& mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
&& hg clone https://hg.nginx.org/unit \
&& cd unit \
- && hg up 1.25.0 \
+ && hg up 1.26.0 \
&& NCPU="$(getconf _NPROCESSORS_ONLN)" \
&& DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
&& CC_OPT="$(DEB_BUILD_MAINT_OPTIONS="hardening=+all,-pie" DEB_CFLAGS_MAINT_APPEND="-Wp,-D_FORTIFY_SOURCE=2 -fPIC" dpkg-buildflags --get CFLAGS)" \
diff --git a/pkg/docker/Dockerfile.ruby2.7 b/pkg/docker/Dockerfile.ruby3.0
index d5140288..da4dd559 100644
--- a/pkg/docker/Dockerfile.ruby2.7
+++ b/pkg/docker/Dockerfile.ruby3.0
@@ -1,4 +1,4 @@
-FROM ruby:2.7 as BUILDER
+FROM ruby:3.0 as BUILDER
LABEL maintainer="NGINX Docker Maintainers <docker-maint@nginx.com>"
@@ -8,7 +8,7 @@ RUN set -ex \
&& mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
&& hg clone https://hg.nginx.org/unit \
&& cd unit \
- && hg up 1.25.0 \
+ && hg up 1.26.0 \
&& NCPU="$(getconf _NPROCESSORS_ONLN)" \
&& DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
&& CC_OPT="$(DEB_BUILD_MAINT_OPTIONS="hardening=+all,-pie" DEB_CFLAGS_MAINT_APPEND="-Wp,-D_FORTIFY_SOURCE=2 -fPIC" dpkg-buildflags --get CFLAGS)" \
@@ -40,7 +40,7 @@ RUN set -ex \
&& make -j $NCPU ruby-install \
&& ldd /usr/sbin/unitd | awk '/=>/{print $(NF-1)}' | while read n; do dpkg-query -S $n; done | sed 's/^\([^:]\+\):.*$/\1/' | sort | uniq > /requirements.apt
-FROM ruby:2.7
+FROM ruby:3.0
COPY docker-entrypoint.sh /usr/local/bin/
COPY --from=BUILDER /usr/sbin/unitd /usr/sbin/unitd
COPY --from=BUILDER /usr/sbin/unitd-debug /usr/sbin/unitd-debug
diff --git a/pkg/docker/Makefile b/pkg/docker/Makefile
index 00625526..a2c1a52b 100644
--- a/pkg/docker/Makefile
+++ b/pkg/docker/Makefile
@@ -12,13 +12,13 @@ EXPORT_DIR := $(VERSION)
MODULES ?= go jsc node perl php python ruby minimal
VERSION_minimal ?=
-CONTAINER_minimal ?= debian:buster-slim
+CONTAINER_minimal ?= debian:bullseye-slim
CONFIGURE_minimal ?=
INSTALL_minimal ?= version
define COPY_minimal
endef
-VERSION_go ?= 1.15
+VERSION_go ?= 1.17
CONTAINER_go ?= golang:$(VERSION_go)
CONFIGURE_go ?= go --go-path=$$GOPATH
INSTALL_go ?= go-install-src libunit-install
@@ -34,7 +34,7 @@ CONFIGURE_jsc ?= java --jars=/usr/share/unit-jsc-common/
INSTALL_jsc ?= java-shared-install java-install
COPY_jsc = COPY --from=BUILDER /usr/share/unit-jsc-common/ /usr/share/unit-jsc-common/
-VERSION_node ?= 15
+VERSION_node ?= 16
CONTAINER_node ?= node:$(VERSION_node)
CONFIGURE_node ?= nodejs --node-gyp=/usr/local/lib/node_modules/npm/bin/node-gyp-bin/node-gyp
INSTALL_node ?= node node-install libunit-install
@@ -44,7 +44,7 @@ COPY --from=BUILDER /usr/include/nxt_* /usr/include/\n\$
COPY --from=BUILDER /usr/local/lib/node_modules/unit-http/ /usr/local/lib/node_modules/unit-http/
endef
-VERSION_perl ?= 5.32
+VERSION_perl ?= 5.34
CONTAINER_perl ?= perl:$(VERSION_perl)
CONFIGURE_perl ?= perl
INSTALL_perl ?= perl-install
@@ -62,7 +62,7 @@ CONFIGURE_python ?= python --config=/usr/local/bin/python3-config
INSTALL_python ?= python3-install
COPY_python =
-VERSION_ruby ?= 2.7
+VERSION_ruby ?= 3.0
CONTAINER_ruby ?= ruby:$(VERSION_ruby)
CONFIGURE_ruby ?= ruby
INSTALL_ruby ?= ruby-install
diff --git a/pkg/rpm/Makefile b/pkg/rpm/Makefile
index e67846cf..011eba5b 100644
--- a/pkg/rpm/Makefile
+++ b/pkg/rpm/Makefile
@@ -134,7 +134,9 @@ include Makefile.php
ifeq ($(shell test `rpm --eval '0%{?fedora} -lt 32'`; echo $$?),0)
include Makefile.python27
endif
-ifeq ($(shell test `rpm --eval '0%{?fedora} -ge 33'`; echo $$?),0)
+ifeq ($(shell test `rpm --eval '0%{?fedora} -ge 35'`; echo $$?),0)
+include Makefile.python310
+else ifeq ($(shell test `rpm --eval '0%{?fedora} -ge 33'`; echo $$?),0)
include Makefile.python39
else ifeq ($(shell test `rpm --eval '0%{?fedora} -ge 32'`; echo $$?),0)
include Makefile.python38
diff --git a/pkg/rpm/Makefile.python310 b/pkg/rpm/Makefile.python310
new file mode 100644
index 00000000..82bc311a
--- /dev/null
+++ b/pkg/rpm/Makefile.python310
@@ -0,0 +1,57 @@
+MODULES+= python310
+MODULE_SUFFIX_python310= python3.10
+
+MODULE_SUMMARY_python310= Python 3.10 module for NGINX Unit
+
+MODULE_VERSION_python310= $(VERSION)
+MODULE_RELEASE_python310= 1
+
+MODULE_CONFARGS_python310= python --config=python3.10-config
+MODULE_MAKEARGS_python310= python3.10
+MODULE_INSTARGS_python310= python3.10-install
+
+MODULE_SOURCES_python310= unit.example-python-app \
+ unit.example-python310-config
+
+ifneq (,$(findstring $(OSVER),opensuse-tumbleweed sles fedora amazonlinux2))
+BUILD_DEPENDS_python310= python3-devel
+else
+BUILD_DEPENDS_python310= python310-devel
+endif
+
+BUILD_DEPENDS+= $(BUILD_DEPENDS_python310)
+
+define MODULE_PREINSTALL_python310
+%{__mkdir} -p %{buildroot}%{_datadir}/doc/unit-python310/examples/python-app
+%{__install} -m 644 -p %{SOURCE100} \
+ %{buildroot}%{_datadir}/doc/unit-python310/examples/python-app/wsgi.py
+%{__install} -m 644 -p %{SOURCE101} \
+ %{buildroot}%{_datadir}/doc/unit-python310/examples/unit.config
+endef
+export MODULE_PREINSTALL_python310
+
+define MODULE_FILES_python310
+%{_libdir}/unit/modules/*
+%{_libdir}/unit/debug-modules/*
+endef
+export MODULE_FILES_python310
+
+define MODULE_POST_python310
+cat <<BANNER
+----------------------------------------------------------------------
+
+The $(MODULE_SUMMARY_python310) has been installed.
+
+To check the sample app, run these commands:
+
+ sudo service unit start
+ cd /usr/share/doc/%{name}/examples
+ sudo curl -X PUT --data-binary @unit.config --unix-socket /var/run/unit/control.sock http://localhost/config
+ curl http://localhost:8400/
+
+Online documentation is available at https://unit.nginx.org
+
+----------------------------------------------------------------------
+BANNER
+endef
+export MODULE_POST_python310
diff --git a/pkg/rpm/rpmbuild/SOURCES/unit.example-python310-config b/pkg/rpm/rpmbuild/SOURCES/unit.example-python310-config
new file mode 100644
index 00000000..8a73ca53
--- /dev/null
+++ b/pkg/rpm/rpmbuild/SOURCES/unit.example-python310-config
@@ -0,0 +1,16 @@
+{
+ "applications": {
+ "example_python": {
+ "type": "python 3.10",
+ "processes": 2,
+ "path": "/usr/share/doc/unit-python310/examples/python-app",
+ "module": "wsgi"
+ }
+ },
+
+ "listeners": {
+ "*:8400": {
+ "pass": "applications/example_python"
+ }
+ }
+}
diff --git a/pkg/rpm/unit.module.spec.in b/pkg/rpm/unit.module.spec.in
index 4f096c73..9b0f6221 100644
--- a/pkg/rpm/unit.module.spec.in
+++ b/pkg/rpm/unit.module.spec.in
@@ -1,12 +1,12 @@
# distribution specific definitions
%define bdir %{_builddir}/%{name}-%{version}
-%%MODULE_DEFINITIONS%%
-
%if (0%{?rhel} == 7 && 0%{?amzn} == 0)
%define dist .el7
%endif
+%%MODULE_DEFINITIONS%%
+
%if 0%{?rhel}%{?fedora}
BuildRequires: gcc
%if 0%{?amzn2}