summaryrefslogtreecommitdiffhomepage
path: root/pkg
diff options
context:
space:
mode:
Diffstat (limited to 'pkg')
-rw-r--r--pkg/Makefile9
-rw-r--r--pkg/contrib/src/libunit-wasm/version4
-rw-r--r--pkg/contrib/src/njs/SHA512SUMS2
-rw-r--r--pkg/contrib/src/njs/version2
-rw-r--r--pkg/deb/Makefile17
-rw-r--r--pkg/deb/Makefile.jsc2171
-rw-r--r--pkg/deb/Makefile.python31246
-rw-r--r--pkg/deb/Makefile.wasm6
-rw-r--r--pkg/deb/debian.module/copyright.unit-jsc1118
-rw-r--r--pkg/deb/debian.module/copyright.unit-jsc818
-rw-r--r--pkg/deb/debian.module/unit.example-jsc21-config15
-rw-r--r--pkg/deb/debian.module/unit.example-python3.12-config16
-rw-r--r--pkg/deb/debian/copyright18
-rw-r--r--pkg/docker/Dockerfile.go1.218
-rw-r--r--pkg/docker/Dockerfile.go1.22 (renamed from pkg/docker/Dockerfile.go1.20)12
-rw-r--r--pkg/docker/Dockerfile.jsc118
-rw-r--r--pkg/docker/Dockerfile.minimal8
-rw-r--r--pkg/docker/Dockerfile.node208
-rw-r--r--pkg/docker/Dockerfile.node21 (renamed from pkg/docker/Dockerfile.node18)12
-rw-r--r--pkg/docker/Dockerfile.perl5.368
-rw-r--r--pkg/docker/Dockerfile.perl5.388
-rw-r--r--pkg/docker/Dockerfile.php8.28
-rw-r--r--pkg/docker/Dockerfile.php8.389
-rw-r--r--pkg/docker/Dockerfile.python3.118
-rw-r--r--pkg/docker/Dockerfile.python3.1289
-rw-r--r--pkg/docker/Dockerfile.ruby3.28
-rw-r--r--pkg/docker/Dockerfile.ruby3.389
-rw-r--r--pkg/docker/Dockerfile.wasm19
-rw-r--r--pkg/docker/Makefile20
-rw-r--r--pkg/docker/template.Dockerfile6
-rw-r--r--pkg/docker/welcome.html2
-rw-r--r--pkg/rpm/Makefile18
-rw-r--r--pkg/rpm/Makefile.jsc-common5
-rw-r--r--pkg/rpm/Makefile.jsc1713
-rw-r--r--pkg/rpm/Makefile.python31253
-rw-r--r--pkg/rpm/Makefile.wasm6
-rw-r--r--pkg/rpm/rpmbuild/SOURCES/COPYRIGHT.unit-jsc1118
-rw-r--r--pkg/rpm/rpmbuild/SOURCES/COPYRIGHT.unit-jsc818
-rw-r--r--pkg/rpm/rpmbuild/SOURCES/unit.example-python312-config16
39 files changed, 682 insertions, 117 deletions
diff --git a/pkg/Makefile b/pkg/Makefile
index c252969b..ad12efb7 100644
--- a/pkg/Makefile
+++ b/pkg/Makefile
@@ -11,10 +11,11 @@ default:
dist:
rm -f unit-$(VERSION).tar.gz
- hg archive unit-$(VERSION).tar.gz \
- -r $(VERSION) \
- -p unit-$(VERSION) \
- -X "../.hg*" -X "../pkg/" -X "../docs/*.*" -X "../docs/Makefile"
+ cd .. && git archive \
+ --output pkg/unit-$(VERSION).tar.gz \
+ --prefix unit-$(VERSION)/ \
+ --worktree-attributes \
+ $(VERSION) ./
$(SHA512SUM) unit-$(VERSION).tar.gz > unit-$(VERSION).tar.gz.sha512
rpm:
diff --git a/pkg/contrib/src/libunit-wasm/version b/pkg/contrib/src/libunit-wasm/version
index 7ca15f98..60577d0e 100644
--- a/pkg/contrib/src/libunit-wasm/version
+++ b/pkg/contrib/src/libunit-wasm/version
@@ -1,2 +1,2 @@
-LIBUNIT_WASM_VERSION := 0.1.0
-LIBUNIT_WASM_GITHASH := d6ed6a219b31a58526721f96195c80061d41ce54
+LIBUNIT_WASM_VERSION := 0.3.0
+LIBUNIT_WASM_GITHASH := 01c43784ec53aa1ff22aca7e7ae6f18b4591b514
diff --git a/pkg/contrib/src/njs/SHA512SUMS b/pkg/contrib/src/njs/SHA512SUMS
index 3c3ce210..43766487 100644
--- a/pkg/contrib/src/njs/SHA512SUMS
+++ b/pkg/contrib/src/njs/SHA512SUMS
@@ -1 +1 @@
-5038b4cd9e18de89c9cf7fe7b25a0a8a03c51cfb20b6ee5085e68f885113b104092baf5ac8fe80e9d1611b2f75e47448753e6b327bef2e706ea46f2d6299f927 njs-0.8.1.tar.gz
+cc3110a0c6866dfc03d19c58745e5b75aa9792999db45bc55a752f7b04db8ae51322bfe0156b873109c8477c6c1a030c851c770697cf6791c6e89fb2fed0a2c5 njs-0.8.2.tar.gz
diff --git a/pkg/contrib/src/njs/version b/pkg/contrib/src/njs/version
index 73c524fb..00453419 100644
--- a/pkg/contrib/src/njs/version
+++ b/pkg/contrib/src/njs/version
@@ -1 +1 @@
-NJS_VERSION := 0.8.1
+NJS_VERSION := 0.8.2
diff --git a/pkg/deb/Makefile b/pkg/deb/Makefile
index f82441c6..e48de155 100644
--- a/pkg/deb/Makefile
+++ b/pkg/deb/Makefile
@@ -19,6 +19,23 @@ BUILD_DEPENDS = $(BUILD_DEPENDS_unit)
MODULES=
+# Ubuntu 23.10
+ifeq ($(CODENAME),mantic)
+include Makefile.php
+include Makefile.python311
+include Makefile.python312
+include Makefile.go
+include Makefile.perl
+include Makefile.ruby
+include Makefile.jsc-common
+include Makefile.jsc11
+include Makefile.jsc17
+include Makefile.jsc19
+include Makefile.jsc20
+include Makefile.jsc21
+include Makefile.wasm
+endif
+
# Ubuntu 23.04
ifeq ($(CODENAME),lunar)
include Makefile.php
diff --git a/pkg/deb/Makefile.jsc21 b/pkg/deb/Makefile.jsc21
new file mode 100644
index 00000000..82e7f9a2
--- /dev/null
+++ b/pkg/deb/Makefile.jsc21
@@ -0,0 +1,71 @@
+MODULES+= jsc21
+MODULE_SUFFIX_jsc21= jsc21
+
+MODULE_SUMMARY_jsc21= Java 21 module for NGINX Unit
+
+MODULE_VERSION_jsc21= $(VERSION)
+MODULE_RELEASE_jsc21= 1
+
+MODULE_CONFARGS_jsc21= java --module=java21 --home=/usr/lib/jvm/java-21-openjdk-$$\(DEB_HOST_ARCH\) --jars=/usr/share/unit-jsc-common/
+MODULE_MAKEARGS_jsc21= java21
+MODULE_INSTARGS_jsc21= java21-install
+
+MODULE_SOURCES_jsc21= unit.example-jsc-app \
+ unit.example-jsc21-config
+
+BUILD_DEPENDS_jsc21= openjdk-21-jdk-headless openjdk-21-jre-headless
+BUILD_DEPENDS+= $(BUILD_DEPENDS_jsc21)
+
+MODULE_BUILD_DEPENDS_jsc21=,openjdk-21-jdk-headless
+MODULE_DEPENDS_jsc21=,openjdk-21-jre-headless,unit-jsc-common (= $(MODULE_VERSION_jsc_common)-$(MODULE_RELEASE_jsc_common)~$(CODENAME))
+
+define MODULE_PREINSTALL_jsc21
+ mkdir -p debian/unit-jsc21/usr/share/doc/unit-jsc21/examples/jsc-app
+ install -m 644 -p debian/unit.example-jsc-app debian/unit-jsc21/usr/share/doc/unit-jsc21/examples/jsc-app/index.jsp
+ install -m 644 -p debian/unit.example-jsc21-config debian/unit-jsc21/usr/share/doc/unit-jsc21/examples/unit.config
+ install -m 644 -p src/java/README.JSR-340 debian/unit-jsc21/usr/share/doc/unit-jsc21/
+endef
+export MODULE_PREINSTALL_jsc21
+
+define MODULE_POSTINSTALL_jsc21
+ cd $$\(BUILDDIR_unit\) \&\& \
+ DESTDIR=$$\(INSTALLDIR\) make java-shared-uninstall
+endef
+export MODULE_POSTINSTALL_jsc21
+
+define MODULE_POST_jsc21
+cat <<BANNER
+----------------------------------------------------------------------
+
+The $(MODULE_SUMMARY_jsc21) has been installed.
+
+To check out the sample app, run these commands:
+
+ sudo service unit restart
+ cd /usr/share/doc/unit-$(MODULE_SUFFIX_jsc21)/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_jsc21
diff --git a/pkg/deb/Makefile.python312 b/pkg/deb/Makefile.python312
new file mode 100644
index 00000000..9ece7877
--- /dev/null
+++ b/pkg/deb/Makefile.python312
@@ -0,0 +1,46 @@
+MODULES+= python312
+MODULE_SUFFIX_python312= python3.12
+
+MODULE_SUMMARY_python312= Python 3.12 module for NGINX Unit
+
+MODULE_VERSION_python312= $(VERSION)
+MODULE_RELEASE_python312= 1
+
+MODULE_CONFARGS_python312= python --config=python3.12-config
+MODULE_MAKEARGS_python312= python3.12
+MODULE_INSTARGS_python312= python3.12-install
+
+MODULE_SOURCES_python312= unit.example-python-app \
+ unit.example-python3.12-config
+
+BUILD_DEPENDS_python312= python3.12-dev
+BUILD_DEPENDS+= $(BUILD_DEPENDS_python312)
+
+MODULE_BUILD_DEPENDS_python312=,python3.12-dev
+
+define MODULE_PREINSTALL_python312
+ mkdir -p debian/unit-python3.12/usr/share/doc/unit-python3.12/examples/python-app
+ install -m 644 -p debian/unit.example-python-app debian/unit-python3.12/usr/share/doc/unit-python3.12/examples/python-app/wsgi.py
+ install -m 644 -p debian/unit.example-python3.12-config debian/unit-python3.12/usr/share/doc/unit-python3.12/examples/unit.config
+endef
+export MODULE_PREINSTALL_python312
+
+define MODULE_POST_python312
+cat <<BANNER
+----------------------------------------------------------------------
+
+The $(MODULE_SUMMARY_python312) has been installed.
+
+To check out the sample app, run these commands:
+
+ sudo service unit restart
+ cd /usr/share/doc/unit-$(MODULE_SUFFIX_python312)/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_python312
diff --git a/pkg/deb/Makefile.wasm b/pkg/deb/Makefile.wasm
index da028f19..8f3fdc67 100644
--- a/pkg/deb/Makefile.wasm
+++ b/pkg/deb/Makefile.wasm
@@ -6,9 +6,9 @@ MODULE_SUMMARY_wasm= WASM module for NGINX Unit
MODULE_VERSION_wasm= $(VERSION)
MODULE_RELEASE_wasm= 1
-MODULE_CONFARGS_wasm= wasm --include-path=\$$(CURDIR)/pkg/contrib/wasmtime/crates/c-api/include --lib-path=\$$(CURDIR)/pkg/contrib/wasmtime/target/release
-MODULE_MAKEARGS_wasm= wasm
-MODULE_INSTARGS_wasm= wasm-install
+MODULE_CONFARGS_wasm= wasm --include-path=\$$(CURDIR)/pkg/contrib/wasmtime/crates/c-api/include --lib-path=\$$(CURDIR)/pkg/contrib/wasmtime/target/release \&\& ./configure wasm-wasi-component
+MODULE_MAKEARGS_wasm= wasm wasm-wasi-component CFLAGS=\"\$$(shell grep ^CFLAGS \$$(BUILDDIR_\$$*)/build/Makefile | cut -d' ' -f 3-) -Wno-missing-prototypes\"
+MODULE_INSTARGS_wasm= wasm-install wasm-wasi-component-install
MODULE_SOURCES_wasm=
diff --git a/pkg/deb/debian.module/copyright.unit-jsc11 b/pkg/deb/debian.module/copyright.unit-jsc11
index e11b64d3..6e512e86 100644
--- a/pkg/deb/debian.module/copyright.unit-jsc11
+++ b/pkg/deb/debian.module/copyright.unit-jsc11
@@ -1,13 +1,19 @@
NGINX Unit.
- Copyright 2017-2023 NGINX, Inc.
- Copyright 2017-2023 Andrei Zeliankou
- Copyright 2018-2023 Konstantin Pavlov
- Copyright 2021-2023 Zhidao Hong
+ Copyright 2017-2024 NGINX, Inc.
+ Copyright 2017-2024 Andrei Zeliankou
+ Copyright 2018-2024 Konstantin Pavlov
+ Copyright 2021-2024 Zhidao Hong
+ Copyright 2022-2024 Andrew Clayton
+ Copyright 2022-2024 Liam Crilly
+ Copyright 2023-2024 Dan Callahan
+ Copyright 2023-2024 Danielle De Leo
+ Copyright 2023-2024 Dylan Arbour
+ Copyright 2023-2024 Gabor Javorszky
+ Copyright 2023-2024 Igor Ippolitov
+ Copyright 2023-2024 Taryn Musgrave
Copyright 2021-2023 Alejandro Colomar
- Copyright 2022-2023 Andrew Clayton
- Copyright 2022-2023 Liam Crilly
Copyright 2017-2022 Valentin V. Bartenev
Copyright 2017-2022 Max Romanov
Copyright 2021-2022 Oisín Canty
diff --git a/pkg/deb/debian.module/copyright.unit-jsc8 b/pkg/deb/debian.module/copyright.unit-jsc8
index 1d267021..60da2dfa 100644
--- a/pkg/deb/debian.module/copyright.unit-jsc8
+++ b/pkg/deb/debian.module/copyright.unit-jsc8
@@ -1,13 +1,19 @@
NGINX Unit.
- Copyright 2017-2023 NGINX, Inc.
- Copyright 2017-2023 Andrei Zeliankou
- Copyright 2018-2023 Konstantin Pavlov
- Copyright 2021-2023 Zhidao Hong
+ Copyright 2017-2024 NGINX, Inc.
+ Copyright 2017-2024 Andrei Zeliankou
+ Copyright 2018-2024 Konstantin Pavlov
+ Copyright 2021-2024 Zhidao Hong
+ Copyright 2022-2024 Andrew Clayton
+ Copyright 2022-2024 Liam Crilly
+ Copyright 2023-2024 Dan Callahan
+ Copyright 2023-2024 Danielle De Leo
+ Copyright 2023-2024 Dylan Arbour
+ Copyright 2023-2024 Gabor Javorszky
+ Copyright 2023-2024 Igor Ippolitov
+ Copyright 2023-2024 Taryn Musgrave
Copyright 2021-2023 Alejandro Colomar
- Copyright 2022-2023 Andrew Clayton
- Copyright 2022-2023 Liam Crilly
Copyright 2017-2022 Valentin V. Bartenev
Copyright 2017-2022 Max Romanov
Copyright 2021-2022 Oisín Canty
diff --git a/pkg/deb/debian.module/unit.example-jsc21-config b/pkg/deb/debian.module/unit.example-jsc21-config
new file mode 100644
index 00000000..a20cff8f
--- /dev/null
+++ b/pkg/deb/debian.module/unit.example-jsc21-config
@@ -0,0 +1,15 @@
+{
+ "applications": {
+ "example_java21": {
+ "processes": 1,
+ "type": "java 21",
+ "webapp": "/usr/share/doc/unit-jsc21/examples/jsc-app"
+ }
+ },
+
+ "listeners": {
+ "*:8800": {
+ "pass": "applications/example_java21"
+ }
+ }
+}
diff --git a/pkg/deb/debian.module/unit.example-python3.12-config b/pkg/deb/debian.module/unit.example-python3.12-config
new file mode 100644
index 00000000..37b65f1f
--- /dev/null
+++ b/pkg/deb/debian.module/unit.example-python3.12-config
@@ -0,0 +1,16 @@
+{
+ "applications": {
+ "example_python": {
+ "type": "python 3.12",
+ "processes": 2,
+ "path": "/usr/share/doc/unit-python3.12/examples/python-app",
+ "module": "wsgi"
+ }
+ },
+
+ "listeners": {
+ "*:8400": {
+ "pass": "applications/example_python"
+ }
+ }
+}
diff --git a/pkg/deb/debian/copyright b/pkg/deb/debian/copyright
index 692ae2e0..dbc37146 100644
--- a/pkg/deb/debian/copyright
+++ b/pkg/deb/debian/copyright
@@ -1,13 +1,19 @@
NGINX Unit.
- Copyright 2017-2023 NGINX, Inc.
- Copyright 2017-2023 Andrei Zeliankou
- Copyright 2018-2023 Konstantin Pavlov
- Copyright 2021-2023 Zhidao Hong
+ Copyright 2017-2024 NGINX, Inc.
+ Copyright 2017-2024 Andrei Zeliankou
+ Copyright 2018-2024 Konstantin Pavlov
+ Copyright 2021-2024 Zhidao Hong
+ Copyright 2022-2024 Andrew Clayton
+ Copyright 2022-2024 Liam Crilly
+ Copyright 2023-2024 Dan Callahan
+ Copyright 2023-2024 Danielle De Leo
+ Copyright 2023-2024 Dylan Arbour
+ Copyright 2023-2024 Gabor Javorszky
+ Copyright 2023-2024 Igor Ippolitov
+ Copyright 2023-2024 Taryn Musgrave
Copyright 2021-2023 Alejandro Colomar
- Copyright 2022-2023 Andrew Clayton
- Copyright 2022-2023 Liam Crilly
Copyright 2017-2022 Valentin V. Bartenev
Copyright 2017-2022 Max Romanov
Copyright 2021-2022 Oisín Canty
diff --git a/pkg/docker/Dockerfile.go1.21 b/pkg/docker/Dockerfile.go1.21
index a90dc115..f0caf402 100644
--- a/pkg/docker/Dockerfile.go1.21
+++ b/pkg/docker/Dockerfile.go1.21
@@ -6,16 +6,16 @@ LABEL org.opencontainers.image.url="https://unit.nginx.org"
LABEL org.opencontainers.image.source="https://github.com/nginx/unit"
LABEL org.opencontainers.image.documentation="https://unit.nginx.org/installation/#docker-images"
LABEL org.opencontainers.image.vendor="NGINX Docker Maintainers <docker-maint@nginx.com>"
-LABEL org.opencontainers.image.version="1.31.1"
+LABEL org.opencontainers.image.version="1.32.0"
RUN set -ex \
&& savedAptMark="$(apt-mark showmanual)" \
&& apt-get update \
- && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates mercurial build-essential libssl-dev libpcre2-dev curl pkg-config \
+ && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates git build-essential libssl-dev libpcre2-dev curl pkg-config \
&& mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
&& mkdir -p /usr/src/unit \
&& cd /usr/src/unit \
- && hg clone -u 1.31.1-1 https://hg.nginx.org/unit \
+ && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
&& cd unit \
&& NCPU="$(getconf _NPROCESSORS_ONLN)" \
&& DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
@@ -77,7 +77,7 @@ RUN set -ex \
&& apt-get purge -y --auto-remove build-essential \
&& rm -rf /var/lib/apt/lists/* \
&& rm -f /requirements.apt \
- && ln -sf /dev/stdout /var/log/unit.log
+ && ln -sf /dev/stderr /var/log/unit.log
COPY docker-entrypoint.sh /usr/local/bin/
COPY welcome.* /usr/share/unit/welcome/
diff --git a/pkg/docker/Dockerfile.go1.20 b/pkg/docker/Dockerfile.go1.22
index 53379dd1..ccd19bda 100644
--- a/pkg/docker/Dockerfile.go1.20
+++ b/pkg/docker/Dockerfile.go1.22
@@ -1,21 +1,21 @@
-FROM golang:1.20-bullseye
+FROM golang:1.22-bullseye
-LABEL org.opencontainers.image.title="Unit (go1.20)"
+LABEL org.opencontainers.image.title="Unit (go1.22)"
LABEL org.opencontainers.image.description="Official build of Unit for Docker."
LABEL org.opencontainers.image.url="https://unit.nginx.org"
LABEL org.opencontainers.image.source="https://github.com/nginx/unit"
LABEL org.opencontainers.image.documentation="https://unit.nginx.org/installation/#docker-images"
LABEL org.opencontainers.image.vendor="NGINX Docker Maintainers <docker-maint@nginx.com>"
-LABEL org.opencontainers.image.version="1.31.1"
+LABEL org.opencontainers.image.version="1.32.0"
RUN set -ex \
&& savedAptMark="$(apt-mark showmanual)" \
&& apt-get update \
- && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates mercurial build-essential libssl-dev libpcre2-dev curl pkg-config \
+ && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates git build-essential libssl-dev libpcre2-dev curl pkg-config \
&& mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
&& mkdir -p /usr/src/unit \
&& cd /usr/src/unit \
- && hg clone -u 1.31.1-1 https://hg.nginx.org/unit \
+ && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
&& cd unit \
&& NCPU="$(getconf _NPROCESSORS_ONLN)" \
&& DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
@@ -77,7 +77,7 @@ RUN set -ex \
&& apt-get purge -y --auto-remove build-essential \
&& rm -rf /var/lib/apt/lists/* \
&& rm -f /requirements.apt \
- && ln -sf /dev/stdout /var/log/unit.log
+ && ln -sf /dev/stderr /var/log/unit.log
COPY docker-entrypoint.sh /usr/local/bin/
COPY welcome.* /usr/share/unit/welcome/
diff --git a/pkg/docker/Dockerfile.jsc11 b/pkg/docker/Dockerfile.jsc11
index 2844c813..b056c0d9 100644
--- a/pkg/docker/Dockerfile.jsc11
+++ b/pkg/docker/Dockerfile.jsc11
@@ -6,16 +6,16 @@ LABEL org.opencontainers.image.url="https://unit.nginx.org"
LABEL org.opencontainers.image.source="https://github.com/nginx/unit"
LABEL org.opencontainers.image.documentation="https://unit.nginx.org/installation/#docker-images"
LABEL org.opencontainers.image.vendor="NGINX Docker Maintainers <docker-maint@nginx.com>"
-LABEL org.opencontainers.image.version="1.31.1"
+LABEL org.opencontainers.image.version="1.32.0"
RUN set -ex \
&& savedAptMark="$(apt-mark showmanual)" \
&& apt-get update \
- && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates mercurial build-essential libssl-dev libpcre2-dev curl pkg-config \
+ && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates git build-essential libssl-dev libpcre2-dev curl pkg-config \
&& mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
&& mkdir -p /usr/src/unit \
&& cd /usr/src/unit \
- && hg clone -u 1.31.1-1 https://hg.nginx.org/unit \
+ && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
&& cd unit \
&& NCPU="$(getconf _NPROCESSORS_ONLN)" \
&& DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
@@ -77,7 +77,7 @@ RUN set -ex \
&& apt-get purge -y --auto-remove build-essential \
&& rm -rf /var/lib/apt/lists/* \
&& rm -f /requirements.apt \
- && ln -sf /dev/stdout /var/log/unit.log
+ && ln -sf /dev/stderr /var/log/unit.log
COPY docker-entrypoint.sh /usr/local/bin/
COPY welcome.* /usr/share/unit/welcome/
diff --git a/pkg/docker/Dockerfile.minimal b/pkg/docker/Dockerfile.minimal
index 4b585480..59849ed0 100644
--- a/pkg/docker/Dockerfile.minimal
+++ b/pkg/docker/Dockerfile.minimal
@@ -6,16 +6,16 @@ LABEL org.opencontainers.image.url="https://unit.nginx.org"
LABEL org.opencontainers.image.source="https://github.com/nginx/unit"
LABEL org.opencontainers.image.documentation="https://unit.nginx.org/installation/#docker-images"
LABEL org.opencontainers.image.vendor="NGINX Docker Maintainers <docker-maint@nginx.com>"
-LABEL org.opencontainers.image.version="1.31.1"
+LABEL org.opencontainers.image.version="1.32.0"
RUN set -ex \
&& savedAptMark="$(apt-mark showmanual)" \
&& apt-get update \
- && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates mercurial build-essential libssl-dev libpcre2-dev curl pkg-config \
+ && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates git build-essential libssl-dev libpcre2-dev curl pkg-config \
&& mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
&& mkdir -p /usr/src/unit \
&& cd /usr/src/unit \
- && hg clone -u 1.31.1-1 https://hg.nginx.org/unit \
+ && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
&& cd unit \
&& NCPU="$(getconf _NPROCESSORS_ONLN)" \
&& DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
@@ -77,7 +77,7 @@ RUN set -ex \
&& apt-get purge -y --auto-remove build-essential \
&& rm -rf /var/lib/apt/lists/* \
&& rm -f /requirements.apt \
- && ln -sf /dev/stdout /var/log/unit.log
+ && ln -sf /dev/stderr /var/log/unit.log
COPY docker-entrypoint.sh /usr/local/bin/
COPY welcome.* /usr/share/unit/welcome/
diff --git a/pkg/docker/Dockerfile.node20 b/pkg/docker/Dockerfile.node20
index f783ba72..6174fd62 100644
--- a/pkg/docker/Dockerfile.node20
+++ b/pkg/docker/Dockerfile.node20
@@ -6,16 +6,16 @@ LABEL org.opencontainers.image.url="https://unit.nginx.org"
LABEL org.opencontainers.image.source="https://github.com/nginx/unit"
LABEL org.opencontainers.image.documentation="https://unit.nginx.org/installation/#docker-images"
LABEL org.opencontainers.image.vendor="NGINX Docker Maintainers <docker-maint@nginx.com>"
-LABEL org.opencontainers.image.version="1.31.1"
+LABEL org.opencontainers.image.version="1.32.0"
RUN set -ex \
&& savedAptMark="$(apt-mark showmanual)" \
&& apt-get update \
- && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates mercurial build-essential libssl-dev libpcre2-dev curl pkg-config \
+ && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates git build-essential libssl-dev libpcre2-dev curl pkg-config \
&& mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
&& mkdir -p /usr/src/unit \
&& cd /usr/src/unit \
- && hg clone -u 1.31.1-1 https://hg.nginx.org/unit \
+ && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
&& cd unit \
&& NCPU="$(getconf _NPROCESSORS_ONLN)" \
&& DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
@@ -77,7 +77,7 @@ RUN set -ex \
&& apt-get purge -y --auto-remove build-essential \
&& rm -rf /var/lib/apt/lists/* \
&& rm -f /requirements.apt \
- && ln -sf /dev/stdout /var/log/unit.log
+ && ln -sf /dev/stderr /var/log/unit.log
COPY docker-entrypoint.sh /usr/local/bin/
COPY welcome.* /usr/share/unit/welcome/
diff --git a/pkg/docker/Dockerfile.node18 b/pkg/docker/Dockerfile.node21
index 4ac18847..a2c1e419 100644
--- a/pkg/docker/Dockerfile.node18
+++ b/pkg/docker/Dockerfile.node21
@@ -1,21 +1,21 @@
-FROM node:18-bullseye
+FROM node:21-bullseye
-LABEL org.opencontainers.image.title="Unit (node18)"
+LABEL org.opencontainers.image.title="Unit (node21)"
LABEL org.opencontainers.image.description="Official build of Unit for Docker."
LABEL org.opencontainers.image.url="https://unit.nginx.org"
LABEL org.opencontainers.image.source="https://github.com/nginx/unit"
LABEL org.opencontainers.image.documentation="https://unit.nginx.org/installation/#docker-images"
LABEL org.opencontainers.image.vendor="NGINX Docker Maintainers <docker-maint@nginx.com>"
-LABEL org.opencontainers.image.version="1.31.1"
+LABEL org.opencontainers.image.version="1.32.0"
RUN set -ex \
&& savedAptMark="$(apt-mark showmanual)" \
&& apt-get update \
- && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates mercurial build-essential libssl-dev libpcre2-dev curl pkg-config \
+ && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates git build-essential libssl-dev libpcre2-dev curl pkg-config \
&& mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
&& mkdir -p /usr/src/unit \
&& cd /usr/src/unit \
- && hg clone -u 1.31.1-1 https://hg.nginx.org/unit \
+ && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
&& cd unit \
&& NCPU="$(getconf _NPROCESSORS_ONLN)" \
&& DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
@@ -77,7 +77,7 @@ RUN set -ex \
&& apt-get purge -y --auto-remove build-essential \
&& rm -rf /var/lib/apt/lists/* \
&& rm -f /requirements.apt \
- && ln -sf /dev/stdout /var/log/unit.log
+ && ln -sf /dev/stderr /var/log/unit.log
COPY docker-entrypoint.sh /usr/local/bin/
COPY welcome.* /usr/share/unit/welcome/
diff --git a/pkg/docker/Dockerfile.perl5.36 b/pkg/docker/Dockerfile.perl5.36
index 8cc5d9e2..5d7564c8 100644
--- a/pkg/docker/Dockerfile.perl5.36
+++ b/pkg/docker/Dockerfile.perl5.36
@@ -6,16 +6,16 @@ LABEL org.opencontainers.image.url="https://unit.nginx.org"
LABEL org.opencontainers.image.source="https://github.com/nginx/unit"
LABEL org.opencontainers.image.documentation="https://unit.nginx.org/installation/#docker-images"
LABEL org.opencontainers.image.vendor="NGINX Docker Maintainers <docker-maint@nginx.com>"
-LABEL org.opencontainers.image.version="1.31.1"
+LABEL org.opencontainers.image.version="1.32.0"
RUN set -ex \
&& savedAptMark="$(apt-mark showmanual)" \
&& apt-get update \
- && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates mercurial build-essential libssl-dev libpcre2-dev curl pkg-config \
+ && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates git build-essential libssl-dev libpcre2-dev curl pkg-config \
&& mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
&& mkdir -p /usr/src/unit \
&& cd /usr/src/unit \
- && hg clone -u 1.31.1-1 https://hg.nginx.org/unit \
+ && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
&& cd unit \
&& NCPU="$(getconf _NPROCESSORS_ONLN)" \
&& DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
@@ -77,7 +77,7 @@ RUN set -ex \
&& apt-get purge -y --auto-remove build-essential \
&& rm -rf /var/lib/apt/lists/* \
&& rm -f /requirements.apt \
- && ln -sf /dev/stdout /var/log/unit.log
+ && ln -sf /dev/stderr /var/log/unit.log
COPY docker-entrypoint.sh /usr/local/bin/
COPY welcome.* /usr/share/unit/welcome/
diff --git a/pkg/docker/Dockerfile.perl5.38 b/pkg/docker/Dockerfile.perl5.38
index 531188fe..6af576d1 100644
--- a/pkg/docker/Dockerfile.perl5.38
+++ b/pkg/docker/Dockerfile.perl5.38
@@ -6,16 +6,16 @@ LABEL org.opencontainers.image.url="https://unit.nginx.org"
LABEL org.opencontainers.image.source="https://github.com/nginx/unit"
LABEL org.opencontainers.image.documentation="https://unit.nginx.org/installation/#docker-images"
LABEL org.opencontainers.image.vendor="NGINX Docker Maintainers <docker-maint@nginx.com>"
-LABEL org.opencontainers.image.version="1.31.1"
+LABEL org.opencontainers.image.version="1.32.0"
RUN set -ex \
&& savedAptMark="$(apt-mark showmanual)" \
&& apt-get update \
- && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates mercurial build-essential libssl-dev libpcre2-dev curl pkg-config \
+ && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates git build-essential libssl-dev libpcre2-dev curl pkg-config \
&& mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
&& mkdir -p /usr/src/unit \
&& cd /usr/src/unit \
- && hg clone -u 1.31.1-1 https://hg.nginx.org/unit \
+ && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
&& cd unit \
&& NCPU="$(getconf _NPROCESSORS_ONLN)" \
&& DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
@@ -77,7 +77,7 @@ RUN set -ex \
&& apt-get purge -y --auto-remove build-essential \
&& rm -rf /var/lib/apt/lists/* \
&& rm -f /requirements.apt \
- && ln -sf /dev/stdout /var/log/unit.log
+ && ln -sf /dev/stderr /var/log/unit.log
COPY docker-entrypoint.sh /usr/local/bin/
COPY welcome.* /usr/share/unit/welcome/
diff --git a/pkg/docker/Dockerfile.php8.2 b/pkg/docker/Dockerfile.php8.2
index 5783bf6c..4348cfed 100644
--- a/pkg/docker/Dockerfile.php8.2
+++ b/pkg/docker/Dockerfile.php8.2
@@ -6,16 +6,16 @@ LABEL org.opencontainers.image.url="https://unit.nginx.org"
LABEL org.opencontainers.image.source="https://github.com/nginx/unit"
LABEL org.opencontainers.image.documentation="https://unit.nginx.org/installation/#docker-images"
LABEL org.opencontainers.image.vendor="NGINX Docker Maintainers <docker-maint@nginx.com>"
-LABEL org.opencontainers.image.version="1.31.1"
+LABEL org.opencontainers.image.version="1.32.0"
RUN set -ex \
&& savedAptMark="$(apt-mark showmanual)" \
&& apt-get update \
- && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates mercurial build-essential libssl-dev libpcre2-dev curl pkg-config \
+ && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates git build-essential libssl-dev libpcre2-dev curl pkg-config \
&& mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
&& mkdir -p /usr/src/unit \
&& cd /usr/src/unit \
- && hg clone -u 1.31.1-1 https://hg.nginx.org/unit \
+ && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
&& cd unit \
&& NCPU="$(getconf _NPROCESSORS_ONLN)" \
&& DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
@@ -77,7 +77,7 @@ RUN set -ex \
&& apt-get purge -y --auto-remove build-essential \
&& rm -rf /var/lib/apt/lists/* \
&& rm -f /requirements.apt \
- && ln -sf /dev/stdout /var/log/unit.log
+ && ln -sf /dev/stderr /var/log/unit.log
COPY docker-entrypoint.sh /usr/local/bin/
COPY welcome.* /usr/share/unit/welcome/
diff --git a/pkg/docker/Dockerfile.php8.3 b/pkg/docker/Dockerfile.php8.3
new file mode 100644
index 00000000..31fe2335
--- /dev/null
+++ b/pkg/docker/Dockerfile.php8.3
@@ -0,0 +1,89 @@
+FROM php:8.3-cli-bullseye
+
+LABEL org.opencontainers.image.title="Unit (php8.3)"
+LABEL org.opencontainers.image.description="Official build of Unit for Docker."
+LABEL org.opencontainers.image.url="https://unit.nginx.org"
+LABEL org.opencontainers.image.source="https://github.com/nginx/unit"
+LABEL org.opencontainers.image.documentation="https://unit.nginx.org/installation/#docker-images"
+LABEL org.opencontainers.image.vendor="NGINX Docker Maintainers <docker-maint@nginx.com>"
+LABEL org.opencontainers.image.version="1.32.0"
+
+RUN set -ex \
+ && savedAptMark="$(apt-mark showmanual)" \
+ && apt-get update \
+ && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates git build-essential libssl-dev libpcre2-dev curl pkg-config \
+ && mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
+ && mkdir -p /usr/src/unit \
+ && cd /usr/src/unit \
+ && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
+ && cd unit \
+ && 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)" \
+ && LD_OPT="$(DEB_BUILD_MAINT_OPTIONS="hardening=+all,-pie" DEB_LDFLAGS_MAINT_APPEND="-Wl,--as-needed -pie" dpkg-buildflags --get LDFLAGS)" \
+ && CONFIGURE_ARGS_MODULES="--prefix=/usr \
+ --statedir=/var/lib/unit \
+ --control=unix:/var/run/control.unit.sock \
+ --runstatedir=/var/run \
+ --pid=/var/run/unit.pid \
+ --logdir=/var/log \
+ --log=/var/log/unit.log \
+ --tmpdir=/var/tmp \
+ --user=unit \
+ --group=unit \
+ --openssl \
+ --libdir=/usr/lib/$DEB_HOST_MULTIARCH" \
+ && CONFIGURE_ARGS="$CONFIGURE_ARGS_MODULES \
+ --njs" \
+ && make -j $NCPU -C pkg/contrib .njs \
+ && export PKG_CONFIG_PATH=$(pwd)/pkg/contrib/njs/build \
+ && ./configure $CONFIGURE_ARGS --cc-opt="$CC_OPT" --ld-opt="$LD_OPT" --modulesdir=/usr/lib/unit/debug-modules --debug \
+ && make -j $NCPU unitd \
+ && install -pm755 build/sbin/unitd /usr/sbin/unitd-debug \
+ && make clean \
+ && ./configure $CONFIGURE_ARGS --cc-opt="$CC_OPT" --ld-opt="$LD_OPT" --modulesdir=/usr/lib/unit/modules \
+ && make -j $NCPU unitd \
+ && install -pm755 build/sbin/unitd /usr/sbin/unitd \
+ && make clean \
+ && /bin/true \
+ && ./configure $CONFIGURE_ARGS_MODULES --cc-opt="$CC_OPT" --modulesdir=/usr/lib/unit/debug-modules --debug \
+ && ./configure php \
+ && make -j $NCPU php-install \
+ && make clean \
+ && ./configure $CONFIGURE_ARGS_MODULES --cc-opt="$CC_OPT" --modulesdir=/usr/lib/unit/modules \
+ && ./configure php \
+ && make -j $NCPU php-install \
+ && cd \
+ && rm -rf /usr/src/unit \
+ && for f in /usr/sbin/unitd /usr/lib/unit/modules/*.unit.so; do \
+ ldd $f | awk '/=>/{print $(NF-1)}' | while read n; do dpkg-query -S $n; done | sed 's/^\([^:]\+\):.*$/\1/' | sort | uniq >> /requirements.apt; \
+ done \
+ && apt-mark showmanual | xargs apt-mark auto > /dev/null \
+ && { [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; } \
+ && ldconfig \
+ && mkdir -p /var/lib/unit/ \
+ && mkdir -p /docker-entrypoint.d/ \
+ && groupadd --gid 999 unit \
+ && useradd \
+ --uid 999 \
+ --gid unit \
+ --no-create-home \
+ --home /nonexistent \
+ --comment "unit user" \
+ --shell /bin/false \
+ unit \
+ && apt-get update \
+ && apt-get --no-install-recommends --no-install-suggests -y install curl $(cat /requirements.apt) \
+ && apt-get purge -y --auto-remove build-essential \
+ && rm -rf /var/lib/apt/lists/* \
+ && rm -f /requirements.apt \
+ && ln -sf /dev/stderr /var/log/unit.log
+
+COPY docker-entrypoint.sh /usr/local/bin/
+COPY welcome.* /usr/share/unit/welcome/
+
+STOPSIGNAL SIGTERM
+
+ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
+EXPOSE 80
+CMD ["unitd", "--no-daemon", "--control", "unix:/var/run/control.unit.sock"]
diff --git a/pkg/docker/Dockerfile.python3.11 b/pkg/docker/Dockerfile.python3.11
index b5e81b6c..699fa426 100644
--- a/pkg/docker/Dockerfile.python3.11
+++ b/pkg/docker/Dockerfile.python3.11
@@ -6,16 +6,16 @@ LABEL org.opencontainers.image.url="https://unit.nginx.org"
LABEL org.opencontainers.image.source="https://github.com/nginx/unit"
LABEL org.opencontainers.image.documentation="https://unit.nginx.org/installation/#docker-images"
LABEL org.opencontainers.image.vendor="NGINX Docker Maintainers <docker-maint@nginx.com>"
-LABEL org.opencontainers.image.version="1.31.1"
+LABEL org.opencontainers.image.version="1.32.0"
RUN set -ex \
&& savedAptMark="$(apt-mark showmanual)" \
&& apt-get update \
- && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates mercurial build-essential libssl-dev libpcre2-dev curl pkg-config \
+ && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates git build-essential libssl-dev libpcre2-dev curl pkg-config \
&& mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
&& mkdir -p /usr/src/unit \
&& cd /usr/src/unit \
- && hg clone -u 1.31.1-1 https://hg.nginx.org/unit \
+ && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
&& cd unit \
&& NCPU="$(getconf _NPROCESSORS_ONLN)" \
&& DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
@@ -77,7 +77,7 @@ RUN set -ex \
&& apt-get purge -y --auto-remove build-essential \
&& rm -rf /var/lib/apt/lists/* \
&& rm -f /requirements.apt \
- && ln -sf /dev/stdout /var/log/unit.log
+ && ln -sf /dev/stderr /var/log/unit.log
COPY docker-entrypoint.sh /usr/local/bin/
COPY welcome.* /usr/share/unit/welcome/
diff --git a/pkg/docker/Dockerfile.python3.12 b/pkg/docker/Dockerfile.python3.12
new file mode 100644
index 00000000..d3fb3c01
--- /dev/null
+++ b/pkg/docker/Dockerfile.python3.12
@@ -0,0 +1,89 @@
+FROM python:3.12-bullseye
+
+LABEL org.opencontainers.image.title="Unit (python3.12)"
+LABEL org.opencontainers.image.description="Official build of Unit for Docker."
+LABEL org.opencontainers.image.url="https://unit.nginx.org"
+LABEL org.opencontainers.image.source="https://github.com/nginx/unit"
+LABEL org.opencontainers.image.documentation="https://unit.nginx.org/installation/#docker-images"
+LABEL org.opencontainers.image.vendor="NGINX Docker Maintainers <docker-maint@nginx.com>"
+LABEL org.opencontainers.image.version="1.32.0"
+
+RUN set -ex \
+ && savedAptMark="$(apt-mark showmanual)" \
+ && apt-get update \
+ && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates git build-essential libssl-dev libpcre2-dev curl pkg-config \
+ && mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
+ && mkdir -p /usr/src/unit \
+ && cd /usr/src/unit \
+ && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
+ && cd unit \
+ && 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)" \
+ && LD_OPT="$(DEB_BUILD_MAINT_OPTIONS="hardening=+all,-pie" DEB_LDFLAGS_MAINT_APPEND="-Wl,--as-needed -pie" dpkg-buildflags --get LDFLAGS)" \
+ && CONFIGURE_ARGS_MODULES="--prefix=/usr \
+ --statedir=/var/lib/unit \
+ --control=unix:/var/run/control.unit.sock \
+ --runstatedir=/var/run \
+ --pid=/var/run/unit.pid \
+ --logdir=/var/log \
+ --log=/var/log/unit.log \
+ --tmpdir=/var/tmp \
+ --user=unit \
+ --group=unit \
+ --openssl \
+ --libdir=/usr/lib/$DEB_HOST_MULTIARCH" \
+ && CONFIGURE_ARGS="$CONFIGURE_ARGS_MODULES \
+ --njs" \
+ && make -j $NCPU -C pkg/contrib .njs \
+ && export PKG_CONFIG_PATH=$(pwd)/pkg/contrib/njs/build \
+ && ./configure $CONFIGURE_ARGS --cc-opt="$CC_OPT" --ld-opt="$LD_OPT" --modulesdir=/usr/lib/unit/debug-modules --debug \
+ && make -j $NCPU unitd \
+ && install -pm755 build/sbin/unitd /usr/sbin/unitd-debug \
+ && make clean \
+ && ./configure $CONFIGURE_ARGS --cc-opt="$CC_OPT" --ld-opt="$LD_OPT" --modulesdir=/usr/lib/unit/modules \
+ && make -j $NCPU unitd \
+ && install -pm755 build/sbin/unitd /usr/sbin/unitd \
+ && make clean \
+ && /bin/true \
+ && ./configure $CONFIGURE_ARGS_MODULES --cc-opt="$CC_OPT" --modulesdir=/usr/lib/unit/debug-modules --debug \
+ && ./configure python --config=/usr/local/bin/python3-config \
+ && make -j $NCPU python3-install \
+ && make clean \
+ && ./configure $CONFIGURE_ARGS_MODULES --cc-opt="$CC_OPT" --modulesdir=/usr/lib/unit/modules \
+ && ./configure python --config=/usr/local/bin/python3-config \
+ && make -j $NCPU python3-install \
+ && cd \
+ && rm -rf /usr/src/unit \
+ && for f in /usr/sbin/unitd /usr/lib/unit/modules/*.unit.so; do \
+ ldd $f | awk '/=>/{print $(NF-1)}' | while read n; do dpkg-query -S $n; done | sed 's/^\([^:]\+\):.*$/\1/' | sort | uniq >> /requirements.apt; \
+ done \
+ && apt-mark showmanual | xargs apt-mark auto > /dev/null \
+ && { [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; } \
+ && /bin/true \
+ && mkdir -p /var/lib/unit/ \
+ && mkdir -p /docker-entrypoint.d/ \
+ && groupadd --gid 999 unit \
+ && useradd \
+ --uid 999 \
+ --gid unit \
+ --no-create-home \
+ --home /nonexistent \
+ --comment "unit user" \
+ --shell /bin/false \
+ unit \
+ && apt-get update \
+ && apt-get --no-install-recommends --no-install-suggests -y install curl $(cat /requirements.apt) \
+ && apt-get purge -y --auto-remove build-essential \
+ && rm -rf /var/lib/apt/lists/* \
+ && rm -f /requirements.apt \
+ && ln -sf /dev/stderr /var/log/unit.log
+
+COPY docker-entrypoint.sh /usr/local/bin/
+COPY welcome.* /usr/share/unit/welcome/
+
+STOPSIGNAL SIGTERM
+
+ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
+EXPOSE 80
+CMD ["unitd", "--no-daemon", "--control", "unix:/var/run/control.unit.sock"]
diff --git a/pkg/docker/Dockerfile.ruby3.2 b/pkg/docker/Dockerfile.ruby3.2
index c417a327..b6263e5d 100644
--- a/pkg/docker/Dockerfile.ruby3.2
+++ b/pkg/docker/Dockerfile.ruby3.2
@@ -6,16 +6,16 @@ LABEL org.opencontainers.image.url="https://unit.nginx.org"
LABEL org.opencontainers.image.source="https://github.com/nginx/unit"
LABEL org.opencontainers.image.documentation="https://unit.nginx.org/installation/#docker-images"
LABEL org.opencontainers.image.vendor="NGINX Docker Maintainers <docker-maint@nginx.com>"
-LABEL org.opencontainers.image.version="1.31.1"
+LABEL org.opencontainers.image.version="1.32.0"
RUN set -ex \
&& savedAptMark="$(apt-mark showmanual)" \
&& apt-get update \
- && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates mercurial build-essential libssl-dev libpcre2-dev curl pkg-config \
+ && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates git build-essential libssl-dev libpcre2-dev curl pkg-config \
&& mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
&& mkdir -p /usr/src/unit \
&& cd /usr/src/unit \
- && hg clone -u 1.31.1-1 https://hg.nginx.org/unit \
+ && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
&& cd unit \
&& NCPU="$(getconf _NPROCESSORS_ONLN)" \
&& DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
@@ -77,7 +77,7 @@ RUN set -ex \
&& apt-get purge -y --auto-remove build-essential \
&& rm -rf /var/lib/apt/lists/* \
&& rm -f /requirements.apt \
- && ln -sf /dev/stdout /var/log/unit.log
+ && ln -sf /dev/stderr /var/log/unit.log
COPY docker-entrypoint.sh /usr/local/bin/
COPY welcome.* /usr/share/unit/welcome/
diff --git a/pkg/docker/Dockerfile.ruby3.3 b/pkg/docker/Dockerfile.ruby3.3
new file mode 100644
index 00000000..132bbb9c
--- /dev/null
+++ b/pkg/docker/Dockerfile.ruby3.3
@@ -0,0 +1,89 @@
+FROM ruby:3.3-bullseye
+
+LABEL org.opencontainers.image.title="Unit (ruby3.3)"
+LABEL org.opencontainers.image.description="Official build of Unit for Docker."
+LABEL org.opencontainers.image.url="https://unit.nginx.org"
+LABEL org.opencontainers.image.source="https://github.com/nginx/unit"
+LABEL org.opencontainers.image.documentation="https://unit.nginx.org/installation/#docker-images"
+LABEL org.opencontainers.image.vendor="NGINX Docker Maintainers <docker-maint@nginx.com>"
+LABEL org.opencontainers.image.version="1.32.0"
+
+RUN set -ex \
+ && savedAptMark="$(apt-mark showmanual)" \
+ && apt-get update \
+ && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates git build-essential libssl-dev libpcre2-dev curl pkg-config \
+ && mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
+ && mkdir -p /usr/src/unit \
+ && cd /usr/src/unit \
+ && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
+ && cd unit \
+ && 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)" \
+ && LD_OPT="$(DEB_BUILD_MAINT_OPTIONS="hardening=+all,-pie" DEB_LDFLAGS_MAINT_APPEND="-Wl,--as-needed -pie" dpkg-buildflags --get LDFLAGS)" \
+ && CONFIGURE_ARGS_MODULES="--prefix=/usr \
+ --statedir=/var/lib/unit \
+ --control=unix:/var/run/control.unit.sock \
+ --runstatedir=/var/run \
+ --pid=/var/run/unit.pid \
+ --logdir=/var/log \
+ --log=/var/log/unit.log \
+ --tmpdir=/var/tmp \
+ --user=unit \
+ --group=unit \
+ --openssl \
+ --libdir=/usr/lib/$DEB_HOST_MULTIARCH" \
+ && CONFIGURE_ARGS="$CONFIGURE_ARGS_MODULES \
+ --njs" \
+ && make -j $NCPU -C pkg/contrib .njs \
+ && export PKG_CONFIG_PATH=$(pwd)/pkg/contrib/njs/build \
+ && ./configure $CONFIGURE_ARGS --cc-opt="$CC_OPT" --ld-opt="$LD_OPT" --modulesdir=/usr/lib/unit/debug-modules --debug \
+ && make -j $NCPU unitd \
+ && install -pm755 build/sbin/unitd /usr/sbin/unitd-debug \
+ && make clean \
+ && ./configure $CONFIGURE_ARGS --cc-opt="$CC_OPT" --ld-opt="$LD_OPT" --modulesdir=/usr/lib/unit/modules \
+ && make -j $NCPU unitd \
+ && install -pm755 build/sbin/unitd /usr/sbin/unitd \
+ && make clean \
+ && /bin/true \
+ && ./configure $CONFIGURE_ARGS_MODULES --cc-opt="$CC_OPT" --modulesdir=/usr/lib/unit/debug-modules --debug \
+ && ./configure ruby \
+ && make -j $NCPU ruby-install \
+ && make clean \
+ && ./configure $CONFIGURE_ARGS_MODULES --cc-opt="$CC_OPT" --modulesdir=/usr/lib/unit/modules \
+ && ./configure ruby \
+ && make -j $NCPU ruby-install \
+ && cd \
+ && rm -rf /usr/src/unit \
+ && for f in /usr/sbin/unitd /usr/lib/unit/modules/*.unit.so; do \
+ ldd $f | awk '/=>/{print $(NF-1)}' | while read n; do dpkg-query -S $n; done | sed 's/^\([^:]\+\):.*$/\1/' | sort | uniq >> /requirements.apt; \
+ done \
+ && apt-mark showmanual | xargs apt-mark auto > /dev/null \
+ && { [ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; } \
+ && gem install rack && rm -rf /root/.local \
+ && mkdir -p /var/lib/unit/ \
+ && mkdir -p /docker-entrypoint.d/ \
+ && groupadd --gid 999 unit \
+ && useradd \
+ --uid 999 \
+ --gid unit \
+ --no-create-home \
+ --home /nonexistent \
+ --comment "unit user" \
+ --shell /bin/false \
+ unit \
+ && apt-get update \
+ && apt-get --no-install-recommends --no-install-suggests -y install curl $(cat /requirements.apt) \
+ && apt-get purge -y --auto-remove build-essential \
+ && rm -rf /var/lib/apt/lists/* \
+ && rm -f /requirements.apt \
+ && ln -sf /dev/stderr /var/log/unit.log
+
+COPY docker-entrypoint.sh /usr/local/bin/
+COPY welcome.* /usr/share/unit/welcome/
+
+STOPSIGNAL SIGTERM
+
+ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"]
+EXPOSE 80
+CMD ["unitd", "--no-daemon", "--control", "unix:/var/run/control.unit.sock"]
diff --git a/pkg/docker/Dockerfile.wasm b/pkg/docker/Dockerfile.wasm
index e45f020f..7c107b4c 100644
--- a/pkg/docker/Dockerfile.wasm
+++ b/pkg/docker/Dockerfile.wasm
@@ -6,16 +6,16 @@ LABEL org.opencontainers.image.url="https://unit.nginx.org"
LABEL org.opencontainers.image.source="https://github.com/nginx/unit"
LABEL org.opencontainers.image.documentation="https://unit.nginx.org/installation/#docker-images"
LABEL org.opencontainers.image.vendor="NGINX Docker Maintainers <docker-maint@nginx.com>"
-LABEL org.opencontainers.image.version="1.31.1"
+LABEL org.opencontainers.image.version="1.32.0"
RUN set -ex \
&& savedAptMark="$(apt-mark showmanual)" \
&& apt-get update \
- && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates mercurial build-essential libssl-dev libpcre2-dev curl pkg-config \
+ && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates git build-essential libssl-dev libpcre2-dev curl pkg-config \
&& mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
&& mkdir -p /usr/src/unit \
&& cd /usr/src/unit \
- && hg clone -u 1.31.1-1 https://hg.nginx.org/unit \
+ && git clone --depth 1 -b 1.32.0-1 https://github.com/nginx/unit \
&& cd unit \
&& NCPU="$(getconf _NPROCESSORS_ONLN)" \
&& DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
@@ -45,7 +45,8 @@ RUN set -ex \
&& make -j $NCPU unitd \
&& install -pm755 build/sbin/unitd /usr/sbin/unitd \
&& make clean \
- && export RUST_VERSION=1.71.0 \
+ && apt-get install --no-install-recommends --no-install-suggests -y libclang-dev \
+ && export RUST_VERSION=1.76.0 \
&& export RUSTUP_HOME=/usr/src/unit/rustup \
&& export CARGO_HOME=/usr/src/unit/cargo \
&& export PATH=/usr/src/unit/cargo/bin:$PATH \
@@ -67,12 +68,12 @@ RUN set -ex \
&& make -C pkg/contrib .wasmtime \
&& install -pm 755 pkg/contrib/wasmtime/target/release/libwasmtime.so /usr/lib/$(dpkg-architecture -q DEB_HOST_MULTIARCH)/ \
&& ./configure $CONFIGURE_ARGS_MODULES --cc-opt="$CC_OPT" --modulesdir=/usr/lib/unit/debug-modules --debug \
- && ./configure wasm --include-path=`pwd`/pkg/contrib/wasmtime/crates/c-api/include --lib-path=/usr/lib/$(dpkg-architecture -q DEB_HOST_MULTIARCH)/ \
- && make -j $NCPU wasm-install \
+ && ./configure wasm --include-path=`pwd`/pkg/contrib/wasmtime/crates/c-api/include --lib-path=/usr/lib/$(dpkg-architecture -q DEB_HOST_MULTIARCH)/ && ./configure wasm-wasi-component \
+ && make -j $NCPU wasm-install wasm-wasi-component-install \
&& make clean \
&& ./configure $CONFIGURE_ARGS_MODULES --cc-opt="$CC_OPT" --modulesdir=/usr/lib/unit/modules \
- && ./configure wasm --include-path=`pwd`/pkg/contrib/wasmtime/crates/c-api/include --lib-path=/usr/lib/$(dpkg-architecture -q DEB_HOST_MULTIARCH)/ \
- && make -j $NCPU wasm-install \
+ && ./configure wasm --include-path=`pwd`/pkg/contrib/wasmtime/crates/c-api/include --lib-path=/usr/lib/$(dpkg-architecture -q DEB_HOST_MULTIARCH)/ && ./configure wasm-wasi-component \
+ && make -j $NCPU wasm-install wasm-wasi-component-install \
&& cd \
&& rm -rf /usr/src/unit \
&& for f in /usr/sbin/unitd /usr/lib/unit/modules/*.unit.so; do \
@@ -97,7 +98,7 @@ RUN set -ex \
&& apt-get purge -y --auto-remove build-essential \
&& rm -rf /var/lib/apt/lists/* \
&& rm -f /requirements.apt \
- && ln -sf /dev/stdout /var/log/unit.log
+ && ln -sf /dev/stderr /var/log/unit.log
COPY docker-entrypoint.sh /usr/local/bin/
COPY welcome.* /usr/share/unit/welcome/
diff --git a/pkg/docker/Makefile b/pkg/docker/Makefile
index 237228a9..d8c53021 100644
--- a/pkg/docker/Makefile
+++ b/pkg/docker/Makefile
@@ -19,7 +19,7 @@ INSTALL_minimal ?= version
RUN_minimal ?= /bin/true
MODULE_PREBUILD_minimal ?= /bin/true
-VERSIONS_go ?= 1.20 1.21
+VERSIONS_go ?= 1.21 1.22
VARIANT_go ?= $(VARIANT)
$(foreach goversion, $(VERSIONS_go), $(eval CONTAINER_go$(goversion) = golang:$(goversion)-$(VARIANT_go)))
CONFIGURE_go ?= go --go-path=$$GOPATH
@@ -35,7 +35,7 @@ INSTALL_jsc ?= java-shared-install java-install
RUN_jsc ?= rm -rf /root/.m2
MODULE_PREBUILD_jsc ?= /bin/true
-VERSIONS_node ?= 18 20
+VERSIONS_node ?= 20 21
VARIANT_node ?= $(VARIANT)
$(foreach nodeversion, $(VERSIONS_node), $(eval CONTAINER_node$(nodeversion) = node:$(nodeversion)-$(VARIANT_node)))
CONFIGURE_node ?= nodejs --node-gyp=/usr/local/bin/node-gyp
@@ -51,7 +51,7 @@ INSTALL_perl ?= perl-install
RUN_perl ?= /bin/true
MODULE_PREBUILD_perl ?= /bin/true
-VERSIONS_php ?= 8.2
+VERSIONS_php ?= 8.2 8.3
VARIANT_php ?= cli-$(VARIANT)
$(foreach phpversion, $(VERSIONS_php), $(eval CONTAINER_php$(phpversion) = php:$(phpversion)-$(VARIANT_php)))
CONFIGURE_php ?= php
@@ -59,7 +59,7 @@ INSTALL_php ?= php-install
RUN_php ?= ldconfig
MODULE_PREBUILD_php ?= /bin/true
-VERSIONS_python ?= 3.11
+VERSIONS_python ?= 3.11 3.12
VARIANT_python ?= $(VARIANT)
$(foreach pythonversion, $(VERSIONS_python), $(eval CONTAINER_python$(pythonversion) = python:$(pythonversion)-$(VARIANT_python)))
CONFIGURE_python ?= python --config=/usr/local/bin/python3-config
@@ -67,7 +67,7 @@ INSTALL_python ?= python3-install
RUN_python ?= /bin/true
MODULE_PREBUILD_python ?= /bin/true
-VERSIONS_ruby ?= 3.2
+VERSIONS_ruby ?= 3.2 3.3
VARIANT_ruby ?= $(VARIANT)
$(foreach rubyversion, $(VERSIONS_ruby), $(eval CONTAINER_ruby$(rubyversion) = ruby:$(rubyversion)-$(VARIANT_ruby)))
CONFIGURE_ruby ?= ruby
@@ -77,11 +77,13 @@ MODULE_PREBUILD_ruby ?= /bin/true
VERSIONS_wasm ?=
CONTAINER_wasm ?= debian:$(VARIANT)-slim
-CONFIGURE_wasm ?= wasm --include-path=\`pwd\`/pkg/contrib/wasmtime/crates/c-api/include --lib-path=/usr/lib/\$$(dpkg-architecture -q DEB_HOST_MULTIARCH)/
-INSTALL_wasm ?= wasm-install
-RUN_wasm ?= /bin/true
+CONFIGURE_wasm ?= wasm --include-path=\`pwd\`/pkg/contrib/wasmtime/crates/c-api/include --lib-path=/usr/lib/\$$(dpkg-architecture -q DEB_HOST_MULTIARCH)/ \&\& ./configure wasm-wasi-component
+INSTALL_wasm ?= wasm-install wasm-wasi-component-install
+RUN_wasm ?= /bin/true
+
define MODULE_PREBUILD_wasm
-export RUST_VERSION=1.71.0 \\\n \
+apt-get install --no-install-recommends --no-install-suggests -y libclang-dev \\\n \
+\ \ \ \&\& export RUST_VERSION=1.76.0 \\\n \
\ \ \ \&\& export RUSTUP_HOME=/usr/src/unit/rustup \\\n \
\ \ \ \&\& export CARGO_HOME=/usr/src/unit/cargo \\\n \
\ \ \ \&\& export PATH=/usr/src/unit/cargo/bin:\$$PATH \\\n \
diff --git a/pkg/docker/template.Dockerfile b/pkg/docker/template.Dockerfile
index 4d5cc101..edf9ba75 100644
--- a/pkg/docker/template.Dockerfile
+++ b/pkg/docker/template.Dockerfile
@@ -11,11 +11,11 @@ LABEL org.opencontainers.image.version="@@VERSION@@"
RUN set -ex \
&& savedAptMark="$(apt-mark showmanual)" \
&& apt-get update \
- && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates mercurial build-essential libssl-dev libpcre2-dev curl pkg-config \
+ && apt-get install --no-install-recommends --no-install-suggests -y ca-certificates git build-essential libssl-dev libpcre2-dev curl pkg-config \
&& mkdir -p /usr/lib/unit/modules /usr/lib/unit/debug-modules \
&& mkdir -p /usr/src/unit \
&& cd /usr/src/unit \
- && hg clone -u @@VERSION@@-@@PATCHLEVEL@@ https://hg.nginx.org/unit \
+ && git clone --depth 1 -b @@VERSION@@-@@PATCHLEVEL@@ https://github.com/nginx/unit \
&& cd unit \
&& NCPU="$(getconf _NPROCESSORS_ONLN)" \
&& DEB_HOST_MULTIARCH="$(dpkg-architecture -q DEB_HOST_MULTIARCH)" \
@@ -77,7 +77,7 @@ RUN set -ex \
&& apt-get purge -y --auto-remove build-essential \
&& rm -rf /var/lib/apt/lists/* \
&& rm -f /requirements.apt \
- && ln -sf /dev/stdout /var/log/unit.log
+ && ln -sf /dev/stderr /var/log/unit.log
COPY docker-entrypoint.sh /usr/local/bin/
COPY welcome.* /usr/share/unit/welcome/
diff --git a/pkg/docker/welcome.html b/pkg/docker/welcome.html
index 89de39e1..7167ddb7 100644
--- a/pkg/docker/welcome.html
+++ b/pkg/docker/welcome.html
@@ -40,6 +40,6 @@
<hr>
<p><a href="https://unit.nginx.org/?referer=welcome&platform=docker">NGINX Unit &mdash; the universal web app server</a><br>
- NGINX, Inc. &copy; 2023</p>
+ NGINX, Inc. &copy; 2024</p>
</body>
</html>
diff --git a/pkg/rpm/Makefile b/pkg/rpm/Makefile
index 355f8a59..1f3bbd58 100644
--- a/pkg/rpm/Makefile
+++ b/pkg/rpm/Makefile
@@ -22,8 +22,10 @@ else ifeq ($(shell rpm --eval "%{?amzn}"), 2023)
OSVER = amazonlinux2023
else ifeq ($(shell test `rpm --eval '0%{?fedora} -ge 35 -a 0%{?fedora} -le 36'`; echo $$?),0)
OSVER = fedora
-else ifeq ($(shell test `rpm --eval '0%{?fedora} -ge 37'`; echo $$?),0)
+else ifeq ($(shell test `rpm --eval '0%{?fedora} -ge 37 -a 0%{?fedora} -le 38'`; echo $$?),0)
OSVER = fedora37
+else ifeq ($(shell test `rpm --eval '0%{?fedora} -ge 39'`; echo $$?),0)
+OSVER = fedora39
endif
BUILD_DEPENDS_unit = gcc rpm-build rpmlint
@@ -124,6 +126,18 @@ include Makefile.jsc11
include Makefile.wasm
endif
+ifeq ($(OSVER), fedora39)
+include Makefile.php
+include Makefile.python312
+include Makefile.go
+include Makefile.perl
+include Makefile.ruby
+include Makefile.jsc-common
+include Makefile.jsc17
+include Makefile.wasm
+endif
+
+
CONFIGURE_ARGS_COMMON=\
--prefix=/usr \
--statedir=%{_sharedstatedir}/unit \
@@ -254,7 +268,7 @@ rpmbuild/SPECS/unit-%.spec: unit.module.spec.in ../../docs/changes.xml | rpmbuil
cat ../../build/unit-$(MODULE_SUFFIX_$*).rpm-changelog | sed -e \
"s/> - $(DEFAULT_VERSION)-$(DEFAULT_RELEASE)/> - $(MODULE_VERSION_$*)-$(MODULE_RELEASE_$*)/" \
>> $@.tmp
- mv $@.tmp $@
+ mv $@.tmp $@
unit-%: check-build-depends-% rpmbuild/SPECS/unit-%.spec rpmbuild/SOURCES/unit-$(VERSION).tar.gz
@echo "===> Building $(subst _,-,$@) package" ; \
diff --git a/pkg/rpm/Makefile.jsc-common b/pkg/rpm/Makefile.jsc-common
index a3c3a3da..f77ca1e9 100644
--- a/pkg/rpm/Makefile.jsc-common
+++ b/pkg/rpm/Makefile.jsc-common
@@ -10,16 +10,19 @@ JAVA_ARCH_jsc_common= $(shell /usr/lib/jvm/java-1.8.0/bin/java -XshowSettings 2>
ifeq ($(OSVER),amazonlinux2023)
MODULE_CONFARGS_jsc_common= java --home=/usr/lib/jvm/java-17-amazon-corretto --lib-path=/usr/lib/jvm/java-17-amazon-corretto/lib --jars=/usr/share/unit-jsc-common/
+else ifeq ($(OSVER),fedora39)
+MODULE_CONFARGS_jsc_common= java --home=/usr/lib/jvm/java-17-openjdk --lib-path=/usr/lib/jvm/java-17-openjdk/lib --jars=/usr/share/unit-jsc-common/
else
MODULE_CONFARGS_jsc_common= java --home=/usr/lib/jvm/java-1.8.0 --lib-path=/usr/lib/jvm/jre-1.8.0/lib/$(JAVA_ARCH_jsc_common) --jars=/usr/share/unit-jsc-common/
endif
-MODULE_MAKEARGS_jsc_common= java
MODULE_INSTARGS_jsc_common= java-shared-install
MODULE_SOURCES_jsc_common= COPYRIGHT.unit-jsc-common
ifeq ($(OSVER),amazonlinux2023)
BUILD_DEPENDS_jsc_common= java-17-amazon-corretto-devel curl
+else ifeq ($(OSVER),fedora39)
+BUILD_DEPENDS_jsc_common= java-17-openjdk-devel curl
else
BUILD_DEPENDS_jsc_common= java-1.8.0-openjdk-devel curl
endif
diff --git a/pkg/rpm/Makefile.jsc17 b/pkg/rpm/Makefile.jsc17
index 7efdafaa..9a42c5a1 100644
--- a/pkg/rpm/Makefile.jsc17
+++ b/pkg/rpm/Makefile.jsc17
@@ -6,19 +6,32 @@ MODULE_SUMMARY_jsc17= Java 17 module for NGINX Unit
MODULE_VERSION_jsc17= $(VERSION)
MODULE_RELEASE_jsc17= 1
+ifeq ($(OSVER),amazonlinux2023)
MODULE_CONFARGS_jsc17= java --module=java17 --home=/usr/lib/jvm/java-17-amazon-corretto --lib-path=/usr/lib/jvm/java-17-amazon-corretto/lib --jars=/usr/share/unit-jsc-common/
+else ifeq ($(OSVER),fedora39)
+MODULE_CONFARGS_jsc17= java --module=java17 --home=/usr/lib/jvm/java-17-openjdk --lib-path=/usr/lib/jvm/java-17-openjdk/lib --jars=/usr/share/unit-jsc-common/
+endif
MODULE_MAKEARGS_jsc17= java17
MODULE_INSTARGS_jsc17= java17-install
MODULE_SOURCES_jsc17= unit.example-jsc-app \
unit.example-jsc17-config
+ifeq ($(OSVER),amazonlinux2023)
BUILD_DEPENDS_jsc17= java-17-amazon-corretto-devel
+else ifeq ($(OSVER),fedora39)
+BUILD_DEPENDS_jsc17= java-17-openjdk-devel
BUILD_DEPENDS+= $(BUILD_DEPENDS_jsc17)
+endif
define MODULE_DEFINITIONS_jsc17
Requires: unit-jsc-common == $(MODULE_VERSION_jsc_common)-$(MODULE_RELEASE_jsc_common)%{?dist}.ngx
+%if (0%{?amzn} == 2023)
Requires: java-17-amazon-corretto-headless
+%endif
+%if (0%{?fedora} >= 39)
+Requires: java-17-openjdk-headless
+%endif
endef
export MODULE_DEFINITIONS_jsc17
diff --git a/pkg/rpm/Makefile.python312 b/pkg/rpm/Makefile.python312
new file mode 100644
index 00000000..c37069eb
--- /dev/null
+++ b/pkg/rpm/Makefile.python312
@@ -0,0 +1,53 @@
+MODULES+= python312
+MODULE_SUFFIX_python312= python3.12
+
+MODULE_SUMMARY_python312= Python 3.12 module for NGINX Unit
+
+MODULE_VERSION_python312= $(VERSION)
+MODULE_RELEASE_python312= 1
+
+MODULE_CONFARGS_python312= python --config=python3.12-config
+MODULE_MAKEARGS_python312= python3.12
+MODULE_INSTARGS_python312= python3.12-install
+
+MODULE_SOURCES_python312= unit.example-python-app \
+ unit.example-python312-config
+
+BUILD_DEPENDS_python312= python3-devel
+
+BUILD_DEPENDS+= $(BUILD_DEPENDS_python312)
+
+define MODULE_PREINSTALL_python312
+%{__mkdir} -p %{buildroot}%{_datadir}/doc/unit-python312/examples/python-app
+%{__install} -m 644 -p %{SOURCE100} \
+ %{buildroot}%{_datadir}/doc/unit-python312/examples/python-app/wsgi.py
+%{__install} -m 644 -p %{SOURCE101} \
+ %{buildroot}%{_datadir}/doc/unit-python312/examples/unit.config
+endef
+export MODULE_PREINSTALL_python312
+
+define MODULE_FILES_python312
+%{_libdir}/unit/modules/*
+%{_libdir}/unit/debug-modules/*
+endef
+export MODULE_FILES_python312
+
+define MODULE_POST_python312
+cat <<BANNER
+----------------------------------------------------------------------
+
+The $(MODULE_SUMMARY_python312) 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_python312
diff --git a/pkg/rpm/Makefile.wasm b/pkg/rpm/Makefile.wasm
index c638071b..cb2ad35a 100644
--- a/pkg/rpm/Makefile.wasm
+++ b/pkg/rpm/Makefile.wasm
@@ -6,9 +6,9 @@ MODULE_SUMMARY_wasm= WASM module for NGINX Unit
MODULE_VERSION_wasm= $(VERSION)
MODULE_RELEASE_wasm= 1
-MODULE_CONFARGS_wasm= wasm --include-path=\`pwd\`/pkg/contrib/wasmtime/crates/c-api/include --lib-path=\`pwd\`/pkg/contrib/wasmtime/target/release
-MODULE_MAKEARGS_wasm= wasm
-MODULE_INSTARGS_wasm= wasm-install
+MODULE_CONFARGS_wasm= wasm --include-path=\`pwd\`/pkg/contrib/wasmtime/crates/c-api/include --lib-path=\`pwd\`/pkg/contrib/wasmtime/target/release \&\& ./configure wasm-wasi-component
+MODULE_MAKEARGS_wasm= wasm wasm-wasi-component CFLAGS=\"\$$(grep ^CFLAGS build/Makefile | cut -d' ' -f 3-) -Wno-missing-prototypes\"
+MODULE_INSTARGS_wasm= wasm-install wasm-wasi-component-install
MODULE_SOURCES_wasm=
diff --git a/pkg/rpm/rpmbuild/SOURCES/COPYRIGHT.unit-jsc11 b/pkg/rpm/rpmbuild/SOURCES/COPYRIGHT.unit-jsc11
index 4505b5b5..e6372b97 100644
--- a/pkg/rpm/rpmbuild/SOURCES/COPYRIGHT.unit-jsc11
+++ b/pkg/rpm/rpmbuild/SOURCES/COPYRIGHT.unit-jsc11
@@ -1,13 +1,19 @@
NGINX Unit.
- Copyright 2017-2023 NGINX, Inc.
- Copyright 2017-2023 Andrei Zeliankou
- Copyright 2018-2023 Konstantin Pavlov
- Copyright 2021-2023 Zhidao Hong
+ Copyright 2017-2024 NGINX, Inc.
+ Copyright 2017-2024 Andrei Zeliankou
+ Copyright 2018-2024 Konstantin Pavlov
+ Copyright 2021-2024 Zhidao Hong
+ Copyright 2022-2024 Andrew Clayton
+ Copyright 2022-2024 Liam Crilly
+ Copyright 2023-2024 Dan Callahan
+ Copyright 2023-2024 Danielle De Leo
+ Copyright 2023-2024 Dylan Arbour
+ Copyright 2023-2024 Gabor Javorszky
+ Copyright 2023-2024 Igor Ippolitov
+ Copyright 2023-2024 Taryn Musgrave
Copyright 2021-2023 Alejandro Colomar
- Copyright 2022-2023 Andrew Clayton
- Copyright 2022-2023 Liam Crilly
Copyright 2017-2022 Valentin V. Bartenev
Copyright 2017-2022 Max Romanov
Copyright 2021-2022 Oisín Canty
diff --git a/pkg/rpm/rpmbuild/SOURCES/COPYRIGHT.unit-jsc8 b/pkg/rpm/rpmbuild/SOURCES/COPYRIGHT.unit-jsc8
index 59891951..174f2309 100644
--- a/pkg/rpm/rpmbuild/SOURCES/COPYRIGHT.unit-jsc8
+++ b/pkg/rpm/rpmbuild/SOURCES/COPYRIGHT.unit-jsc8
@@ -1,13 +1,19 @@
NGINX Unit.
- Copyright 2017-2023 NGINX, Inc.
- Copyright 2017-2023 Andrei Zeliankou
- Copyright 2018-2023 Konstantin Pavlov
- Copyright 2021-2023 Zhidao Hong
+ Copyright 2017-2024 NGINX, Inc.
+ Copyright 2017-2024 Andrei Zeliankou
+ Copyright 2018-2024 Konstantin Pavlov
+ Copyright 2021-2024 Zhidao Hong
+ Copyright 2022-2024 Andrew Clayton
+ Copyright 2022-2024 Liam Crilly
+ Copyright 2023-2024 Dan Callahan
+ Copyright 2023-2024 Danielle De Leo
+ Copyright 2023-2024 Dylan Arbour
+ Copyright 2023-2024 Gabor Javorszky
+ Copyright 2023-2024 Igor Ippolitov
+ Copyright 2023-2024 Taryn Musgrave
Copyright 2021-2023 Alejandro Colomar
- Copyright 2022-2023 Andrew Clayton
- Copyright 2022-2023 Liam Crilly
Copyright 2017-2022 Valentin V. Bartenev
Copyright 2017-2022 Max Romanov
Copyright 2021-2022 Oisín Canty
diff --git a/pkg/rpm/rpmbuild/SOURCES/unit.example-python312-config b/pkg/rpm/rpmbuild/SOURCES/unit.example-python312-config
new file mode 100644
index 00000000..1de2eba6
--- /dev/null
+++ b/pkg/rpm/rpmbuild/SOURCES/unit.example-python312-config
@@ -0,0 +1,16 @@
+{
+ "applications": {
+ "example_python": {
+ "type": "python 3.12",
+ "processes": 2,
+ "path": "/usr/share/doc/unit-python312/examples/python-app",
+ "module": "wsgi"
+ }
+ },
+
+ "listeners": {
+ "*:8400": {
+ "pass": "applications/example_python"
+ }
+ }
+}